OpenAI GPT-Live: 工程化实时语音 AI 系统

OpenAI 开发了 GPT-Live,这是一种第三代语音系统,旨在消除传统基于回合(turn-based)的语音 AI 的迟钝感。通过使用全双工语音模型取代回合检测器,使其能够同时进行听和说,GPT-Live 实现了亚秒级的响应速度和更自然的对话节奏。

从基于回合转向流式架构

GPT-Live 摒弃了级联系统——即语音转文本、LLM 和文本转语音按顺序运行——以及之前仍依赖回合检测器来触发推理的语音转语音模型。

在新架构中,语音模型直接控制对话。音频持续地流入和流出模型,而更深层的推理和工具使用则异步处理。这确保了主要的媒体循环保持不中断,将“说话”与“思考”解耦。

为持续推理和低延迟进行工程化设计

为了维持无缝的媒体循环并防止出现可听见的伪影,OpenAI 实施了多项系统性优化:

专用媒体路径与语言转向

OpenAI 将媒体流与应用及业务逻辑分离。音频在专用的快速路径上移动,而委托(delegation)和工具使用则发生在异步 RPC 边界之后。为了提高帧交付的平滑度,媒体前端和推理逻辑使用 Go 语言重写,取代了之前的 Python asyncio 实现。这一变化使得 p95 延迟达到了之前系统的 p50 水平。

传输与协议优化

WebRTC 作为传输基础,允许系统处理丢包和时钟漂移。为了进一步降低启动延迟,OpenAI 引入了两项关键创新:

  • WARP:一套旨在压缩传输握手并减少网络往返次数的开放规范。
  • Instant Connect:一种提前协商 SDP 参数的机制,允许会话通过单个 UDP 数据包启动。

有状态推理与上下文管理

为了支持长时间运行且不中断的对话,OpenAI 开发了一种无缝切换机制。当模型实例需要被替换或上下文需要压缩(以符合模型限制)时,系统会并行预热一个替换实例,并为其预填充(prefill)必要的上下文,只有在新实例准备就绪时才进行切换。这防止了 KV cache 重建导致的听觉延迟。

异步委托给前沿模型

GPT-Live 集成了 GPT-5.5 等前沿模型,用于处理复杂的推理和搜索,而不会阻塞实时语音路径。

优化委托循环

为了确保委托的结果返回得足够快以发挥作用,OpenAI 优化了整个循环——路由、提示词处理、推理和工具调用。这包括在语音会话开始后立即为前沿模型创建一个推理会话,并使用稳定的会话亲和性(session affinity)和提示词缓存(prompt caching)来预填充对话上下文,从而最大限度地降低延迟。

从连续语音中推导离散回合

由于周边系统(如 UI 和安全基础设施)需要离散的消息,应用服务器使用部分转录文本(partial transcripts)和计时信号来推断说话者回合。系统为 UI 维护一个推测性视图,并为分析保留一份权威记录,从而在保持语音路径连续的同时,提供稳定的对话记录。

生产环境测试与扩展

OpenAI 使用“静默测试”验证了 GPT-Live,将一部分生产环境中的 ChatGPT Voice 会话以只读模式路由到新系统。这一过程揭示了几个关键见解:

  • 容量规划:容量由并发会话数和保持每一帧按时交付的能力决定,而非仅仅是 GPU 吞吐量。
  • 地理分布:端到端响应速度在很大程度上取决于将会话路由到区域容量,以最大限度地减少基于距离的延迟。
  • 生命周期故障:长时间运行的会话和重新连接操作暴露了内存压力和状态恢复问题,这些在短时间的负载测试中并不明显。

该架构目前正为 ChatGPT Voice 功能提供支持,包括桌面应用中的计算机控制和智能体(agent)协作,并将作为即将推出的 GPT-Live API 的基础。

Sources