AIエージェントにコードを書かせるとき、どこで動かすかが問題になります。

Cloudflareは2026年4月13日、AIエージェント向けのサンドボックス環境「Cloudflare Sandboxes」と「Cloudflare Containers」の一般提供(GA)を発表しました。2025年6月のベータ公開から約10ヶ月、本番利用に耐える機能が揃いました。

この記事でわかること:

  • Cloudflare Sandboxesの基本的な仕組み
  • GAで追加された主要な新機能
  • 競合サービスとの違いと料金体系

Cloudflare Sandboxesとは

Cloudflare Sandboxesは、AIエージェントが安全にコードを実行するための、永続的・隔離されたLinux環境です。名前でサンドボックスを要求すると、起動していなければその場で立ち上がり、アイドル状態になると自動でスリープします。次にリクエストが来れば再起動し、同じIDを指定すれば世界のどこからでも同じ環境に接続できます。

const sandbox = getSandbox(env.Sandbox, "agent-session-47");
await sandbox.gitCheckout("https://github.com/org/repo", {
  targetDir: "/workspace",
  depth: 1,
});
return sandbox.exec("npm", ["test"], { stream: true });

Figmaはこのインフラ上に「Figma Make」のエージェントワークロードを本番運用しており、「信頼性の高いスケーラブルなサンドボックスが必要だった」とコメントしています。

GAで追加された主要機能

セキュアな認証情報の注入

エージェントに秘密情報を直接渡さずに、外部サービスへの認証済みリクエストを実現します。サンドボックスのアウトバウンドトラフィックをプログラマブルなエグレスプロキシが中継し、ネットワーク層でトークンを注入します。エージェントはトークンを一切見ません。送信先ドメインごとに認証ロジックをカスタマイズでき、タスクの進行に合わせてネットワークアクセスを動的に制限することも可能です。

PTYサポート——本物のターミナル

これまでのエージェントシェルは「コマンドを送って結果を受け取る」のループでした。人間がターミナルを使うように、出力をストリームで眺め、中断し、後で再接続するというフィードバックループではありませんでした。

PTYサポートにより、WebSocket経由でプロキシされた擬似ターミナルセッションを利用できます。xterm.jsとの連携でブラウザ上からターミナルに接続でき、出力はサーバーサイドにバッファリングされるため、切断後の再接続で見逃した内容を確認できます。各ターミナルセッションは独自のシェルと作業ディレクトリを持ちます。

永続的なコードインタープリタ

Python・JavaScript・TypeScriptのコード実行コンテキストを「セッションをまたいで」維持します。一般的な実装では各スニペットが独立して実行されるため、ステップ間で変数が消えてしまいます。Sandboxesの「コンテキスト」を使えば、Jupyterノートブックと同様に変数やインポートが持続します。

const ctx = await sandbox.createCodeContext({ language: "python" });
await sandbox.runCode(`
  import pandas as pd
  df = pd.read_csv('/workspace/sales.csv')
`, { context: ctx });

// dfは次の呼び出しでも残っている
const result = await sandbox.runCode(`
  df.groupby('region')['margin'].mean()
`, { context: ctx });

バックグラウンドプロセスとライブプレビューURL

エージェントが開発サーバーを起動し、動作中のURLをユーザーに共有できます。waitForPort()waitForLog()を使えば、サーバーが実際に起動したタイミングを確認したうえで次の処理に移れます。sleep(2000)に頼った実装が不要になります。

ファイルシステム監視

Linuxカーネルのinotifyを使ったSSEストリームで、ファイルの変更をリアルタイムに検知します。ファイルを保存したらビルドを再実行、設定を変更したらサーバーを再起動、といった事象駆動の開発ループをエージェントに組み込めます。

スナップショット(近日公開)

コンテナのディスク状態全体を保存し、ほぼ即座に復元できる機能です。git cloneしてからnpm installまで実行した環境をゼロから再構築すると30秒かかるのに対し、スナップショットからの復元は2秒です。スナップショットは自分のR2バケットに保存されます。

同じスナップショットから複数のサンドボックスを起動する「フォーク」パターンも使えます。4つのサンドボックスを同じ状態から起動して並行探索するといった使い方が可能です。

料金体系

GAに合わせて料金モデルが変わり、実際に使用したCPUサイクルのみ課金されます。エージェントがLLMの応答を待っているアイドル時間は課金されません。

  • CPU使用料:$0.00002 / vCPU秒
  • 標準プランの上限:lite 15,000インスタンス、basic 6,000インスタンス、larger 1,000インスタンス超

競合との位置づけ

AIエージェント向けサンドボックス市場は競合が増えています。E2BはFirecracker microVMを使い、Fortune 500の約半数が採用しています。DaytonaはDockerで90ms未満の起動を謳い、ModalはGPU重視のPythonワークロードに特化しています。Vercelも独自のFirecrackerベースSandboxをベータ提供しています。

Cloudflareの差別化点はエッジネットワークとの統合です。V8アイソレートベースの「Dynamic Workers」が軽量・短命なコード実行を担い、フルOSが必要な場合はコンテナベースのSandboxesに切り替える2層構造を持ちます。

まとめ

Cloudflare SandboxesのGAで、AIエージェントが利用できる環境は「コマンドを実行できる箱」から「本物の開発環境」に変わりました。PTYターミナル、永続コードインタープリタ、ファイルシステム監視、セキュアな認証情報注入が揃い、人間の開発者と同じフィードバックループをエージェントが使えるようになっています。

SDKはバージョン0.8.9で、npm i @cloudflare/sandbox@latestで導入できます。