この記事ではAIエージェントに特化して解説します。AIエージェント全般は AIエージェントフレームワーク比較2026年版 をご覧ください。
何が起きたか
2026年4月、CloudflareはAIエージェント向けサンドボックス実行環境「Cloudflare Sandboxes」のGA(General Availability:一般提供開始)を公式ブログで発表した。同時に基盤インフラとなるCloudflare ContainersもGAを迎えた。
Cloudflare Sandboxesは、AIエージェントが人間の開発者と同様のワークフローを実行できる「永続的・孤立した環境」を提供するサービスだ。シェル、ファイルシステム、バックグラウンドプロセスを備えた本物のLinux実行環境として設計されており、エージェントはリポジトリのクローン、複数言語でのコードビルド、開発サーバーの起動、リアルタイムのファイルシステム監視まで行える。
ソフトウェアの「一般提供開始」を意味する業界用語。ベータ・プレビューなどの試験段階を経て、本番利用に適した安定版として正式リリースされた状態を指す。企業での本格採用が可能になり、サポートSLAが保証される。Cloudflare Sandboxesはプレビュー期間を経てGAに到達した。
Cloudflare Sandboxesとは — AIエージェントのための「本物のコンピュータ」
Cloudflareは公式ブログの中でSandboxesを「AIエージェントに永続的・孤立した環境:シェル、ファイルシステム、バックグラウンドプロセスを備えた本物のコンピュータ」と説明している。
最大の特徴はオンデマンドの起動と永続性の組み合わせだ。エージェントはサンドボックスを名前で要求でき、すでに起動していればそのまま接続、停止中であれば自動起動する。アイドル状態になるとサンドボックスは自動的にスリープし、次のリクエスト時に再起動する。
この「必要なときだけ動く」設計がポイントだ。AIエージェントのワークロードは「LLMで推論している間はCPUを使っていない」という特性を持つ。スリープとオンデマンド起動の組み合わせにより、常時起動型のコンテナと比較してリソース効率が大幅に向上する。

