SPACEの構築:長時間稼働エージェントのための安全で効率的なランタイム

SPACEはPerplexityの安全で効率的なサンドボックスプラットフォームであり、長時間稼働するエージェント型ワークフローと、高速で隔離されたコード実行を強力にサポートします。

著者Perplexity Engineering

エージェント型のワークフローが長期間かつ自律的になるにつれ、AIエージェントが動作する環境は、それを駆動するモデルと同様に重要となります。エージェントは、コードの実行、ファイルシステムの編集、数時間から数日にわたるマルチステップタスクの遂行など、実質的な作業を行う必要があります。ユーザーは、エージェントがこれらのタスクを遂行するために必要なツールやファイルにアクセスできることを望む一方で、エージェントが侵害された場合でも自社のシステムが安全に保たれることを信頼する必要もあります。サンドボックスは、こうしたすべてを可能にする存在です。つまり、エージェントが自由に動作できる一方で、ホスト、他のテナント、および機密の認証情報が保護された状態を維持できる隔離された環境です。

従来のコンテナベースのサンドボックスのアプローチは、こうしたタスク向けに設計されていません。これらは通常、短命でステートレスなジョブを前提としており、カーネルを単一障害点としています。対照的に、エージェントのセッションは長期間存続し、ステートフルです。エージェントは、数時間にわたるコンテキスト、作業用ファイルシステム、実行中のプロセスを蓄積しており、これらを単に破棄してゼロから再構築することはできません。さらに、内部のワークロードはデフォルトで信頼できないものとして扱うべきであり、より強力なセキュリティ対策が必要です。長時間稼働するエージェントのセッションには、敵対的なゲストを隔離し、その状態を保持しつつ、かつ大規模に運用できる基盤が必要です。

サンドボックスエンジニアリングにおける主な課題は、セキュリティ、機能性、効率性の間で頻繁に生じるトレードオフにあります。例えば、以下のようなケースです。

  • より広範なアクセスを許可すればエージェントは多くのことを達成できますが、信頼できないワークロードに対してシステムをより多く露出させることになります。
  • サンドボックス間で共有する範囲を広げると作成は速くなりますが、その分攻撃対象領域も広がります。
  • スナップショットの取得頻度を上げると復旧が容易になり、ロールバックなどの機能も利用できるようになりますが、その分時間とストレージ容量が必要になります。

コードの実行、Agent Skills の使用、または Computer クエリで Search as Code パイプラインを実行するようなエージェント向けサンドボックスには、これら3つすべてが必要です。私たちはこの数か月、当社製品を支える次世代のエージェント基盤を設計するために集中的に取り組んできました。本日、SPACE(Sandboxed Platform for Agentic Code Execution)を発表します。これは、エージェント向けワークフローのために構築された、セキュアで信頼性が高く、大規模にも効率的なサンドボックスプラットフォームです。先月、Perplexity Computer を支えるサンドボックス層として SPACE の展開を開始しました。この1週間で、SPACE は数百万件のサンドボックス作成と数千万件の再接続を安全に処理し、起動時間は当社の従来ソリューションより3〜5倍高速になっています。

本記事では、SPACEの背後にあるアーキテクチャと設計の決定事項について説明します。本日時点で、すべてのComputerセッションがSPACE上で実行されています。私たちはこのプラットフォームをさらに多くの表面に展開し、ユーザーや開発者に最高クラスのエージェント型ランタイムを提供できることを嬉しく思います。

アーキテクチャ

高いレベルで、システムは3つのレイヤーで構成されています。

コントロールプレーンはシステムの脳であり、何がどこに存在すべきかを決定します。これには、APIゲートウェイとクラスタレベルの状態管理モジュールが含まれます。

ノードローカルサービスは、コントロールプレーンの計画を実行するために必要なローカルな機能です。これらは、サンドボックスのライフサイクル、ストレージ、ネットワーキング、およびその背後にある特権操作を管理します。

サンドボックスとは、それ自体が分離された実行環境です。これは、space-daemon と組み合わされた仮想マシンとして実装されています。space-daemon は、ゲスト内で動作するバックグラウンドプロセスで、ワークロードに対するファイルシステム、プロセス、ネットワークへのアクセスを仲介します。

SPACEのアーキテクチャは、ステートレスなコントロールプレーン、サンドボックスのライフサイクル、ストレージ、および安全ゲートを管理するノードローカルサービス、そしてサンドボックス自体の3つのレイヤーに分かれています。

コントロールプレーン

APIゲートウェイがエントリポイントとなります。受信リクエストは認証および認可され、その後、目的の状態のレコードに変換されます。

