OpenAIが音声AIの低遅延配信基盤を刷新

WebRTC基盤の課題と設計

9億人超の週間利用者に対応
1セッション1ポート方式の限界
Kubernetes環境との不適合
リレーとトランシーバの分離設計を採用

ルーティングと運用の工夫

ICEのufragに経路情報を埋込
ステートレスな中継層で復旧容易
グローバル分散で初回遅延を短縮
Go実装でカーネルバイパス不要に
詳細を読む

OpenAIは2026年5月4日、ChatGPT音声機能やRealtime APIを支えるWebRTCインフラの再設計について技術ブログで公開しました。週間アクティブユーザー9億人超に対し、接続確立の高速化、メディア往復時間の低減と安定化、グローバル到達性の3要件を同時に満たすことが求められていました。

従来のWebRTCではセッションごとに1つのUDPポートを公開する方式が一般的ですが、大規模なKubernetes環境では数万単位のポート管理がセキュリティとスケーラビリティの両面で障壁となっていました。また、ICEやDTLSはステートフルなプロトコルであり、セッション状態を保持するプロセスへ確実にパケットを届ける必要があります。

OpenAIが採用したのは、リレートランシーバを分離するアーキテクチャです。リレーは軽量なUDP転送層として少数の固定ポートのみを外部に公開し、パケットのSTUNヘッダからICE ufragを読み取って適切なトランシーバへ転送します。トランシーバ側がICE、DTLS、SRTPなどWebRTCのすべてのセッション状態を一元管理します。

初回パケットのルーティングが設計の鍵です。サーバ側のufragにルーティングメタデータを埋め込むことで、外部の検索サービスに依存せずパケット経路上で宛先を決定できます。リレーが再起動しても次のSTUNパケットでセッションが再構築され、Redisキャッシュによる早期復旧も可能です。

グローバルリレーは地理的に分散配置され、Cloudflareのジオステアリングと組み合わせてシグナリングとメディアの両方を最寄りの拠点で受け付けます。これにより最初のICE接続チェックまでの往復時間が短縮され、ユーザーが発話を開始するまでの待ち時間が削減されます。

実装はGoで書かれ、SO_REUSEPORTによる複数ワーカーへのパケット分散、runtime.LockOSThreadによるCPUコア固定、事前割当バッファによるGC抑制など効率化が施されています。カーネルバイパスを使わないシンプルな設計でグローバル規模のリアルタイムメディアトラフィックを処理できており、クライアント側は標準的なWebRTCの振る舞いがそのまま維持されています。