OpenAI 复盘:我们是如何在 6 个月内完成构建 GPT-Live 实时语音系统的
让 AI 说话不卡,光模型快没用,从你按下按钮那一刻起,每一环都得不掉链子。
- 以前的语音 AI 都得靠一个小模型猜「你说完没」,猜早了打断你、猜晚了显得迟钝,这一代把它整个删了。
- 难题它派给 GPT-5.5 在后台跑,自己继续陪你聊,文里有段真实录音,后台干活那十几秒,前台的嘴一直没停。
- 还有个顺手做的:他们重做了 WebRTC 的连接握手,六个来回压成一个,改动已经提交 IETF,两大实现都支持了。
以前的语音 AI,为什么听起来总是呆呆的
OpenAI 发了一篇少见的工程复盘,把 GPT-Live 这套实时语音系统六个月里怎么搭起来的全摊开讲了,从删掉那个猜「你说完没」的小模型,一路讲到重做 WebRTC 的连接握手,每一环的账都算给你看。对做产品的人来说这篇比发布公告值钱:它把「响应快」从一个模型指标,还原成了一条从按钮到耳朵的完整链路。
先别急着看架构。三段录音摆在这儿,你自己听,差别在耳朵里:
前两段的别扭感,来自两个病根。
病根一:一个专门猜「你说完没」的小模型
过去的语音 AI 是回合制的,跟对讲机一样:你说,说完,它答。中间需要一个叫 turn detector(回合检测器)的小模型,专门判断你到底说完没有。
这个判断两头不讨好。猜早了,你话说到一半被打断;猜晚了,你说完半天它还愣着,显得反应迟钝。而且它主要靠「静音」来判断,所以你中间停顿想一下、旁边有人说话、马路上过一辆车,都可能被当成「这人说完了」。
更要命的是顺序:这个小模型得先做完决定,后面那个大得多的模型才能开始干活。两段延迟是叠加的,不是并排跑的。
病根二:三个模型排成一队
再往前一代更慢。最早的 ChatGPT 语音是三个模型串起来的:语音转文字,大模型想答案,文字转语音。一环接一环排队跑,延迟层层累加。而且你说话时的语气、语速、停顿,在转成文字那一步就全丢了,后面的模型看到的只是一行干巴巴的字。
GPT-Live 做了两件事:拿掉检测器,再让说话的和思考的分家
这两个病根,OpenAI 是分两刀下的。
第一刀:让模型能同时听和说
GPT-Live 的语音模型是 full-duplex(全双工)的,能一边听一边说,像打电话,不像对讲机。对讲机得等对方松开按钮你才能出声,打电话你俩可以同时说话。
既然它自己每秒能做很多次「现在该出声,还是该接着听」的判断,那个专门猜回合的小模型就没有存在的必要了,直接从音频链路上拿掉。你停顿想一下,它不会抢;你想插话,它接得住。
第二刀:把「说话」和「深度思考」拆成两个模型
但快的模型往往不够聪明。你问一句需要联网查资料的问题,一个反应飞快的语音模型答不好。
所以他们干了第二件事:前台放 GPT-Live-1 负责实时对话,后台放 GPT-5.5 负责搜索、写代码、检索资料。你问了个要查的问题,前台把活派给后台,自己继续跟你聊着,结果回来了再顺进对话里。这叫委派。
这件事听起来抽象,但它是能被听见的。下面这段是官方放的真实对话录音,配了三条轨,你说话、GPT-Live-1 应答、GPT-5.5 在底下跑搜索: