TaskGoblin はクラウドエージェントです。つまり、最も重要な問い — 私のコードはどこで動くのか? — の答えはただ一つ:隔離されたクラウドサンドボックスの中であり、誰かのノートPCの上ではありません。このページでは、そのサンドボックスとは何か、なぜ隔離されているのか、そしてチームが大きくなっても隔離が保たれる仕組みを説明します。
サンドボックスとは
サンドボックスとは、あなたのリポジトリのチェックアウトを持つ、クラウド上の隔離されたコンテナです。タスクを任せると、エージェントはそのコンテナの内側で動きます — そこでファイルを読み書きし、コマンドを実行し、リポジトリを調べます。あなたのマシンにはアクセスせず、マシンの電源が入っているかどうかにも依存しません。
サンドボックスがクラウドにあるため、作業は本質的に非同期です:タスクを割り当てて離れれば、あなたが見ていようといまいと、エージェントは働き続けます。
隔離:組織ごとに一つの境界
各組織の作業は、その組織自身のサンドボックスの中で実行されます。この境界こそが TaskGoblin のデータ分離の中核です — ある組織が別の組織のコード、リポジトリ、実行履歴を読むことも書くこともできません。エージェントが見られるのは、あなたが明示的に接続したワークスペース、リポジトリ、プロジェクトだけ。接続を解除すれば、その場でアクセス権を失います。
永続性:タスクだけでなく、環境も覚えている
サンドボックスは永続的で、同じスレッドのメッセージ間で再利用されます。同じイシューへのフォローアップは、すでにリポジトリがクローンされ、前回の実行の状態が残っている環境に着地します — だからエージェントは毎回空の箱から始めるのではなく、すばやく再開できます。タスクの反復が繰り返し作業ではなく地続きに感じられるのは、このためです。(その連続性がどのように判断を実行間で引き継ぐかは、エージェントの仕組みのスレッドと引き継ぎメモリの節をご覧ください。)
シークレットはエージェントの外に留まる
エージェントがあなたの認証情報を見ることはありません。サンドボックス内の git アクセスは実行時に組織ごとに払い出され — GitLab の OAuth トークン、あるいは新たに発行された GitHub のインストールトークン — エージェントに読ませるものとして手渡すのではなく、エージェントの周囲の環境に注入されます。エージェントはクローンやプッシュに必要なアクセスを使うことはできますが、あなたのシークレットがその記録やコンテキストに入ることは決してありません。
これは副作用ではなく、意図して引かれた境界です:認証情報はサンドボックス内の git ツールからは利用できますが、エージェントが読んだり推論したりする材料の一部になることは決してありません。
カスタムサンドボックス
チームプランでは、カスタムサンドボックスを持ち込めます — プロジェクトのビルドとテストに必要なツールチェーン、システムパッケージ、サービスをあらかじめ組み込んだコンテナイメージです。エージェントの作業が素のチェックアウト以上のもの(特定のランタイム、データベース、社内ビルドツール)に依存する場合、カスタムサンドボックスならタスク開始の瞬間に環境が整っており、エージェントの変更を現実に近い構成で検証できます。
セルフホスト型サンドボックス
コンプライアンスやデータ所在地の要件を持つチームは、自社のインフラ上でサンドボックスを動かせます。コントロールプレーンは引き続き作業をスケジュールし駆動しますが、あなたのコードがチェックアウトされ実行されるコンテナはあなたの環境の中にあります — したがってソース、ビルド成果物、実行状態が、あなたの管理する境界の外に出ることはありません。「クラウドで」があなたのクラウドを意味しなければならないときに選ぶ選択肢です。
次に読むもの
- エージェントの仕組み — トリガーからマージリクエストまでの全体の流れ、スレッド、引き継ぎメモリ。
- エージェントにタスクを割り当てる — 実行を開始するすべての方法と、並列作業がタスクごとに一つのサンドボックスを使う仕組み。
- Loops — 同じサンドボックスモデルを一定のリズムで使う繰り返し実行。