Sandbox API:AIエージェントのための分離されたコード実行

エージェントのワークフローでは、決定論的な実行が求められることが頻繁にあります。エージェントが統計分析の実行、チャートの生成、計算の検証、データセットの変換を行う際には、正確な出力を伴う決定論的な実行が必要です。エージェントは何を計算すべきかを推論し、サンドボックスがそれを計算します。

Perplexity向けに構築された機能が、サービスとして利用可能になりました

当社はこのパターンを社内でサポートするためにサンドボックスを構築しました。Perplexity Computer、当社のFinance Agent、そしてDeep Researchはすべて、サンドボックス化された環境内でコードを実行しています。Computerは1分間に数千ものセッションを実行します。Finance Agentはリアルタイムの市場データ計算にサンドボックスを使用します。Deep Researchはワークフローの途中で、ファイルの生成、データ処理、フォーマット変換にサンドボックスを使用します。Sandbox APIは、これと同じ実行環境をスタンドアロンサービスとして提供するものです。

永続ファイルシステムを備えたステートフルセッション

各セッションは、個別の分離されたKubernetesポッド内で実行されます。開発者は基盤となるインフラストラクチャを管理する必要はなく、プロビジョニング、ネットワーキング、クリーンアップはすべて当社が処理します。サポートされている言語はPython、JavaScript、SQLであり、セッションごとにランタイムパッケージのインストールが可能です。

セッションはステートフルです。FUSEを介して永続ファイルシステムがマウントされます。FUSEデーモンはファイル操作をインターセプトし、読み取り、書き込み、ファイル一覧の取得、セッション作成以降の変更追跡といった操作をエージェント向けに変換します。あるステップで作成されたファイルは、後続のステップで利用可能です。長時間実行されるワークフローは、一時停止して数時間後に再開し、状態を完全に保持したまま処理を継続できます。各セッションは最大5つのバックグラウンドプロセスをサポートしています。

デフォルトでゼロトラスト

セキュリティアーキテクチャは、デフォルトで信頼できないコードを想定しています。サンドボックスは直接のネットワークアクセス権を持ちません。アウトバウンド接続が必要な場合、トラフィックはサンドボックス外で実行されているエグレスプロキシを経由してルーティングされます。プロキシは宛先ドメインに基づいてアウトバウンドリクエストを照合し、適切な認証情報を注入します。サンドボックス内で実行されるコードは、生のAPIキーやシークレットにアクセスすることはできません。組み込みのタイムアウトおよびリソース制限により、実行境界が強制されます。

オーケストレーション層としてのAgent API

Sandbox APIはAgent API内のツールとして提供され、オーケストレーションランタイムがワークフローの途中で決定論的なコード実行を委任できるようにします。エージェントは何を計算するかを決定し、サンドボックスへディスパッチし、出力を観測して推論ループを継続します。同じAPIキー、同じクレジットセットが使用可能です。

Sandbox APIは近日公開予定です。まもなくプライベートベータ版を開始し、ドキュメントは docs.perplexity.ai で公開します。