コントロールプレーンは設計上ステートレスであり、すべての耐久性のある情報は共有データベースにオフロードされます。サンドボックスがどのノードに割り当てられているか、どこで実行されているか、耐久性のあるストレージにバックアップされているかどうかなど、クラスタレベルの情報を追跡します。目的の状態と観測された状態を継続的に比較し、両者を収束させる方向に駆動します。操作は冪等であるため、コントロールプレーンはクラッシュ、再起動、または部分的な障害の後でも自動的に復旧できます。

ノードローカルサービス

ノードローカルサービスは、テンプレートの準備、サンドボックスの開始、ネットワークの配線、およびホスト側のランタイムサービスの実行という実際的な作業を行います。各ノードは、その上に配置されたすべてのサンドボックスを管理する一連の小さなデーモンを実行しており、ノードはそのサンドボックスのライブ状態に関する情報の真実源となります。

サンドボックスマネージャーは、どのサンドボックスが実行中、一時停止中、休止中、停止中であるかを、その実際のリソースとともに把握しています。これは非特権で実行され、すべての特権作業を下層のプリミティブを仲介する単一のルートプロセスであるノードマネージャーに委任します。ストレージはローカルかつ耐久性をもって処理されます。現在のサンドボックス状態のスナップショットはノード上に保存され、ボリュームマネージャーが必要に応じてスナップショットやテンプレートをオブジェクトストレージとの間で移動させ、クロスノード操作を可能にします。安全ゲートはサンドボックスが到達できる範囲を保護します。資格情報マネージャーはサービスごとの認可に基づいて資格情報の注入を管理し、ネットワークゲートウェイは各サンドボックスの送信ポリシーを強制します。

サンドボックス

サンドボックス自体は、独自のゲストカーネルを持つ仮想マシン(VM)であり、ハードウェアによる隔離境界の内側でユーザーのワークロードを実行します。各サンドボックスは独自のカーネルを持つため、侵害されたワークロードは共有ホストカーネルを単一障害点として利用することはできません。たとえゲストカーネルの悪用に成功したとしても、その侵害は他のワークロードに伝播することなく、サンドボックスのVM境界内に封じ込められます。

各仮想マシン内では space デーモンが動作し、プラットフォームがゲスト内で行うあらゆる操作や変更を制御する軽量なエージェントとして機能します。これはファイルシステムへのアクセスとプロセス管理を担います。また、ゲストの準備完了状態を報告し、アクティビティを追跡するため、プラットフォームはサンドボックスがアイドル状態になったタイミングを把握し、停止または回収できます。重要なのは、space デーモンはクライアントと直接通信せず、代わりに VM 内の専用チャネルを介してホストと通信することです。これにより、ゲストとのやり取りはすべて制御された経路に保たれ、サンドボックス自身のネットワークはワークロードの外向きトラフィック専用として確保されます。

3つの柱:セキュリティ、機能性、効率性

次に、SPACEがセキュリティ、機能性、効率性という3つの柱にわたって提供しなければならない重要な特性について掘り下げます。前述の通り、これら3つは互いに相反する性質を持っています。しかし、今日のモデル能力に匹敵する強力なエージェントをサポートするためには、いずれにおいても妥協することはできません。セキュリティは、信頼できない、場合によっては敵対的なワークロードが、ホスト、他のテナント、またはユーザーの機密情報を害することを防ぎます。機能性は、エージェントが必要とするリッチなライフサイクルを提供します。効率性は、限られたメモリ、ディスク、コンピューティングリソースの中で、これらすべてを手頃な価格で実現可能にします。

セキュリティ:データとシステムの保護

サンドボックスプラットフォームは、サンドボックス内で実行される誤ったコードや悪意のあるコードが、他の場所に有害な影響を及ぼさないようにするための強力なセキュリティを必要とします。厳格な送信制御を強制し、機密情報をサンドボックス外に保持しなければ、エージェントによるわずかな誤りでもユーザーのキーが漏洩したり、作業データが流出したりする可能性があります。

SPACEは、VMおよびホストレベルの隔離と、厳密に制御された通信チャネル、資格情報管理、および暗号化を組み合わせることで、階層化されたセキュリティを強制します。

SPACE は、サンドボックスのセキュリティを確保するために階層的なアプローチを採用しています。サンドボックスの分離には、VM 分離とホスト OS のプロセス分離という2つの要素があります。クロスサンドボックスアクセスを行うには、両方を突破しなければなりません。サンドボックスとの通信は厳格に制御されており、プロセスは専用チャネル経由でのみ通信できます。ネットワークゲートウェイはすべての送信トラフィックを必ず経由させます。space デーモンは、(信頼されていない)サンドボックスと(信頼された)プラットフォームの間で公認された唯一のチャネルです。

