OpenAI は WebRTC 音声スタックを再設計:9 億の週次アクティブユーザー、Go 製のリレーを中核に

ChainNewsAbmedia

OpenAI は 5 月 4 日に音声 AI 基盤の詳細を公開—毎週 9 億のアクティブユーザー(Weekly Active Users)向けの音声 AI サービスを支えるため、チームが WebRTC スタックを再設計し、メディア接続層を従来の「1 ポートにつき 1 session」の構成から、Go で書かれた薄型 relay に書き換え、すべての WebRTC session の状態を「transceiver」というサービスに集約した。OpenAI 公式ブログでは、このアーキテクチャが同時に ChatGPT の音声モード、Realtime API、そして複数の研究プロジェクトを支えることを説明している。音声 AI エンジニアリングに携わるあらゆるチームにとって、本件は「世界規模の音声 AI をどう成立させるか」を示す貴重な技術文献だ。

3 つの技術的制約:OpenAI 規模では従来の WebRTC がすべて壁に突き当たる

OpenAI のエンジニアリングチームは、記事の中で「規模を拡大した後に互いに衝突する」3 つの制約を明確に挙げている。

従来の「1 session につき 1 ポート」のメディア終端(per-session port termination)方式は OpenAI の基盤には不向き—毎週 9 億ユーザーが同時に音声 session を開始し得る状況では、各 session がそれぞれ 1 つのポートを占有する設計だとネットワーク資源が尽きてしまう

状態を持つ ICE(Interactive Connectivity Establishment)と DTLS(Datagram Transport Layer Security)の会話は、安定した所有者(owner)が必要—分散システムでは、session の状態が複数のサービスに分担されると、フォールトトレランスや移行が極めて複雑になる

グローバルなルーティングは低い最初のホップ遅延(first-hop latency)を維持しなければならない—音声 AI の「自然さ」は turn-taking(会話の切り替え)のスムーズさに左右され、最初のホップが 100ms を超えると明確に途切れる

OpenAI の要件リストも同様に明確だ:グローバル到達(9 億+ ユーザーをカバー)、迅速な session 立ち上げ(ユーザーが話し始めれば話せる)、低く安定したメディアの往復時間(低 jitter とパケットロスを含む)。

解決策:Go で書かれた薄型 relay + 集中型 transceiver サービス

OpenAI のアーキテクチャは 2 つの層で構成されている。

Relay 層—Go で実装され、意図的にシンプルさを保つ。普通の Go プロセスがソケットからパケットのヘッダを読み取り、少量のトラフィック状態を更新し、パケットを転送するだけで、WebRTC を終端しない。relay を水平スケールできるようにするのが、この設計の鍵だ—完全な WebRTC 状態を維持する必要がなく、relay 同士の互換性も損なわれず、単一障害点があっても session 全体が途切れない。

Transceiver 層—唯一 WebRTC session の状態を持つサービスで、ICE の接続チェック、DTLS ハンドシェイク、SRTP の暗号鍵、そして session のライフサイクル管理を含む。これらの状態を 1 つのサービスに集約することで session の帰属を推論しやすくし、バックエンドサービスは通常のサービスのように拡張できるため、各自が WebRTC の peer になる必要はない。

この設計の巧みさは、「状態が必要な部分」と「無状態の部分」を厳密に分離している点にある。Relay は無状態のデータプレーン(大量に複製可能)、transceiver は状態を持つコントロールプレーン(少量だが状態は完全)。このレイヤ分離により、OpenAI は使用量に応じて水平拡張でき、WebRTC 接続数の爆発を心配する必要がなくなる。

なぜ Go を使うのか:音声 AI 工学における選択ロジック

OpenAI は記事の中で、relay を Go で書き、意図的に狭い設計(窄い範囲)に保って実装していると明確に述べている。その背景にあるエンジニアリング上の理由:

Go の goroutine は「 1 ポートで数万の接続を処理する」といった IO バウンドのタスクに対して素の支援があり、複雑なイベントループを用意する必要がない

標準ライブラリの net パッケージで UDP パケットを直接読み取れるため、C のライブラリへの紐づけは不要

コンパイルすると単一の静的 binary となり、デプロイやコンテナ化、さらにアーキテクチャ間(x86/ARM)の対応が容易

Go のメモリ管理は「大量の短命オブジェクト」(各パケットを解析するたびに必要になる)に相性が良く、GC 停止時間もコントロールしやすい

これらからも、Cloudflare、Tailscale、HashiCorp などといった現代の基盤層で Go の浸透率が引き続き上がっている理由が説明できる。これは「Go が他の言語よりすごい」という話ではなく、「Go は IO バウンドで、水平拡張が必要な基盤のシーンで、書くのがいちばん素直」だからだ。

Cloudflare の対置:Realtime Voice AI の戦場

Cloudflare も同期間(5 月上旬)に技術ブログ〈Cloudflare は建構即時語音代理最好的地方〉を公開し、OpenAI と対位する形で自社の案を提示している。両者の方針は分かれる。

OpenAI:自社で WebRTC relay/transceiver スタックを構築し、サードパーティに依存しない。メディア層も自社の技術スタックに組み込む

Cloudflare:WebRTC のメディアサービスを自社 Workers プラットフォームの延長として位置づけ、開発者に「ワンストップ」基盤を提供する

中小規模の AI アプリケーションチームにとっては、Cloudflare の路線のほうがより実用的だ。API を直接呼び出せばよく、WebRTC 基盤を自作する必要がない。一方で OpenAI 規模のチームにとっては、自前構築が必須の道筋になる。外部サービスの SLA、課金構造、地理分布は、完全に自社の要件に合わせられるとは限らない。

今後の観察:transceiver のオープンソース化、Realtime API の規模、競合の対応

次の段階で注目すべきポイントは以下だ。

OpenAI が transceiver/relay の部分をオープンソースにするか—Anthropic、Google、xAI などの競合も自社で音声スタックを構築している。もし OpenAI が公開すれば、産業標準になる可能性が高い

Realtime API の課金と規模—現状は主に ChatGPT のサブスクリプションでの上乗せ(按分)に頼っているが、API の収益が伸びた場合、独立したプロダクトラインになり得るか

Anthropic と Google の対応—Claude と Gemini はどちらも音声に対応済みだが、遅延と規模の面で OpenAI にはまだ差がある。今回の技術開示が、彼らのエンジニアリングの追随を加速させるか

台湾の AI アプリ開発者にとって、音声 AI は 2026 年下半期の重要な戦場になる。コールセンター、教育、車載、IoT などの場面では、低遅延の対話が必要になる。OpenAI が今回行った技術開示は、「音声スタックを自前で作るべきか、それとも第三者の API を使うべきか」を判断するための、最重要な参考の 1 つだ。

この記事:OpenAI が WebRTC 音声スタックを再構築—900M の週活ユーザー、Go 製 relay が中核。最初に出現したのは 鏈新聞 ABMedia。

免責事項:本ページの情報には第三者提供の内容が含まれる場合があり、参考目的のみで提供されています。これらはGateの見解や意見を示すものではなく、金融、投資、または法律上の助言を構成するものでもありません。暗号資産取引には高いリスクが伴います。意思決定を行う際には、本ページの情報のみに依存しないでください。詳細については、免責事項をご確認ください。
コメント
0/400
コメントなし