はじめに:この統合が注目される理由
LLMベースのエージェントを本番運用しようとすると、必ず次の3つの壁にぶつかります。「エージェントループは誰が回すのか」「セッション状態はどこに保存するのか」「コード実行はどこで行うのか」。これらを個別に実装すると、インフラコードが本体ロジックより大きくなってしまうケースも少なくありません。
今回Vercelが公開した OpenAI Agents API + Vercel Sandbox 統合 は、この3つを役割分担で整理した事例です。
- OpenAI:エージェントループとセッション状態の管理
- Vercel:アプリケーションホスティングとセッション単位のサンドボックス接続
- Vercel Sandbox:コード実行とファイルアクセスのための分離環境
重要なのは 「常時起動ワーカーが不要」 という点です。セッションがなければ0にスケールダウンし、リクエストが来れば再起動する構造のため、個人プロジェクトやサイドプロジェクトでも無理なく運用できます。
根拠資料: Vercel Changelog - Build with OpenAI Agents API on Vercel
日本国内でも社内チャットボットや業務自動化エージェントの導入が進んでいますが、「常時稼働ワーカーのコスト」が導入の障壁になりがちでした。このアーキテクチャはその課題に直接アプローチしています。
![]()
アーキテクチャ解説:何がどこに分離されたのか
1. エージェントループとセッション状態(OpenAI担当)
従来はエージェントのtool-callingループをサーバー側で実装し、会話状態をRedisやDBに保存していました。本統合ではこの部分をOpenAIが管理します。開発者は「どのツールを使えるか」を定義するだけでよく、繰り返し呼び出し・状態保持・リトライはプラットフォーム側で処理されます。
2. サンドボックスの生成と再接続(Vercel担当)
実務的に最も興味深い部分です。
- signed OpenAI webhook:OpenAIからVercelへセッションイベントを安全に転送
- Vercel Queues:イベントをキューに蓄積し、安定的に処理(欠落・重複を防止)
- Vercel Sandbox:セッションごとに分離された実行環境を起動
// 例:エージェントセッションからサンドボックスへコード実行を委譲する流れ(概念説明用)
import { Sandbox } from "@vercel/sandbox";
export async function handleAgentToolCall(sessionId: string, code: string) {
// セッションIDをキーにサンドボックスを生成または再接続
const sandbox = await Sandbox.create({ id: sessionId });
// 分離環境でコードを実行
const result = await sandbox.run(code);
// 後続の指示でも同一ファイルを保持(persistent workspace)
return result.stdout;
}
3. Persistent Workspace
サンドボックスがセッション単位で維持されるため、ユーザーが「先ほど作成したファイルに続けて作業して」と指示すれば、以前の成果物がそのまま残っています。データ分析エージェントやリファクタリングエージェントを構築する際に効果が大きい部分です。
4. Scale-to-Zero
セッションがなければワーカーは0にスケールダウンします。トラフィックが少ない個人ボットや社内ツールでも、固定費がほとんど発生しない構造です。

比較:どのような場面で採用すべきか
| 項目 | OpenAI Agents API + Vercel Sandbox | 自前実装(独自ワーカー + Redis + コンテナ) |
|---|---|---|
| エージェントループ | プラットフォーム管理 | 自前実装・保守 |
| セッション状態 | OpenAI管理 | Redis/DBを自前設計 |
| コード実行分離 | Vercel Sandboxが標準提供 | Firecracker/gVisor等を自前構築 |
| コスト構造 | Scale-to-zero、従量課金 | always-onワーカーコスト発生 |
| ベンダー依存 | OpenAI + Vercel両方に結合 | 比較的自由度が高い |
| カスタマイズ | プラットフォーム制約内 | 無制限 |
| 適したチーム | プロトタイプから本番まで素早く移行したい | インフラチームを持つ大規模組織 |
注意点(批判的視点)
- ベンダーロックイン:エージェントループはOpenAI、実行はVercelに固定されます。将来的に別のLLMへ移行したり、オンプレミスへ移す際には作り直しが必要になる可能性があります。
- 可観測性(Observability):ループがブラックボックスに近づくとデバッグが難しくなります。ログ・トレース設計は最初から組み込むことを推奨します。
- セキュリティ境界:サンドボックスが分離されていても、エージェントがアクセス可能なファイル・ネットワーク範囲は明示的に制限すべきです。
次のステップ学習の方向性
- Vercel Sandboxの分離モデル(ファイルシステム、ネットワークポリシー)のドキュメントを先に読むことをおすすめします。
- OpenAI Agents APIのtool定義スキーマを習得すれば、既存の社内ボットへの組み込みが容易になります。
- 可観測性ツール(OpenTelemetry等)との連携方法を事前に検証しておくと、本番移行がスムーズです。

まとめ:今試す価値がある理由
本統合の本質的な価値は「エージェントインフラを自作しなくてよい」という宣言に近いものです。特にサイドプロジェクトや小規模チームでは、この差は決定的です。
ただし本番導入の前に、ベンダー依存と可観測性の2軸は必ず確認してください。この2点が後から足を引っ張るケースは非常に多いです。
あわせて読みたい記事
エージェントUXを設計する際も、結局は「モーダルで出すか、別画面に切り出すか」といった判断を繰り返すことになります。上記の記事と合わせて読むと、視点が整理されるはずです。