OpenAIの開発舞台裏:GPT-Liveリアルタイム音声システムを6カ月で構築した方法
AIの会話を途切れさせないには、モデルが速いだけでは足りません。ボタンを押してから音声が耳に届くまで、すべての工程を滞りなく動かす必要があります。
- 従来の音声AIは、小型モデルが「ユーザーは話し終えたか」を推測していました。判断が早ければ話を遮り、遅ければ反応が鈍くなります。今回はこのモデルを丸ごと削除しました。
- 難しい問題はバックグラウンドのGPT-5.5へ委任し、GPT-Liveは会話を続けます。記事内の実録音声では、バックグラウンド処理中の十数秒も会話が止まりません。
- さらにWebRTCの接続ハンドシェイクも刷新しました。6往復を1往復に短縮し、変更案をIETFへ提出。主要な2実装がすでに対応しています。
従来の音声AIがぎこちなく聞こえる理由
OpenAIは珍しく詳細な開発回顧を公開しました。GPT-Liveのリアルタイム音声システムを6カ月でどう構築したのか、「話し終えたか」を推測する小型モデルの撤去から、WebRTC接続ハンドシェイクの再設計まで、各工程を明らかにしています。プロダクト開発者にとっては発表資料以上に価値のある内容です。「高速な応答」を単なるモデル性能ではなく、ボタンから耳までを結ぶエンドツーエンドの仕組みとして捉え直しているからです。
まずはアーキテクチャより、次の3つの音声を聴いてみてください。違いは耳ではっきり分かります。
最初の2つが不自然に感じられる原因は、大きく2つあります。
原因1:「話し終えたか」を推測する小型モデル
従来の音声AIは、トランシーバーのようなターン方式でした。ユーザーが話し、終わってからAIが答えます。その間にはturn detector(ターン検出器)という小型モデルがあり、ユーザーの発話が本当に終わったかを判定していました。
この判定はどちらに転んでも厄介です。早すぎれば話の途中で遮られ、遅すぎれば話し終えてもAIが黙ったままで、反応が鈍く感じられます。しかも主に「無音」で判断するため、考えるための間、周囲の話し声、道路を通る車まで「発話終了」と誤認する可能性があります。
さらに問題なのは処理順です。小型モデルが判定を終えなければ、後段のはるかに大きなモデルは処理を始められません。2つの遅延は並列ではなく、直列に積み上がります。
原因2:3つのモデルが順番待ち
さらに前の世代は、もっと遅い仕組みでした。初期のChatGPT音声は、音声認識、大規模モデルによる回答生成、音声合成という3モデルを直列につないでいました。各工程が順番に処理されるため、遅延が重なります。加えて、声の調子、話す速さ、間の取り方はテキスト化の時点ですべて失われ、後段のモデルには味気ない文字列しか届きません。
GPT-Liveの2つの改革:検出器を外し、会話と思考を分離
OpenAIは、この2つの問題を別々の手段で解決しました。
第1の改革:聞きながら話せるモデル
GPT-Liveの音声モデルはfull-duplex(全二重)です。電話のように、聞くことと話すことを同時に行えます。相手がボタンを離すまで発言できないトランシーバーとは違います。
モデル自身が毎秒何度も「今話すべきか、聞き続けるべきか」を判断できるため、ターンを推測する専用の小型モデルは不要になりました。音声経路から完全に取り除かれています。考えるために間を置いても話を奪われず、途中で口を挟んでも対応できます。
第2の改革:「会話」と「深い思考」を別モデルへ
ただし、応答の速いモデルが必ずしも賢いとは限りません。ウェブ検索が必要な質問に、反応速度重視の音声モデルだけでは十分な回答を返せない場合があります。
そこで、リアルタイム会話を担うGPT-Live-1をフロントに、検索、コーディング、情報取得を担うGPT-5.5をバックグラウンドに配置しました。調査が必要な質問を受けると、フロントが処理をバックグラウンドへ委任し、自身は会話を続けます。結果が届いた時点で自然に会話へ織り込みます。これが委任です。
抽象的に聞こえるかもしれませんが、効果は実際に耳で確認できます。次は公式の実会話音声です。ユーザーの発話、GPT-Live-1の応答、GPT-5.5によるバックグラウンド検索という3トラックで構成されています。