音声アシスタントに話しかけて、一拍おいてから返事が来る。あの微妙な間の正体は、たいてい「相手が黙るまで待ってから考え始める」という設計にある。マイク入力を音声認識(STT)にかけ、テキストをLLMに渡し、返答を音声合成(TTS)で読み上げる。この直列パイプラインは組みやすい代わりに、ターンの切れ目を無音で判定するので、会話がどうしても硬くなる。
7月8日にOpenAIが公開した GPT-Live は、その前提そのものを外してきた。ChatGPTの音声モードに載る新しいモデルで、聞くことと話すことを同時にやる。相づちを打ちながら聞き、こちらが喋っている途中で短く言葉を差し込み、必要なら黙って聞き役に回る。地味な変更に見えて、音声エージェントの作り方を変えうる話なので、設計思想を分解しておきたい。
「全二重」が会話モデルに入ると何が変わるか 🎙️
全二重(full-duplex)はもともと通信の用語で、電話のように双方向を同時に流せる方式を指す。片方が送っている間はもう片方が受けに徹する無線(半二重)の逆だと思えばいい。GPT-Liveはこれを会話モデルの中に持ち込んだ。MarkTechPostの技術解説がOpenAIの説明として引くところによれば、モデルは毎秒何度も次の判断を下している。
makes interaction decisions many times per second: whether to speak, continue listening, pause, interrupt, or invoke a tool
話すか、聞き続けるか、止まるか、割り込むか、ツールを呼ぶか。これを連続的に決めているので、無音を検知してから初めて動く従来型のような「間」が生まれにくい。従来技術との差分を並べると三段階になる。
| 方式 | パイプライン | ターンの区切り方 | 体感 |
|---|---|---|---|
| カスケード | STT → LLM → TTS | 無音で判定 | 遅く、ぎこちない |
| ターン制の単一モデル | 単一モデル | 無音で判定 | 速いが硬い |
| 全二重(GPT-Live) | 単一モデル・連続処理 | 毎秒の連続判断 | 速く、自然 |
新しいのは「速くなった」ことではなく、ターンという離散的な単位を捨てて、発話の判断を連続量にしたところにある。人間同士の会話が相手の沈黙を待たずに重なるのと同じ理屈だ。
速い会話係と、重い思考係を2枚に分ける
個人的にいちばん興味深いのは、速さと賢さを1つのモデルに無理やり両立させようとしていない点だ。GPT-Liveは2層構成になっている。表側の連続対話レイヤーが会話のテンポを保ち、裏側の委譲レイヤーが、複雑な推論やWeb検索が必要な場面だけ別モデルへ処理を投げる。投げ先は打ち上げ時点で GPT-5.5。深く考えさせるときは推論寄りの構成が走る。ポイントは、GPT-5.5が裏で考えている間も表のGPT-Liveは相づちや言い直しで会話を止めない、と説明されている点だ(buildfastwithaiのレビュー)。
モデルは GPT-Live-1 と GPT-Live-1 mini の2種類。ChatGPTのGo/Plus/Proが前者、無料ユーザーが後者を既定で使う。推論の深さにはInstant・Medium・Highといった段階があり、深く考えさせても会話の速度は落ちにくい設計だという。
この「即応する薄い前段」と「じっくり考える厚い後段」を分ける発想自体は目新しくない。レイテンシと知能はトレードオフだ、という現場の諦めに対する一つの答えで、要は速い層でユーザー体験を止めず、遅い層で品質を稼ぐ。GPT-Liveはそれを製品として1モデルに畳み込んだ、と読むと腑に落ちる。
今日コードから触れるのはRealtime APIの方 🔌
ここで実務的な冷や水を。GPT-Liveは現時点でChatGPTアプリ(iOS / Android / Web)専用で、APIは「近く」提供予定、いまは待機リスト受付中という状態だ(apidogのまとめ)。つまり今日自分のプロダクトに組み込めるのはGPT-Liveそのものではなく、既存のRealtime APIになる。ここは誤解しやすいので押さえておきたい。
面白いのは、OpenAI自身が公開しているデモリポジトリ openai-realtime-agents が、GPT-Liveの委譲とよく似たことを手作業で組んでいる点だ。リアルタイムの軽い「Chat Agent」が会話を回し、難しい判断はテキスト側の「Supervisor Agent」に渡し、さらに重要な判断は別モデルへエスカレーションする。GPT-Liveは、この手組みのオーケストレーションを1つの全二重モデルの内側に取り込んだもの、と捉えると位置づけがはっきりする。逆に言えば、APIが来るまでは同じパターンを自分で組めるということでもある。
git clone https://github.com/openai/openai-realtime-agents
npm i
npm run dev
import { RealtimeAgent } from '@openai/agents/realtime';
会話を持つエージェントと、その裏で重い仕事を引き受ける監督役を分けて定義し、必要なときだけ引き継ぐ。GPT-Liveが待ちきれない人は、この構成でいまから委譲パターンに慣れておくのが現実的だ。
数字はまだ提供元の自己申告である点に注意
性能について。OpenAI自身の評価では、GPT-Live-1は旧来のAdvanced Voice Modeより人手評価のすべての軸で好まれ、専門科目の推論を測るGPQAやエージェント的Web検索のBrowseCompで改善し、電話応対を模した社内ベンチでも上回ったとされる。ただしこれらはいずれも第三者検証ではなく提供元の主張で、確認できた範囲では具体的なスコアは公表されていなかった。だから「賢くなった」の中身は、まだ額面通りには受け取らない方がいい。加えて現状は英語圏が中心で、使用頻度の低い言語ではアクセントや流暢さに差が残るとも説明されている。日本語での実用度は、公開後に自分の耳で確かめるべき部分だ。
私が注目しているのは、製品名やベンチマークより設計の方向性だ。音声AIの体感品質はモデルの賢さそのものより「間」で決まる、という経験則に、GPT-Liveは正面から答えを出している。速い層で会話を切らさず、遅い層で品質を稼ぎ、ユーザーには1本の滑らかな対話として見せる。APIが降りてくれば、電話ボットや音声エージェントの構築は確実に楽になる。それまではRealtime APIで委譲パターンを手で組み、来たるべき全二重世代に備える。今できる準備としては、それがいちばん無駄がない。