语音智能体轮次切换:重塑架构的 250 毫秒门槛
研究跨语言话次转换(turn-taking)的语言学家们得出的结论惊人地一致:日常对话中说话者之间的间隙大约为 200 到 300 毫秒。任何更长的停顿都会被解读为犹豫、疏远或顺从;任何更短的停顿则会被视为打断。这个窗口是如此狭窄,以至于人类显然在对方说完之前就开始构思回复了 —— 倾听和计划是并行发生的,而非顺序进行。
错过这个窗口的语音智能体并不仅仅是让人觉得有点慢,而是让人觉得“不对劲”。在聊天产品中没人会注意到的 700 毫秒延迟,在语音交互中会让智能体显得迟钝、心不在焉,或者导致用户因失去耐心而打断它。1.5 秒的间隙足以让用户开始重复他们说过的话。满足这一时间预算并非简单的打磨工作 —— 它迫使开发者做出文本智能体从未面临过的架构选择,而这些选择重塑了整个技术栈的构建方式。
问题不在于“让模型更快”。模型只是关键路径上四个串行系统之一,当你真正分解实际耗时(wall-clock)时,模型很少是最大的耗时项。达到亚秒级目标的语音技术栈最终看起来不像聊天 API,而更像实时电话系统 ,以及它所暗示的所有技术规则:全链路流式传输、预测性推理、各阶段的硬性截止日期,以及一个可以在情况变化时立即取消任务的控制面。
分解时间预算
自然的人机语音交互的一个实用目标是 800 毫秒的端到端感知延迟,而对于最敏捷的交互,极限目标是 500 毫秒以下。自然的话次转换窗口是 200–300 毫秒,但在实践中,对于以任务为导向的对话,低于 800 毫秒的延迟对大多数用户来说都是可以接受的。只有当用户在与智能体进行密集的交替对话时,200–300 毫秒的目标才变得至关重要。
在 800 毫秒的预算内,四个阶段在竞争时间:
- 轮换结束检测 (End-of-turn detection):判断用户是否已说完。使用 500 毫秒静默触发的初级 VAD 在任何推理开始前就会消耗掉 500 毫秒。现代语义端点检测(semantic endpointing)可以将此降低到 150–250 毫秒。
- STT 定稿 (STT finalization):将部分转写文本锁定为 LLM 可以处理的稳定形式。像 AssemblyAI 的 Universal-3 Pro 这样的流式 ASR 系统报告称,从语音结束到最终转写的 p50 延迟约为 150 毫秒。
- LLM 首字延迟 (TTFT):模型输出第一个生成的 token。这是关键指标;响应的其余部分可以与 TTS 播放并行流式传输。在有提示词缓存的情况下,目标是 200–300 毫秒,没有则更长。
- TTS 首音延迟 (Time-to-first-audio):合成第一个音素,使扬声器开始发声。流式 TTS 系统可达到 75–200 毫秒;非流式系统则需等待整个句子完成,会增加 500–1500 毫秒。
再加上两端的网络传输 —— 在典型的移动连接上为 30–50 毫秒,蜂窝网络则更高 —— 你就能明白预算是如何挥发殆尽的。初级的顺序执行会将这些累加:500 + 150 + 300 + 150 + 80 = 1180 毫秒,用户才能听到第一个音节。那不是语音智能体,那是步话机。
流式传输将等式从求和转变为求最大值
逃离这 1180 毫秒的架构方案是停止顺序执行阶段,转而通过流式管道并行运行。STT 在用户说话时发出部分转写。LLM 在用户说完之前就开始生成。TTS 在 LLM 完成之前就开始合成。每个阶段都运行在前一阶段输出的滑动窗口上,而不是等待其完成。
延迟计算从 VAD + STT + LLM + TTS 转向更接近 max(VAD, STT, LLM, TTS) —— 受限于耗时最长的那个阶段,而不是它们的总和。在一个设计良好的管道中,当检测到轮换结束的一瞬间,LLM 已经根据高置信度的部分转写生成了一半,而 TTS 的首字节延迟只有几百毫秒,而不是几秒。
这给架构带来了文本系统无需考虑的压力。每个阶段都需要流式协议。每个阶段都需要处理修正(revision),因为刚刚收到的部分数据可能会改变。每个阶段都需要显式的取消原语,因为当用户打断或上游阶段发出不同的输出时,它开始的一半工作都将被丢弃。
