语音代理这两年一直在两条路线之间来回摇摆,而且两条路各自的短板都很清楚。
级联方案把语音识别、文本推理、语音合成串成流水线,好处是能直接复用成熟的文本代理能力(包括工具调用),坏处是延迟叠加,而且打断处理极难做好——用户的插话要穿过三个服务才能让合成端停下来。
端到端方案直接做语音到语音,对话自然流畅,但功能受限,尤其在结构化输出和外部工具调用上先天吃亏,因为这些东西天生是文本形态的。
arXiv 2609.21967 这篇论文想把这两种路线的长处合到一个模型里,名字叫 NemotronLabs VoiceChat。
问题的真正难点:时间决策与语义决策要并行
在拆架构之前,先明确全双工为什么难。
单向交互的时间结构很简单:用户说完,模型开始,模型说完,用户再开始。模型可以等一个完整的语义单元结束后再做推理。全双工则要求说话的同时听,并且在几百毫秒内判断用户这一声是:
- 真想打断(需要立刻停止、可能需要修正已说出的内容)
- 只是附和(backchannel,可以继续说,不必重来)
- 还在犹豫(应该放缓或询问)
这三类判断依赖韵律、停顿长度、语义内容的多重线索,而且必须在语音合成还在进行时完成。同时,模型还得做正常的语义决策:调什么工具、怎么组织回答、参数填什么。
难点在于两种决策的时间尺度相差好几个数量级:接管判断要在百毫秒级完成,语义推理是秒级。把两者放进一个模型,就必须设计出让它们互不阻塞的并行结构。
架构拆解:五块并行组件
VoiceChat 的结构可以拆成五块:
- 流式语音编码器 —— 把输入音频实时编码成模型可处理的表示,是「边听」的入口。
- 仅解码器语言模型 —— 推理主干,承担语义决策。
- 并行专用输出流 —— 这一块是关键设计:代理的文本输出与结构化函数调用走各自独立的输出流,而不是挤在同一条解码序列里。这样工具调用的结构化约束(函数名、参数 JSON 结构)不会与自然语言生成互相干扰。
- 辅助 RNN-T 分支 —— 做增量式用户转写。RNN-T 天然适合流式场景,因为它可以在音频到达的同时逐词输出,不需要等整句结束。
- 流式语音合成解码器 —— 边生成边发声,而不是等整段文本完成再合成。
把这五块拼在一起,得到的能力是:在一个统一的流式架构里同时完成听、转写、推理、调工具、说话,并且保留自然对话所需的时序行为。
这里值得注意的是第 3 块。多数试图做端到端语音代理的工作,会把工具调用当成语言模型输出序列里的一段特殊文本,靠格式约束解析。这种做法的代价是:结构化输出会污染语言生成的分布,模型在「说出自然语言」和「输出合法结构」之间被迫折衷。用独立并行输出流把两者解耦,是个更干净的工程判断。
评测结果
论文报了三个基准的结果,我按「对话能力 / 语音能力 / 工具能力」分开看。
对话时序能力(Full-Duplex-Bench 1.0 / 1.5)
| 指标 | 结果 |
|---|---|
| 停顿处理的接管率 | 受评测开源权重系统中最低 |
| 用户打断后接管率 | 100% |
| 打断后回复质量 | 4.33 / 5 |
| 附和后的回答恢复率(FDB 1.5) | 93% |
打断后接管率 100% 与附和恢复率 93% 这两个数字放在一起看,说明模型确实在做区分:用户插话时它让出话轮,用户只是应和时它接着原来的思路说下去。如果模型无脑「听见声音就停」,附和场景的恢复率会崩掉;如果无脑「继续说完」,打断接管率会崩掉。两个数字同时高,才有意义。
语音能力(VoiceBench)
归一化平均分 55.1。这个分数说明模型在标准语音理解与生成任务上有基本能力,但离顶尖水平还有距离——不过该基准的分数区间与榜首表现需要对照榜单才能判断相对位置,论文没有展开横向比较。
工具能力(Full-Duplex-Bench 3.0,记作 FDB 3.0)
工具选择 F1 达到 82.5%。这是这篇论文最值得注意的数字:在同一个全双工模型里,从工具清单中挑对函数的准确率做到了八成以上。
但论文紧接着交代了短板:参数准确率与端到端工具执行仍是待改进项。也就是说,「选对工具」这一步已经可用,但「把参数填对并真正把调用跑完」还不成熟。
这个分层结果和纯文本代理的困境是一致的,只是叠加了语音链路的额外不确定性:语音输入可能包含口误、重复、自我修正,转写错误的概率也高于文本输入,这些都会传导到参数填充环节。
结论与工程意义
论文的总结是:全双工交互、语音识别与生成、通用语言能力、外部工具使用,可以在单一开源语音到语音模型里整合起来,而不牺牲实时对话行为。这句话的重点在最后半句——过去人们默认这些能力之间互斥,必须靠流水线拼接才能兼得。
对做语音产品的人来说,我认为有三条直接可用的判断。
第一,别再默认用级联流水线做全双工。 三跳串联的延迟与跨服务状态协调,在打断场景下的复杂度是指数级的。把时间决策与语义决策收进同一个模型,是目前少数能同时满足自然对话与工具调用的可行路线。
第二,工具调用的两个阶段要分开评估。 论文「选对达 82.5%、参数与端到端待改进」的分层报告方式本身就值得借鉴:把工具选择准确率与参数准确率当成两个独立指标,才看得出瓶颈到底在哪一步。很多团队只报一个聚合成功率,出了问题无从定位。
第三,附和与打断必须分开测。 93% 与 100% 这两个数字背后是两种完全相反的正确行为。评估语音代理时,把「用户附和时是否误判为打断」单独作为一个指标,比只看响应延迟更能暴露真实体验问题。
局限
论文是 2026 年 9 月 18 日提交的,作者名单很长,名字里的 Nemotron 与 NVIDIA 的模型系列同名。以下局限需要标注清楚。
参数填充与端到端工具执行未达可用水平。 这是最大的落地障碍。82.5% 的工具选择 F1 只是链路的第一环,真正决定体验的是「用户说完一句话,工具调用成功返回结果并转化为语音回答」这条完整闭环,论文明确说这一步还不成熟。
评测集中在对话时序与工具选择,缺少复杂多工具编排的验证。 真实语音代理往往需要连续调用多个工具、在调用间隙与用户交互,这类场景的稳定性没有数据支撑。
没有给出延迟与成本数据。 全双工的实用价值高度依赖端到端延迟(从用户停顿到模型开始回应的时间),以及并行五组件带来的推理开销。论文摘要把重点放在能力整合上,工程侧的关键数字缺席。
语音链路对转写误差的敏感性未量化。 辅助 RNN-T 分支提供增量转写,但转写错误如何影响下游工具调用的参数准确率,论文没有做消融。
尽管有这些保留,这篇工作的方向判断是站得住的:语音代理的下一步不是把三个模型拼得更紧,而是让一个模型同时理解「什么时候该说」和「该说什么、调什么」。