概要
2026年4月22日、OpenAIのエンジニアリングチームは、Responses APIにおけるWebSocketの実装により、エージェントワークフローを40%高速化することに成功しました。この改善により、ユーザーはモデルの推論速度の向上(毎秒65トークンから毎秒1,000トークン近くへ)を実際に体験できるようになりました。
エージェントループの課題
Codexがバグを修正する際、以下のプロセスを実行します:
- コードベースをスキャンして関連ファイルを検索
- ファイルを読み込んでコンテキストを構築
- 編集を実施
- テストを実行して修正を検証
これらのプロセスでは、数十回のResponses API往復リクエストが発生し、ユーザーは複雑なタスク完了まで数分待つ必要がありました。
レイテンシーの主要段階
Codexエージェントループのレイテンシーは、主に3つの段階で構成されます:
- APIサービス処理:リクエストの検証と処理
- モデル推論:GPUでの新しいトークン生成
- クライアント側の処理:ツール実行とモデルコンテキストの構築
推論速度が向上するにつれて、APIオーバーヘッドの累積的な影響がより顕著になりました。
APIがボトルネックになった時期
Responses APIでは、GPT-5やGPT-5.2などの従来のフラグシップモデルは約65トークン/秒(TPS)で動作していました。高速コーディングモデルのGPT-5.3-Codex-Sparkの起動では、目標は1,000 TPS以上の達成でした。これはLLM推論に最適化された専門的なCerebrasハードウェアにより実現されました。
2025年11月のパフォーマンス改善
単一リクエストの重要パスレイテンシーに対して、以下の最適化を実施しました:
- トークンキャッシング:レンダリング済みトークンとモデル設定をメモリにキャッシュし、マルチターン応答の高コストなトークン化とネットワーク呼び出しをスキップ
- ネットワークホップの削減:中間サービスへの呼び出しを排除(例:画像処理解像度)し、推論サービスを直接呼び出し
- 安全スタックの改善:特定の分類器を高速に実行して会話にフラグを立てる
これらの改善により、初トークンまでの時間(TTFT)が約45%改善されましたが、GPT-5.3-Codex-Sparkには依然として不十分でした。
永続接続の構築
設計の再考
根本的な問題は構造的でした。各Codexリクエストを独立として扱い、フォローアップリクエストのたびに会話状態と再利用可能なコンテキストを処理していました。会話が長くなるにつれて、この繰り返し処理はより高コストになりました。
WebSocketの選択
永続接続とステート キャッシングを保持し、HTTPで新しい接続を確立して各フォローアップリクエストで完全な会話履歴を送信する代わりに、以下のアプローチを検討しました:
- WebSockets
- gRPC双方向ストリーミング
WebSocketsを選択した理由:
- シンプルなメッセージトランスポートプロトコル
- Responses APIの入出力形状を変更する必要がない
- 開発者フレンドリー
- 既存アーキテクチャへの影響が最小限
初期プロトタイプの設計
最初のWebSocketプロトタイプでは、エージェントロールアウトを単一の長時間実行Responseとしてモデル化しました:
- asyncio機能を使用して、Responses APIはツール呼び出し後のサンプリングループで非同期にブロック
- Responses APIはクライアントに
response.doneイベントを送信
- ツール呼び出し実行後、クライアントはツール結果を含む
response.appendイベントを送信
- サンプリングループがアンブロックされ、モデルが継続
この設計は、エージェントロールアウト全体で繰り返されるAPI作業を排除したため、極めて効果的でした。
APIの親しみやすさを保ちながらスタックを段階的に改善
起動バージョンの設計
開発者が新しいインタラクションモードの周りでAPI統合を書き直す必要がないよう、以下の設計を採用しました:
- 同じボディで
response.createを使用し続ける
previous_response_idを使用して前のレスポンスの状態から会話コンテキストを継続
WebSocket接続では、サーバーは接続スコープのメモリ内キャッシュを保持します。フォローアップresponse.createにprevious_response_idが含まれている場合、完全な会話を最初から再構築する代わりに、キャッシュからそのステートを取得します。
キャッシュされるステート
以前のレスポンスステートには以下が含まれます:
- 前のレスポンスオブジェクト
- 前の入出力アイテム
- ツール定義と名前空間
- レンダリング済みトークンなどの再利用可能なサンプリングアーティファクト
実現された主要な最適化
メモリ内の前のレスポンスステートを再利用することで、以下の最適化が実現されました:
- 安全分類器とリクエストバリデーターが完全な履歴ではなく新しい入力のみを処理
- レンダリング済みトークンのメモリ内キャッシュを保持し、不要なトークン化をスキップ
- リクエスト全体でモデル解決/ルーティングロジックを再利用
- 請求などの非ブロッキング後処理を後続リクエストと重複
新しい速度基準の設定
アルファ段階
2ヶ月のWebSocketモード構築スプリント後、主要なコーディングエージェントスタートアップとのアルファを起動しました。アルファユーザーは、エージェントワークフローで最大40%の改善を報告しました。
本番環境での成果
起動結果は即座に現れました:
- Codexは、Responses APIトラフィックの大部分をWebSocketモードに迅速に移行し、大幅なレイテンシー改善を実現
- GPT-5.3-Codex-Sparkは1,000 TPSの目標を達成し、実本番トラフィックで最大4,000 TPSのバーストを記録
開発者コミュニティへの影響
- Codex:トラフィックの大部分をWebSocketsに移行。GPT-5.3-Codex、GPT-5.4以降のすべてのユーザーがWebSocketモードの高速化の恩恵を受ける
- Vercel:AI SDKにWebSocketモードを統合し、レイテンシーを最大40%削減
- Cline:マルチファイルワークフローが39%高速化
- Cursor:OpenAIモデルが最大30%高速化
結論
WebSocketモードは、2025年3月のResponses API起動以来、最も重要な新機能の1つです。OpenAIのAPIチームとCodexチームの緊密な協力により、アイデアから本番環境での実行まで、わずか数週間で実現されました。
この機能は、エージェントロールアウトレイテンシーを劇的に改善するだけでなく、成長するニーズにも対応しています。モデル推論が高速化するにつれて、推論を取り巻くサービスとシステムも高速化して、これらの利益をユーザーに転送する必要があります。