Perplexityが実行基盤SPACEを公開 エージェントを小さなVMに隔離
PerplexityがエージェントのComputerを支えるサンドボックス基盤SPACEをApache 2.0で公開した。タスクごとにFirecrackerの小さな仮想マシンでコードを動かし、外への通信も絞れる。E2Bの道具からも使える。
記事の内容を自社でどう進めるか、内容が固まっていない段階でも相談できます。仕事の相談
毎週 1 回、その週の記事から 5 本と実践の 1 本を選んでメールで届けます。ニュースレターを購読する(無料)

Perplexityは、エージェントのコードを隔離して動かす基盤「SPACE」をオープンソースにした。同社の個人向けエージェント「Computer」を裏で支える仕組みだ。GitHubに置かれたコードのライセンスはApache 2.0で、商用でも使える。
SPACEは「Sandboxed Platform for Agentic Code Execution」の略で、エージェントがコードを動かす場所を1件ずつ小さな仮想マシンに分ける。では、Claude CodeやCodexでエージェントを作る人にとって、何が手に入るのだろうか。
1件ずつ小さなVMで動く
GitHubの説明によると、SPACEはFirecrackerという軽い仮想マシン(microVM)の中でコードを動かす。Firecrackerは、AWSが自社のサーバーレスのために作ったオープンソースの仮想化の仕組みだ。
使う側は、HTTPのAPIでLinuxの環境を作り、コマンドを流し、出力を受け取り、要らなくなれば消す。出発点になる環境を「テンプレート」、そこから作った1台を「サンドボックス」と呼ぶ。1台のサンドボックスでは、コマンドを何度も続けて動かせる。
作る、止める、消すといった操作は非同期で進む。APIは処理の番号を返し、使う側はそれで完了を確かめる。コマンドの出力は、管理の窓口とは別の通り道で届く。本体はRustで書かれている。APIの説明書とガイドはWebで公開され、変更が取り込まれるたびに自動で更新されるという。
使う側の役目もはっきり分けてある。何を動かし、どの結果を残すかは使う側のアプリが決め、SPACEはサンドボックスとその中の処理、出力を運ぶ接続を受け持つ。エージェントの頭脳とコードの実行場所を分ける考え方だ。
止めて、眠らせて、起こす
エージェントの仕事は長く続き、途中で待つことも多い。SPACEはそのため、動いているサンドボックスを2通りの方法で止められる。
一つは「一時停止」で、メモリとファイルをそのまま機械の上に残す。もう一つは「休止」で、メモリや実行の状態、ファイルをスナップショットに保存し、計算資源を手放す。どちらも「起こす」操作で元に戻る。待ち時間の長い仕事なら、休止させておけば資源を占有せずに済む。初期設定では、6時間触られなかったサンドボックスは自動で休止に入る。
外への通信も細かく決められる。設計の文書によると、行き先ごとに許可や拒否を決める規則を持ち、通信を中継する仕組みの中で認証情報を差し込む機能もある。つまり、鍵をサンドボックスの中に置かずに外のAPIを呼ばせる作りと読める。
E2Bの道具でも使える
SPACEには、E2Bと互換の窓口も付いている。E2Bは、AIエージェント向けのサンドボックスを貸す有名なサービスだ。文書によると、E2BのPython向けの道具がそのままSPACEにつながることを確かめているという。JavaScript版は互換の試験の対象外で、動くかどうかは使う側が確かめる必要がある。
すでにE2Bで作ったエージェントを、自前のSPACEに載せ替える道があるということだ。手元で試すには、Kubernetesを1台のパソコンで動かすKindを使う手順が用意されている。設計の文書は、Kubernetesを使わずに動かす方法にも触れている。
待ち時間を減らす工夫も文書に並ぶ。起動済みのサンドボックスをあらかじめ用意しておき、作成のたびに一から立ち上げずに済ませる「ウォームプール」がある。スナップショットから元の状態を戻す「ベーススナップショット」もある。Kindで動かす場合、サンドボックスの外への通信は、公開のインターネットとクラスター内の名前解決だけに絞る設定になっているという。
編集部の見方
個人や小さなチームがSPACEを本番で自前運用するのは、Kubernetesや仮想化の手間を考えると重い。当面はE2Bのような貸しサービスを使うほうが早いだろう。
それでも、鍵をサンドボックスの外に置き、外への通信を行き先ごとに絞る設計は、規模に関係なく参考になる。自分のエージェントがどこに鍵を持ち、どこへ通信できるかを、この機会に書き出しておきたい。
出典
に確認(日本時間)
- GitHubに置かれたコード(github.com)
- APIの説明書とガイド(space.docs.perplexity.ai)
この記事は役に立ちましたか
ありがとうございます
ありがとうございます