資格情報は、エージェントが盗み出せる場所に置かれることはありません。資格情報ストアはサンドボックスの境界の外側にあり、資格情報のライフサイクルを担います。プラグイン可能なボールトバックエンドを介して機密情報を保存・取得し、階層的スコープを使用して資格情報を解決し、注入方法や有効期限などのメタデータを管理し、すべてのアクセスに対してレート制限と監査ログを強制します。必要に応じて、資格情報はネットワーク層で注入されるか、ブラウザエージェントによって自動入力され、サンドボックス内に直接入ることはありません。

データは保存時(at rest)に保護されます。SPACEは、外部に保存されたデータを保護するためにBYOK(Bring Your Own Key)をサポートしています。暗号化キーは顧客のキー管理サービスから提供され、サンドボックス内に入ることはありません。企業がキーを取り消すと、そのデータは読み取り不能になります。

機能性:エージェント型ワークフローの強化

エージェント型ワークフローをサポートするため、サンドボックスには充実したライフサイクルサポートが必要です。エージェントは一度に多くを起動する可能性があるため、起動を待たせることなく、迅速かつ大規模に作成されなければなりません。セッションは数分で終わることもあれば数ヶ月続くこともあるため、無期限に保持されなければなりません。タスクが人間の入力を待機している場合など、長時間にわたりクリーンに一時停止できなければなりません。また、セッションが分岐したり、誤った手順を元に戻したり、障害後に開始からやり直すのではなく再開したりできるよう、フォーク、ロールバック、クラッシュ復旧をサポートする必要があります。

SPACEは上記のすべてをサポートします。サンドボックスの完全なライフサイクルを明示的なステートマシンとしてモデル化しており、これが作成、一時停止、再開、休止、復元といった操作を可能にします。

このサンドボックス状態と状態遷移の主要なサブセットが、充実したライフサイクルサポートを可能にします。

スナップショットは、これらの機能の大部分を支えるメカニズムです。スケジューラが一定間隔で動作し、ディスクスナップショット(ファイルシステムのポイントインタイムコピー)とフルスナップショット(一時停止されたVM全体のチェックポイント)の2種類のスナップショットを取得します。ディスクスナップショットは頻繁に取得され、フルチェックポイントはそれより頻度が低くなります。すべてはノード上に保持され、保持期間は階層ごとに減衰します。これらのスナップショットは、セッション内の復旧に使用できます。例えば、ディスクスナップショットを使用してファイルシステムをロールバックし、破壊的なコマンドを取り消すことができ、フルチェックポイントを使用すれば、クラッシュしたサンドボックスをディスクからコールドスタートするのではなく、直近の実行時点から再開できます。

サンドボックスが休止状態になると、VMは一時停止され、フルスナップショットが取得され、そのフルスナップショットのアーティファクトがオブジェクトストレージにアップロードされます。データベースの行がスナップショットを追跡し、すべてのアーティファクトが到着した時点で初めて復元可能になるため、部分的にアップロードされたスナップショットが破損した状態で再開されることはありません。復元は休止の逆の操作です。スナップショットは元のノードではなくオブジェクトストレージ内に存在するため、どのノードからでもサンドボックスを復帰させることができます。スケジューラがノードを選択し、そのノードがアーティファクトをダウンロードし、テンプレートの上にファイルシステムのデルタを再適用し、キャプチャされた状態からVMを再開します。

効率性:時間とスペースの最適化

上記の機能を真空状態で実装するだけでは不十分であり、厳しいリソース制約の下で可能である必要があります。ノードのメモリとディスクには限りがあり、ユーザーはエージェントを可能な限り迅速に動作させることを望んでいるため、ライフサイクル操作は時間とスペースの両面で低コストでなければなりません。サンドボックスが作成、一時停止、または分岐されるたびに、完全なマシンイメージをコピーすることはできません。

重要な設計上の選択により、これを実現しています。それはファイルシステムです。SPACEは、サンドボックスストレージ用のノード内ファイルシステムとしてbtrfsを使用しています。Btrfs(B-treeファイルシステム)は、コピーオンライトファイルシステムと統合された論理ボリューム管理を組み合わせています。これにはいくつかの利点があります。

Reflinkコピーは高速です。基盤となるエクステントを共有するため、コピーが必要なのはメタデータのみだからです。

スナップショットは原子性が保証され高速です。新しいルートを作成するだけだからです。

