用户在系统说话时补充“不是周五,是周六”,系统能否听见、停下旧回答,并把日期改对?这比“语音多久开始播放”更能说明实时交互是否顺畅。
全双工交互强调输入和输出能够同时进行,并让新输入影响正在发生的交互。 在语音场景中,边生成边播放只是流式输出;要形成完整体验,还需要持续收听、判断打断意图,并处理旧回答与任务的状态。
全双工、半双工与流式输出有什么区别?
| 概念 | 关注的问题 | 仅凭它不能确认什么 |
|---|---|---|
| 按轮次交替对话 | 一方说完,另一方回应 | 不一定能处理重叠说话 |
| 流式语音输出 | 生成一部分就播放一部分 | 不一定能在播放时理解用户 |
| 全双工语音交互 | 输入语音与输出语音可重叠处理 | 不自动保证任务取消或恢复正确 |
| 持续多模态交互 | 结合声音、场景、动作与状态变化 | 不自动证明每种模态都已实现或开放 |
全双工既可以描述系统层面的行为,也可以描述模型对输入输出流的联合处理方式。评估产品时,应让提供方说明具体是哪一种,而不是只看宣传名称。
为什么“可以打断”还不够?
一个系统可能在检测到声音后立即暂停播报,却无法区分用户插话、背景说话和自己扬声器的回声。过于敏感会不断误停,过于迟钝则让用户难以改口。
暂停成功后,还有下一步:旧音频队列是否清空?正在生成的旧回答是否停止?如果已经发起工具调用,取消是否仍然有效?如果操作已经完成,系统又该如何说明实际状态?
这些是需要分别定义的运行行为。仅仅让音量降到零,不代表后台任务也停止;反过来,取消生成也不一定能清除已经进入设备播放缓冲区的音频。
一次用户更正应该怎样流转?
下面是一个设计示意,用于说明状态之间的关系,不代表某个模型的实现架构。
以查询行程为例,用户把周五改成周六。系统先判断这是对当前任务的更正,再更新日期。即使周五的查询稍后才返回,也应识别它属于旧任务,避免把旧结果接在新回答后面。
把请求或任务关联到版本、保留取消状态、明确哪些结果仍可使用,是实现这种一致性的常见设计思路。具体方案取决于工具是否可取消、动作是否可撤回,以及业务对等待时间的要求。
全双工模型与级联语音系统如何比较?
一种常见语音系统由语音识别、文字推理与语音合成组成,容易分别替换组件,但需要协调各环节的流式状态。另一类研究直接建模语音输入输出。Kyutai 的 Moshi 论文展示了分别表示用户和系统语音流的全双工研究路线。Moshi 原始论文
这不意味着任何一个架构在所有任务上都更快或更好。应按同一设备、网络、语言、上下文和并发条件,检查内容质量、重叠语音处理与端到端体验。
评估全双工交互,要同时看四个时间点
| 时间点或指标 | 作用 |
|---|---|
| 用户实际说完 | 明确响应等待时间的起点 |
| 系统首个可听音频 | 衡量用户感知的起始响应 |
| 用户开始打断到旧播放停止 | 衡量能否及时让出话语权 |
| 更正完成到新任务正确继续 | 衡量是否真正吸收新信息 |
还应记录误触发、漏检、长停顿、重叠说话与恢复失败。检测模块的延迟、首包时间和完整任务完成时间不能混成一个“实时速度”。
Simplex SA0 的当前状态
Surd AI 将 Simplex SA0 描述为连接语音、动作、表达、记忆与工具使用的全双工交互研究方向。目前公开页面仍是研究预览,尚无公开上线的 SA0 交互 API,也没有在本文提供可调用的接口或上线日期。SA0 研究预览
如果你关注其中“什么时候回应、什么时候停下来听”的问题,可以先看已公开的 MicroCF 研究与评测。这是一项相关的时机判断研究,不能把它的检测成绩等同于整个 SA0 系统的成绩。
常见问题
全双工是不是同时识别和合成语音?
同时运行输入输出是基础,但实际交互还需要处理重叠、更正、播放状态和任务状态。具体能力要通过行为测试确认。
开启流式 TTS 就是全双工了吗?
不是。流式 TTS 解决输出如何逐步播放;持续收听和对新输入作出反应是另外的要求。
全双工交互一定更耗显卡吗?
不能仅凭名称判断。资源需求取决于模型、音频表示、并发会话、缓存和调度。应测量目标配置下的有效会话容量与延迟。
继续阅读:机器人交互模型 · 语音 Agent 何时接话、何时停下