Tilde.run: トランザクショナルファイルシステムをAIエージェントのサンドボックスへ導入
自律的なAIエージェントを本番環境にデプロイすることは、長らく根本的な恐怖、すなわち「rogue agent」シナリオによって阻まれてきました。重要なデータの誤削除、許可されていないネットワーク呼び出し、あるいはプロンプトインジェクション攻撃によるデータ流出など、LLMにファイルシステムへの書き込み権限を与えることに伴うリスクは重大です。
Tilde.runは、すべてのエージェント実行をデータベースのようなトランザクションとして扱うことでこの問題を解決しようとします。分離されたコンピュートとバージョン管理されたコンポーザブルなファイルシステムを組み合わせることで、Tildeは開発者がエージェントに実データを自由に操作させつつ、確実なリカバリーパスを維持できるようにします。
コアアーキテクチャ: コンポーザブルかつバージョン管理
Tildeの中心には Versioned Composable Filesystem が存在します。従来のサンドボックスが空の状態や単純なボリュームマウントを提供するのとは異なり、Tildeはユーザーが異なるデータソース—GitHubリポジトリ、AWS S3バケット、Google Driveドキュメント—を単一の統合された ~/sandbox ディレクトリにマウントできるようにします。
これは単なるマウントの集合ではなく、バージョン管理されたレイヤーです。すべてのファイルは最初のコミットからバージョン管理され、任意のエージェント実行は即座にロールバック可能です。このアプローチは lakeFS の基盤を活用し、大規模データレイクで使用されるデータバージョン管理機能を提供しますが、AIエージェントの高速かつ反復的な性質に合わせて再構築されています。
トランザクショナル実行
Tildeは各エージェント実行をトランザクションとして扱います。エージェントが新しい分離コンテナ内で起動されると:
- ステージング: すべてのファイル書き込みはステージされます。エージェントは実際のPOSIXファイルシステムとやり取りするため、特定のSDKを必要とせずに任意のツールや言語を使用できます。
- アトミックコミット: 正常に終了した場合、変更はアトミックにコミットされます。
- ロールバック: エージェントが失敗したり望ましくない結果を出した場合、実行全体が破棄されます。手動でのクリーンアップやバックアップ復元は不要です。
セキュリティとガバナンス
ファイルシステムを超えて、Tildeは自律エージェントの最も一般的な失敗モードを防止するための多層的なセキュリティ戦略を実装しています。
ネットワーク分離
データ流出や認証情報の悪用を防ぐため、Tildeはデフォルトでクラウドメタデータサービス、プライベートネットワーク、許可されていないホストをブロックします。すべてのアウトバウンドリクエストはポリシーでチェックされ、ログに記録されるため、管理者はどのAPI呼び出しが許可または拒否されたかを正確に把握できます(例: api.openai.com を許可し、evil-exfil.io をブロック)。
エージェント優先のRBAC
Tildeは、エージェントを第一級の存在として扱う細粒度のロールベースアクセス制御(RBAC)システムを導入します。エージェントは起動したユーザーの全権限を継承するのではなく、可読なDSLを通じてスコープされた権限が割り当てられます。例えば、分析エージェントにはCSVへの READ アクセスとレポートへの WRITE アクセスが付与され、機密キーへのアクセスは明示的に DENY され、いくつかの操作は人間の承認ゲートが必要となります。
技術的議論とコミュニティのフィードバック
Tildeの発表は、開発者コミュニティの間でこのようなシステムの必要性と実装について大きな議論を呼び起こしました。
「標準ツール」論争
一部の批評家は、Tildeが提供する機能は標準的なLinuxツールで再現できると主張しています。あるユーザーは、これらの保護機能の多くはLinux VMと chattr を使用してフォルダを読み取り専用に設定することで実装できると指摘しました。また、S3やGitはすでにバージョン管理を提供しているため、統合レイヤーの付加価値に疑問を呈する声もありました。
状態管理の課題
繰り返し指摘される争点は、ファイルシステムレベルのバージョン管理の限界です。Tildeはファイルの変更はロールバックできますが、外部API呼び出しやリモートデータベースの変更はロールバックできません。あるコメント者は次のように述べています:
エージェントが状態を変化させていなければ、変更はチェックインできます。外部の状態を変化させる場合、バージョン管理は助けになりません。
永続性 vs. 一時性
エージェントワークフローにおいて永続的な状態への明確な需要があります。開発者の中には、エージェントが複数のセッションにわたって一貫した永続ストレージを持つ「コンピュータ」を必要とするという声があり、単なるトランザクション実行だけでは不十分だと述べています。これは、絶対的な安全性(一時的なトランザクション)への欲求と、人間のような永続性(ステートフル環境)への欲求との間の緊張を浮き彫りにしています。
機能概要
| 機能 | Tilde のアプローチ |
|---|---|
| ファイルシステム | コンポーザブル(GitHub、S3、Drive)でバージョン管理 |
| 実行 | アトミックなコミット/ロールバックを備えた分離コンテナ |
| ネットワーク | アウトバウンド呼び出しを監査するデフォルト拒否ポリシー |
| 権限 | 人間の介入承認を伴うエージェント固有のRBAC |
| 監査 | 特定のエージェント/人間に紐づく変更の完全なタイムライン |