最小限のストレージしか必要としません。変更された部分のみを保存するためです。

その結果、サンドボックスは迅速に作成および復元できます。毎回ゼロからサンドボックスを作成するのではなく、共通のテンプレートがすでにディスク上に具体化されているポッドのウォームプールを維持し、テンプレートが一致するポッドにバインドすることでリクエストを満たします。そのサンドボックスに独自の書き込み可能なルートファイルシステムを与えることは、完全なコピーではなく、コピーオンライトのクローン作成となります。適切なウォームポッドがない場合、必要に応じてテンプレートを具体化します。同じイメージに対する同時リクエストを単一のダウンロードに集約するため、同一のリクエストが集中しても同一の作業が集中することにはなりません。

その結果、強力かつ軽量で、圧倒的に高速なサンドボックスランタイムが実現しました。SPACEをロールアウトした際、本番トラフィック環境で以前のサンドボックスプロバイダーと並行して実行しました。ローンチ週全体を通して、SPACEは全分布において3〜5倍高速にサンドボックスを作成しました。具体的には、中央値の作成レイテンシは185ミリ秒から60ミリ秒に短縮され(3.1倍の向上)、90パーセンタイルのレイテンシは447ミリ秒から89ミリ秒に短縮されました(5.0倍の向上)。他のパフォーマンスおよびリソース使用状況指標全体でも、同程度の桁違いの改善が見られました。

直接比較すると、SPACEサンドボックスの作成レイテンシは、以前のサンドボックスソリューションよりも最大5倍高速です。

また、サンドボックスを一時停止する必要がなく、高速でスペース効率が高いため、ローリングディスクスナップショットの取得も容易になります。さらに、効率的なデルタストレージにより、これらのスナップショットを保存するために必要なスペースが削減されます。

結論

複雑なシステムを設計する際、単一の目的に絞って個別に最適化する誘惑に駆られがちです。しかし、最先端のエージェントの開発者は、セキュリティ、機能性、効率性を同等に要求します。SPACEにおいて、私たちはこれら3つの柱すべてにおいてパレート改善を達成することを目指しました。

個々の設計上の選択はそれぞれ、複数の目的を同時に果たすことができるため、この繊細なバランスが実現します。サンドボックスごとの VM により、各ワークロードは独自のカーネルを持ち、強力な分離によってセキュリティが強化されると同時に、スナップショットが依存する明確なチェックポイント境界も提供されます。Btrfs は、エージェント向けランタイムに不可欠なスナップショット作成、フォーク、その他の操作を効率的に実装できます。space デーモンは、ゲストとのやり取りをすべて制御されたホスト側の経路に保ち、ゲストとホストの境界を閉ざしながら、エージェントの自由な操作性は維持します。中央のネットワークゲートウェイは、秘密情報をゲストに一切公開することなく、送信トラフィックと認証情報の注入を仲介します。

これらの設計上の決定などの結果、大規模な実世界のエージェントオーケストレーションを可能にするプラットフォームが完成しました。SPACEは、長時間稼働するステートフルなエージェントが、パフォーマンスやセキュリティを犠牲にすることなく、任意の複雑さや期間の作業に安全に取り組むための基盤を提供します。

現在、SPACEはすでに数百万件のPerplexity Computerセッションを支えています。私たちは、LinuxマイクロVMからWindowsゲスト、ユーザー自身のローカルマシンに至るまで、あらゆる環境においてサンドボックスをプロビジョニングおよび制御するための統合レイヤーとしてSPACEが機能することを目指しています。私たちは、開発者がユーザーが働くあらゆる場所で機能するAI製品を出荷できるよう、SPACEをこれらの新しい設定に導入することに注力しています。

明日の最先端エージェントを支える計算基盤を形作ることに胸が高鳴るなら、ぜひ私たちのチームに参加してください。

引用

BibTeX
@online{perplexity2026MakingSpaceSecureAndEfficientRuntimesForLongRunningAgents,
  author = {{Perplexity} and Kumar Pallav and Nick Dujay and Zibi Braniecki and Dmitry Pervukhin and Gigi Sayfan and Mostafa Abdelraouf and Nikhil Birmiwal and Rohin Bhasin and Shrikant Pandhare and Nikitha Lokareddy and Phi Hoang and Claire Beamer and Jeremy Yang and Jerry Ma},
  title = {{Making SPACE: Secure and efficient runtimes for long-running agents}},
  date = {2026-07-15},
  url = {https://www.perplexity.ai/hub/blog/making-space-secure-and-efficient-runtimes-for-long-running-agents}
}