1. これは何の話?

OpenAIがResponses APIに「WebSocketモード」を追加した。従来のHTTPリクエストは1回ごとに接続を張り直すのに対して、WebSocketモードでは一度接続を確立したままにしておき、各ターンは差分の入力だけを送信する仕組みになっている。

ターゲットは、AIエージェントがツールを繰り返し呼び出すような長い連鎖処理だ。コーディング補助や複数ステップのオーケストレーションループなど、ツール呼び出しが20回以上に達するケースで効果が顕著に出る。

ZDR(ゼロデータリテンション)やstore=falseという、データをサーバーに保持しないセキュリティ重視の設定とも完全に互換しており、エンタープライズ環境での採用障壁も低い。

2. 何がわかったか

WebSocketモードでは、ターンの継続にprevious_response_idと差分の入力のみを送信する。コンテキスト全体を毎回送り直す必要がないため、通信量と処理のオーバーヘッドが削減される。

OpenAIの報告によれば、ツール呼び出しが20回以上あるワークフローで「最大約40%の高速化」を観測したという。この数字はローリングの実行時間(end-to-end実行)の改善値だ。

ウォームアップ機能も備わっており、response.creategenerate: falseを渡すことで、実際の生成を行わずにリクエスト状態を事前準備できる。次のターンをより速く開始するための準備ステップとして活用できる。

3. 他とどう違うのか

通常のResponses API(HTTP)では1リクエスト1レスポンスという構造のため、長い多段処理では都度の接続と認証オーバーヘッドが積り上がっていた。WebSocketモードはこのコストを接続確立の1回に抑え、以降のターンを軽量化する。

Realtime API(音声向け)との違いは用途にある。Realtime APIは音声対話のようなリアルタイム性が要求される場面向けで、WebSocketモードはコーディングエージェントのような多段ツール呼び出しワークフロー向けの最適化だ。

4. なぜこれが重要か

LLMエージェントが複雑な仕事をこなすには、ツールを何十回も呼び出す設計が避けられない。その速度がボトルネックになっていた点を、インフラレベルで解決したのが今回の更新だ。エージェント全体の応答時間が改善されれば、ユーザー体験と処理コストが同時に改善される。

WebSocketモードがZDRと併用できる点も重要だ。データをサーバーに保持しないプライバシー重視の設定と、接続維持による高速化を同時に得られることは、金融・医療などデータ扱いに厳しい業界でも採用しやすい設計だ。

5. 未来の展開・戦略性

多段ツール呼び出しの高速化が進むと、AIエージェントが担える仕事の粒度と複雑度が上がっていく。これはオーケストレーションループの規模を大きくする方向に開発者を後押しする。

OpenAIがResponses APIにWebSocketを追加したことで、レイテンシ要件の高いアプリケーション(リアルタイム性が求められる業務自動化など)でも同APIを中心的なインフラとして選べる環境が整いつつある。

6. どう考え、どう動くか

例えばコーディングエージェントが30ステップのリポジトリ解析を実行している場合、WebSocketモードに切り替えるだけで処理時間が3割前後短縮できる可能性がある。

指針:

  • ツール呼び出し数が多い既存エージェントのレイテンシを計測し、WebSocketモードへの移行効果を見積もる。
  • previous_response_idを使った差分送信のパターンを理解してから実装に進む。
  • ウォームアップ機能(generate: false)を活用して次ターン開始を高速化できるかテストする。

次の一歩:

  • 今日やること:WebSocketモードのQuickstartコードをローカルで動かし、通常HTTP版と応答時間を比較する。
  • 今週やること:本番エージェントのツール呼び出し回数を集計し、WebSocketモード移行の優先度を判断する。

7. 限界と未確定

  • 「最大約40%高速化」のベースラインとなったワークフローの詳細(ツール数・入力長・モデルなど)が公開されておらず、自社環境での改善幅は個別に実測が必要だ。
  • WebSocketモードの接続タイムアウト上限や同時接続数の制限については、本ドキュメントに明示されていない。
  • モデルによる対応状況の差異(使用可能なモデルの一覧)は、公式のModels一覧ページで確認が必要だ。

8. 用語ミニ解説

  • 通信の最初に一度だけ接続を確立し、以降は接続を維持したままデータを双方向にやり取りできる仕組み。(WebSocket)
  • 処理したデータをサーバーが一切保存しない設定。プライバシーとコンプライアンス要件の厳しい環境向け。(ZDR / Zero Data Retention)

9. 出典と日付

OpenAI Developer Documentation(最終確認日:2026-02-24):https://developers.openai.com/api/docs/guides/websocket-mode