本文へ移動

AI Buildersのための最新のニュース、知見、事例を毎日お届け

運営会社
コーディングエージェント

Perplexityが実行基盤SPACEを公開 エージェントを小さなVMに隔離

PerplexityがエージェントのComputerを支えるサンドボックス基盤SPACEをApache 2.0で公開した。タスクごとにFirecrackerの小さな仮想マシンでコードを動かし、外への通信も絞れる。E2Bの道具からも使える。

記事の内容を自社でどう進めるか、内容が固まっていない段階でも相談できます。仕事の相談

毎週 1 回、その週の記事から 5 本と実践の 1 本を選んでメールで届けます。ニュースレターを購読する(無料)

Perplexityが実行基盤SPACEを公開 エージェントを小さなVMに隔離

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のような貸しサービスを使うほうが早いだろう。

それでも、鍵をサンドボックスの外に置き、外への通信を行き先ごとに絞る設計は、規模に関係なく参考になる。自分のエージェントがどこに鍵を持ち、どこへ通信できるかを、この機会に書き出しておきたい。

出典

に確認(日本時間)

  1. GitHubに置かれたコード(github.com)
  2. APIの説明書とガイド(space.docs.perplexity.ai)

この記事をシェア

この記事は役に立ちましたか