AI 快讯 编译自 simon_willison #WebRTC#语音AI#OpenAI

WebRTC 设计缺陷导致语音 AI 提示词丢包:OpenAI 低延迟语音面临准确性问题

前 Discord 工程师 Luke Curley 指出 WebRTC 为保实时性会丢弃音频包,导致语音 AI 提示词不完整。这对 OpenAI 等依赖 WebRTC 的语音助手意味着用户可能得到错误响应。本文分析技术根源及对中文用户的影响。

编译发布 2026/05/25 原文发布 2026/05/09

一句话看懂

WebRTC 为保低延迟会丢弃音频包,导致语音 AI 提示词不完整,用户可能得到垃圾响应。

详细发生了什么

前 Discord 工程师 Luke Curley 在博客中猛烈批评 WebRTC 在语音 AI 场景下的设计缺陷。他指出,WebRTC 的核心设计目标是为实时通话保持低延迟,因此在网络不佳时会主动丢弃音频包。这在传统电话会议中尚可接受(用户只听到短暂失真),但对于语音 AI 来说,丢失的音频包可能正是提示词的关键部分。

Curley 强调,用户宁愿多等 200ms 也要确保提示词完整准确,因为“垃圾提示词等于垃圾响应”。然而,WebRTC 在浏览器层面甚至不允许重传丢失的音频包——他在 Discord 时已经尝试过,但实现层面硬编码了实时性优先。

该评论直接回应了 OpenAI 发布的《How OpenAI delivers low-latency voice AI at scale》一文。OpenAI 声称通过 WebRTC 实现了低延迟语音交互,但 Curley 认为这恰恰是问题的根源。

中文圈视角

国内用户用得上吗? 目前国内主流语音 AI 产品(如百度文心一言的语音模式、讯飞星火、阿里通义千问的语音交互)大多也依赖 WebRTC 或类似实时传输协议。如果 WebRTC 存在此缺陷,那么这些产品同样面临提示词丢包风险。

国产替代方案? 国内厂商更倾向于使用自研的私有协议或基于 QUIC 的传输方案,但尚未公开对比。对于开发者而言,如果正在构建语音 AI 应用,可以考虑使用 WebSocket 或自定义 RTC 实现,牺牲部分延迟换取提示词完整性。

对中文用户的具体影响:中文语音识别本身对上下文依赖更强(同音字多),丢包导致的错误可能比英文更严重。例如,丢失一个“不”字可能完全改变语义。用户在使用语音助手时,如果发现响应莫名其妙,网络状况不佳可能是原因之一。

监管/合规角度:国内对语音数据传输有严格规定,WebRTC 的丢包行为可能影响数据完整性,但尚未有明确监管要求。开发者需注意在合规前提下保证服务质量。

几条值得记住的细节

  • WebRTC 为低延迟会主动丢弃音频包,这在传统通话中可接受,但对语音 AI 是灾难。
  • 浏览器中无法重传丢失的 WebRTC 音频包,Discord 曾尝试但失败。
  • 用户宁愿多等 200ms 也要完整提示词,但 WebRTC 不允许等待。
  • OpenAI 的低延迟语音方案依赖 WebRTC,可能面临提示词不完整问题。
  • 中文语音识别对丢包更敏感,因为同音字多,语义依赖上下文。

一句话总结

用 WebRTC 做语音 AI 就像用漏水的桶装水:快是快,但关键内容可能已经漏光了。