(Claude Code 等)"] -->|"getSandbox()"| B["Cloudflare Sandbox
孤立実行環境"] B --> C["シェル / ファイルシステム
バックグラウンドプロセス"] C -->|"stdout / exitCode"| A B --> D["PTYターミナル
(WebSocket / xterm.js)"] B --> E["プレビューURL
(dev server)"] B --> F["スナップショット
R2ストレージ"] F -->|"2秒で復元"| B G["認証情報
(Gitトークン等)"] -->|"エグレスプロキシ経由"| B style A fill:#f5a623,stroke:#e67e22,color:#000 style B fill:#2980b9,stroke:#1a5276,color:#fff style F fill:#27ae60,stroke:#1e8449,color:#fff style G fill:#e74c3c,stroke:#c0392b,color:#fff
このフローにより、AIエージェントはコードを書いてビルドし、エラーをサンドボックス内で確認して修正するという人間の開発者に近いフィードバックループを実行できる。Claude Code Auto Modeのような自律型エージェントと組み合わせることで、完全自動の開発パイプラインが現実的になる。
Cloudflare Sandboxesは「名前で呼び出せる」孤立実行環境——起動済みなら即接続、停止中なら自動起動
アイドル時のスリープ+オンデマンド起動で、AIエージェントのコスト構造に最適化
シェル・ファイルシステム・バックグラウンドプロセスを備えた本物のLinux環境
GAで追加された6つの機能
プレビュー期間を経てGA版では以下の機能が正式提供となった。すべて公式ブログで発表された情報に基づく。
1. セキュアな認証情報インジェクション
プログラマブルなエグレスプロキシを通じて認証情報を安全に注入する仕組みが追加された。エージェントは認証情報の生の値に直接アクセスせず、プロキシ経由で認証済みのリクエストを送信する。Gitトークンや外部APIキーをサンドボックス内のコードに直接書かずに済む設計は、セキュリティ上の重大な改善だ。
2. PTYサポート(本物のターミナルセッション)
PTY(擬似端末)のサポートが追加され、WebSocket経由で本物のターミナルセッションが利用可能になった。xterm.jsとの互換性があるため、ブラウザ上でのターミナルUIをそのまま構築できる。ターミナルセッションをエージェントが使う場合も、人間がブラウザから操作する場合も、同一のインターフェースを共有できる。
3. 永続コードインタープリター(Python / JS / TypeScript)
Python・JavaScript・TypeScript向けの永続的なコードインタープリターが追加された。Jupyterノートブックと同様に、変数とimportが実行間でリセットされず状態が維持される。データ分析エージェントがデータフレームを読み込んで変換し、その結果を次のステップに引き継ぐという操作がそのまま実現できる。
4. バックグラウンドプロセスとプレビューURL
開発サーバーをバックグラウンドで起動し、外部からアクセス可能なプレビューURLを自動生成できる。Reactアプリや FastAPIサーバーをビルドして、リアルタイムで動作確認する用途に対応する。エージェントがフロントエンドをビルドし、生成されたURLで結果を確認してフィードバックする構成が可能になる。
5. ファイルシステムウォッチング(Linux inotify)
Linuxのネイティブ機能 inotify を使ったファイルシステム監視が追加された。ファイルの変更イベントをエージェントがリアルタイムで受け取れるため、ホットリロードやテスト自動実行のような開発フローを構築できる。エージェントがコードを修正するたびに自動でテストが走り、結果をフィードバックするループが実現できる。
6. スナップショット(近日公開)
状態のスナップショット機能が近日公開予定。R2ストレージを使ったティアドキャッシュで、グローバルに高速な状態復元を実現する。公式ブログによると、ゼロからのクローン&インストールが約30秒かかるのに対し、スナップショットからの復元は約2秒と大幅に短縮できる。繰り返し利用するサンドボックス環境の準備時間を劇的に削減できる。
2026年4月時点のGA発表では「rolling out soon」と記載されており、全ユーザーへの提供は段階的になる予定。本番利用を計画する前に公式ドキュメントで最新状況を確認することを推奨する。
SDKでの実装例 — インストールから基本操作まで
SDKは npm で公開されている。Workers Paidプランが必要。
インストール
npm i @cloudflare/sandbox@latest
現時点のSDKバージョンは0.8.9。Workers Paidプランのアカウントでのみ利用可能。
基本的なサンドボックス操作
import { getSandbox } from '@cloudflare/sandbox';
export { Sandbox } from '@cloudflare/sandbox';
// サンドボックスを取得(起動済みなら接続、停止中なら自動起動)
const sandbox = getSandbox(env.Sandbox, 'user-123');
// コマンド実行
const result = await sandbox.exec('python --version');
// Returns: { stdout, exitCode, success }
// リポジトリのクローン
await sandbox.exec('git clone https://github.com/example/repo /workspace/repo');
getSandbox(env.Sandbox, 'user-123') の第2引数が「名前」にあたる。同じ名前でリクエストすれば、既存のサンドボックスに再接続できる。エージェントが複数セッションに渡って同じ作業環境を維持したい場合に活用する。
永続コードインタープリター(Python)
// コンテキストを作成(変数・importが実行間で保持される)
const ctx = await sandbox.createCodeContext({ language: 'python' });
const result = await sandbox.runCode(`
import pandas as pd
data = {'product': ['A', 'B', 'C'], 'sales': [100, 200, 150]}
df = pd.DataFrame(data)
df['sales'].sum()
`, { context: ctx });
// Returns: { results, logs }
// 次の呼び出しでも df や pd は保持されている
ファイルシステムウォッチング
const watcher = await sandbox.watch('/workspace/src', {
include: ['*.js', '*.ts'],
onEvent: (event) => console.log(`${event.type}: ${event.path}`),
onError: (error) => console.error(error)
});
// 変更が検知されたらテストを自動実行するなどのロジックを onEvent に記述
// 監視停止
watcher.stop();
ターミナルセッション(WebSocket経由)
// Workers のリクエストハンドラーで WebSocket を受け付ける
if (url.pathname === '/ws/terminal') {
const sandbox = getSandbox(env.Sandbox, 'user-123');
// xterm.js 互換のターミナルセッションを返す
return sandbox.terminal(request, { cols: 80, rows: 24 });
}
このコードにより、ブラウザの xterm.js インスタンスとサンドボックス内のシェルが双方向に通信できる。エージェントと人間が同一のシェル環境を共有することも技術的には可能になる。
アクティブCPU課金の仕組みと制限
GA版で導入されたアクティブCPU課金は、LLMのレスポンスを待つアイドル時間を課金対象外にするモデルだ。AIエージェントのワークロードは「LLMに推論させている間はCPUを使っていない」という特性を持つため、このモデルは実際のコスト削減につながる。
サンドボックスがLLMのレスポンス待ちでアイドル状態の間は課金が発生しない
従来の「経過時間課金」と比較して、AIエージェントのワークロードでは大幅なコスト削減が期待できる
スリープ機能との組み合わせで、リソース効率をさらに最大化できる
GAリリース時点での同時実行数の上限は以下の通り(公式ブログより)。
| ティア | 同時実行数 | 用途目安 |
|---|---|---|
| Lite | 最大15,000インスタンス | 軽量なコマンド実行 |
| Basic | 最大6,000インスタンス | 標準的な開発タスク |
| 大規模インスタンス | 1,000以上 | 高負荷なビルド・テスト |
上記を超えるキャパシティが必要な場合は Cloudflare への申請で対応可能とされている。Figma Makeのような大規模サービスでの利用実績があることからも、エンタープライズ向けの拡張性は確保されていると言える。
Workers / Containers / Durable Objectsとの違い
Cloudflareには類似した実行環境が複数あるが、それぞれ設計目標と用途が異なる。混同しやすいので整理する。
| サービス | 実行環境 | 永続性 | 主なユースケース |
|---|---|---|---|
| Cloudflare Workers | V8 isolate | ステートレス | APIエンドポイント、エッジロジック |
| Dynamic Workers | V8 isolate | 限定的 | プラグインサンドボックス(EmDashなど) |
| Cloudflare Containers | Dockerコンテナ | あり | 汎用コンテナワークロード |
| Cloudflare Sandboxes | Containers上のOSレベル | あり(スリープ対応) | AIエージェントの作業環境 |
| Durable Objects | V8 isolate | あり(KVストア) | 分散状態管理、リアルタイム同期 |
WorkersはV8 isolateベースで起動が高速だが、Linuxシステムコールやバイナリ実行が制限される。SandboxesはContainersの上に構築されており、本物のLinux環境をフルで使える。コードインタープリター・PTY・inotifyといった機能が使えるのはこのためだ。
Durable Objectsとの比較では「何を永続化するか」が異なる。Durable Objectsはイベント駆動の状態管理に特化しており、KVストア的な使い方に向いている。Sandboxesはファイルシステム・プロセス・依存関係インストール済みの環境そのものを永続化する。
Cloudflare EmDashのプラグインサンドボックスはDynamic Workersを使っているが、AIエージェントの複雑な開発タスク(npm install・ビルド・PTYターミナル等)にはSandboxesのフルLinux環境が必要になる場面が多い。
ユースケース — Claude Codeや自律エージェントからの活用
コーディングエージェントの実行環境として
Claude Code Auto Modeのような自律コーディングエージェントは、コードを書くだけでなく「ビルド・テスト・デバッグ」のループも自動化する必要がある。Cloudflare Sandboxesはこのループを安全かつ永続的に実行できる環境を提供する。
エージェントがコードを書いてサンドボックス内でビルドし、エラーが出れば修正、テストが通ればプレビューURLで結果を確認、というサイクルを人間の介入なしに完結できる。従来はローカルマシンか専用のCI環境が必要だったこのフローが、Cloudflare Workers上のコードから呼び出せるAPIになった。
永続コードインタープリターとデータ分析
Jupyterライクな永続コードインタープリターにより、データ分析エージェントが変数の状態を保ちながらコードを繰り返し実行できる。pandas でデータを読み込んで変換・可視化する流れを、エージェントが対話的に進めることが可能だ。各ステップでの変数の状態が維持されるため、長い処理を小さなステップに分けながら進めることができる。
MCPツールサーバーとの連携
MCPサーバーを介してサンドボックスをAIエージェントのツールとして公開することで、Claude DesktopやClaude Code等のMCP対応クライアントから直接サンドボックスを操作できる構成が可能になる。MCP経由で「コードを実行する」ツールとしてサンドボックスを提供するサーバーを実装し、エージェントに渡すというアーキテクチャだ。
本番サービスでの採用実績
Figmaは「Figma Make」においてCloudflare Containersを採用し、信頼されていないエージェントコードおよびユーザーコードをスケールで実行していることが公式ブログで言及されている。SandboxesはContainersの上に構築されているため、同様のユースケースでの採用が見込まれる。
CI/CDとの統合
ビルドとテストの実行環境としてSandboxesを組み込む使い方も考えられる。PRが作成されるたびにサンドボックスを起動してビルド・テストを実行し、結果をGitHub PRのコメントに書き戻すというワークフローを、Workers上で完結させることができる。スナップショット機能(近日公開)が使えるようになれば、依存関係のインストール済みイメージを2秒で復元してテストを実行できるようになる。
日本の開発者へのインパクト
AIエージェントを使った開発の自動化に取り組む日本の開発者にとって、Cloudflare Sandboxes GAは実用投入へのハードルを大幅に下げる節目だ。
本番環境として使える理由:
- GAステータスにより、プロダクションレベルのサポートと安定性が保証される
- アクティブCPU課金でAIエージェントのコスト構造に最適化された料金モデルが適用される
- Cloudflareのグローバルエッジネットワーク上でサンドボックスが動くため、日本リージョンでのレイテンシも低い
開発ツールとしての具体的な活用シナリオ:
- コードレビューエージェント: PRのコードをサンドボックスでビルド・テストして結果を自動報告
- ドキュメント生成エージェント: リポジトリをクローンしてコードを解析しドキュメントを生成
- データ分析自動化: 永続コードインタープリターで統計処理・グラフ生成のパイプラインをエージェントが管理
- バックエンドAPIのプロトタイピング: プレビューURLで即座にAPIサーバーを起動して検証
注意点: Workers Paidプランが必要であり、無料枠での利用はできない。スナップショット機能はGA時点では「近日公開」のステータスであり、利用前に最新ドキュメントで確認が必要だ。
公式ドキュメントでセットアップ手順を確認し、
npm i @cloudflare/sandbox@latest でSDKをインストールして試せる。GitHub リポジトリ(cloudflare/sandbox-sdk)にもサンプルコードが公開されている。