Token导航 LogoToken导航

AI 资讯 · 科技行者

智能音箱多人同时说话场景该如何响应

更新 2026-10-22科技行者正文 6671字阅读约 21分钟

想象一个真实的场景。你在家庭聚餐上,桌上放着一个智能音箱。爸爸问妈妈晚上几点走,姐姐插了一句今天天气不错,你顺口说了句"我钥匙放哪了",然后爸爸终于转向音箱问了句"你说,晚上高速堵不堵"。这个音箱接下来该怎么办。

它要在四句话里挑出真正该回答的那一句,还要在别人已经回答完之后知道闭嘴。这件事听起来简单,但目前市面上几乎所有的语音助手评测,都没有真正测过这个场景。它们测的是你一个人跟机器对话,你打断它,它道歉,然后继续说。可现实生活里,机器从来不是只服务一个人的。

这就是一群来自北大、人大、清华、南洋理工、厦门大学和复旦的研究者们决定要解决的问题。他们做了一个叫 Duplex-MPE 的评测集,专门用来测试语音模型在多人对话里的表现:什么时候该说话,什么时候该闭嘴,什么时候该在别人抢答之后主动停下。

这事为什么一直没人做

先说说现在的评测都在测什么。

大部分语音评测的逻辑是,你给模型一句话,它必须给出一个答案。哪怕是号称最先进的"全双工"评测集,比如 Full-Duplex-Bench v1.5,测的也是打断、背景噪音、闲聊插话这些场景,但背景始终是一个用户对一个助手。

全双工语音模型:指能够一边听一边说的语音AI系统,不需要等对方说完才能开口,也能在自己说话时继续接收新的语音输入。传统的语音助手更像对讲机,一次只能一方说话;全双工模型更像打电话,双方随时可以插话。

另一类叫 HumDial 的评测,已经开始考虑第三方说话的情况了,但它测的是模型能不能"拒绝"不该回应的内容,前提仍然是有一个指定的用户,机器只服务这一个人,其他人的话都算噪音要过滤掉。

问题就出在这里。真实的多人场景里,别人说的话往往不是噪音。妈妈说的价格信息可能正是你后面要问机器人做计算的依据,姐姐的一句"我刚查过了,九点关门"可能直接让机器人不用再回答你之前的问题了。机器需要一边跟着整个对话走,一边单独判断自己什么时候该开口。这和"过滤掉不相关的声音"完全是两回事。

研究团队把这个空白定义得很清楚:现有方法要么只测轮流对话,要么只测"该不该拒绝",没有一个测试真正把机器人放进一个几个人共享的对话空间里,让它自己判断轮到谁说话、该不该接、该不该停。

四个独立的分数,而不是一个总分

Duplex-MPE 的设计思路,是把"该不该说话"这件事拆成四种具体的行为,分别打分,而不是笼统地算一个"回答准确率"。

这四个分数分别是:新发起回应率、条件回答准确率、静默保持率、应答窗口让位率。

先说结构。整个评测包含 2000 个场景,每个场景里有三到四个真人说话者,加上一个叫 Aria 的语音助手。每个场景里有一个明确指向 Aria 的请求,也有若干轮不需要它插嘴的对话,还专门设计了"别人替它回答了"这种情况,测试它能不能及时闭嘴。

轮次标签:论文把对话里的每一句话都打上标签,标出这句话该不该让助手接话。T代表直接对助手的请求,是唯一需要助手主动回应的类型;N1指提到了助手但没有请求它做事;N2指这句话是对其他人或其他设备说的;N3是自言自语或没有明确对象的话;N4是一种特殊情况,一个人先问了助手一个问题,随后又有人替它给出了答案或告诉它不用回答了,测试助手能不能及时停下。

每个场景还有一个巧妙的设计,就是同一个任务会生成两个版本,一个版本里请求明确点名"Aria",另一个版本里请求换成了不带名字的表达,但要传达的意思、正确答案完全一样。比如同样是问哪家店更便宜,一个版本说"Aria,哪家更便宜",另一个版本说"你一直在记这些数字,那算一下,哪家更便宜"。这样设计的目的是测试模型到底是靠听到自己的名字才反应,还是真的能从上下文推断出这句话是在跟它说话。

这个设计像什么。

想象你在一个多人微信群里,有人@了你的名字问了个问题,你肯定会回。但如果有人没@你,只是说"刚才那个提议的人,你觉得怎么样",而这句话明显是在问你,你会不会因为没被@就假装没看见?如果一个群管理机器人只会认名字,不会读上下文,它就永远学不会判断"这句话明显是在问我"这种情况。Duplex-MPE 用配对设计,专门检验模型是不是这种只认名字的机器人。

所有音频都是合成的,没有真人录音的隐私问题,但整个流程做得很扎实。研究团队先用 Claude Opus 5 生成带标签的对话剧本,规定场合、活动、人物关系、设备背景和说话语气这五个属性的组合,再用 Qwen3-TTS 把每句话单独合成语音,拼接成连续的音频流。整个数据集包含 61.1 小时的独立语音片段,四千段完整对话总共 110.93 小时。

评测的关键在于,模型接收到的只有连续的音频流,没有文字稿,没有说话人标签,没有轮次边界,什么提示都没有,就是一段原始的房间录音,模型得自己从头到尾听出个所以然来。

四个指标到底在测什么

先说新发起回应率。这个指标只看那种"请求说完时模型没在说话,然后 5 秒内新开口"的情况。它和另一个叫"回应出现率"的辅助指标不一样,后者把"模型本来就在说话,请求结束时还在继续说"的情况也算进去。

这个区分很关键。

举个例子,论文里提到有个叫 Freeze-Omni 的模型,回应出现率高达 99.55%,几乎每次请求后都有声音,看起来表现很好。但它的新发起回应率只有 25.25%。这说明它绝大多数"回应"根本不是针对这次请求做出的新反应,而是之前就在说的话还没说完,恰好盖住了这个时间窗口。这就好比一个人一直在自说自话,你问了他一个问题,他碰巧还在说别的事,你没法判断他到底听没听见你的问题。

条件回答准确率:只统计那些确实有语音输出的回应里,答案是不是真的答对了请求的问题。这个指标必须建立在"有回应"的基础上,因为一段沉默里没有内容可以判断对错。

第三个指标是静默保持率,测的是那些本该保持安静的轮次里,模型有没有乱插话。论文允许一种例外,就是短暂的、不带实质信息的附和,比如"嗯""好的"这种,不算违规,但如果模型说出了具体的答案、建议或者反问,哪怕只有半句话,就算失败。

第四个是应答窗口让位率,这是整篇论文里设计最巧妙的一个指标。它测的是,当一个人向助手提问后,另一个人后来替它回答了或者告诉它不用回答了,助手能不能及时停下来。这个测试只针对那些"在问题播放期间保持沉默,问题结束后 3 秒内开始说话,并且在人类给出答案时还在说话"的事件,不是所有沉默或所有说话的情况都会被算进这个分数。

这四个指标分开算分,不合成一个总分。研究团队的解释是,一个能力上的成功没法弥补另一个能力上的失败,如果强行加权平均,反而会掩盖真实的问题。

结果:说得多不等于说得对

五个开源语音系统被拿来测试,分别是 MiniCPM-o 4.5、Moshi、FLM-Audio、Voila 和 Freeze-Omni。结果非常能说明问题。

先看下面这张核心结果表:

| 模型 | 寻址方式 | 新发起回应率 | 条件回答准确率 | 静默保持率 | 应答窗口让位率 |

|---|---|---|---|---|---|

| MiniCPM-o 4.5 | 明确点名 | **0.9500** | **0.4730** | **0.9242** | 0.5964 |

| MiniCPM-o 4.5 | 隐含指代 | 0.9435 | 0.4665 | **0.9289** | 0.5925 |

| Moshi | 明确点名 | 0.6340 | 0.0123 | 0.2734 | 0.1918 |

| Moshi | 隐含指代 | 0.6700 | 0.0170 | 0.2676 | 0.2107 |

| FLM-Audio | 明确点名 | 0.5380 | 0.0011 | 0.3957 | 0.0082 |

| FLM-Audio | 隐含指代 | 0.5425 | 0.0005 | 0.3991 | 0.0059 |

| Voila | 明确点名 | 0.6465 | 0.0031 | 0.8351 | **0.8484** |

| Voila | 隐含指代 | 0.6670 | 0.0075 | 0.8307 | 0.8046 |

| Freeze-Omni | 明确点名 | 0.2525 | 0.0035 | 0.0002 | 不足 |

| Freeze-Omni | 隐含指代 | 0.2580 | 0.0015 | 0.0002 | 不足 |

MiniCPM-o 4.5 在三项打分指标上都领先,而 Freeze-Omni 的表现最能说明问题:它的静默保持率只有 0.0002,也就是两万多个该保持安静的时刻里,只有 5 次真正闭嘴了,几乎每一个不该说话的时刻它都在说话。

更有意思的是 FLM-Audio。它的回应出现率有 95%,看起来挺积极,但条件回答准确率只有 0.11%,也就是说,一千九百多次有声音输出的回应里,只答对了两次。这说明它虽然愿意开口,但说出来的内容基本是错的或答非所问。

这就像一个总是抢着举手回答的学生,你以为他很积极,结果他答的内容跟老师问的完全没关系。举手的动作本身骗不了人,答案的内容才能骗人,或者说,才能证明他到底有没有真正理解问题。

论文用了一个特别直白的对比来说明这个问题:MiniCPM-o 和 Freeze-Omni 的回应出现率都很高,分别是 95.45% 和 99.55%,看起来几乎一样积极。但一个的静默保持率是 92.42%,另一个是 0.02%。单看"有没有说话"这个数字,根本区分不出一个模型是在做选择性回应,还是在无差别地一直说话。这也是为什么论文坚持要拆成四个独立指标,而不是合成一个总分,因为总分会把这两种完全不同的行为模式糊在一起。

再看应答窗口让位率这一项。Voila 的数字是 0.8484,看起来相当高,似乎它很擅长在别人替它回答后及时停下。但这个数字只统计了"符合特定条件的事件",在明确点名的情况下,Voila 真正进入这个统计范畴的事件只有 620 个,而它总共遇到的 N4 场景有 1911 个。换句话说,大多数情况下它要么提前说话,要么根本没在窗口内开口,能进入这个"及格考试"的样本本身就是被筛选过的。真正的及格率背后藏着一个更小的分母。

这提醒我们看任何评测分数的时候,都得先弄清楚这个分数的分母是什么,不然很容易被一个看起来漂亮的数字误导。

名字重要吗:一个反直觉的发现

论文里有一组对比特别值得琢磨。

研究团队用 Gemini 3.1 Pro 做了一个对照实验,这个实验不给音频,只给文字转录稿,加上完整的说话人标注,让它判断该不该回应。结果发现,当请求明确点名"Aria"时,它的回应率是 94.7%;当请求换成不带名字的隐含表达时,回应率骤降到 30.4%,两者相差了整整 64.3 个百分点。这说明,当一个模型能清楚地"看到"文字和说话人身份时,名字对它的判断影响巨大。

但五个语音系统在明确点名和隐含指代两种情况下的回应率差异,最大也就不到 2 个百分点,而且统计检验显示这些差异都不显著。

这个对比揭示了一件挺让人意外的事。这些语音模型对"是不是被点名"这件事,反应远没有想象中敏感。这背后可能有两种解释。一种可能是它们确实学会了从对话上下文里推断谁在被问,所以点不点名对它们来说区别不大,这是好事。另一种可能是它们压根没有理解"名字"这个信号的含义,不管有没有被点名,它们的反应模式都差不多,只是恰好碰上了什么就接什么。

论文没有下定论说是哪种情况,但给出了一个佐证:在明确点名的场景里,MiniCPM-o 对着它说话时有 95.45% 的时候会出声,而面对明明是对其他人说的请求时,它有 4.6% 的概率还是会插嘴。这说明它确实有一定的区分能力,只是这种区分能力目前还谈不上完美。

这个发现某种程度上也提示了一个更深的问题。文字模型和语音模型处理"谁在跟谁说话"这件事的机制可能完全不一样。文字模型看到的是干净的、带标签的转录稿,说话人是谁写得清清楚楚。语音模型面对的是原始声波,它得自己从音色、语调、上下文节奏里去猜测这句话是不是对着自己说的,这个任务的难度完全不在一个量级上。

时间越长,表现越差

论文还做了一个挺有现实意义的分析,把请求出现的时间点分成早、中、晚三组,看模型表现会不会随着对话变长而下滑。

结果显示,确实会。

Voila 的回应出现率从对话早期的 71.64% 下降到晚期的 59.55%,在隐含指代的情况下下降得更明显,从 76.21% 掉到 55.82%。FLM-Audio 的新发起回应率从早期的 67.61% 一路降到晚期的 47.67%,接近腰斩。MiniCPM-o 的条件回答准确率也从早期的 50.69% 降到晚期的 46.82%。

这个现象不难理解。对话越长,模型需要记住和处理的上下文就越多,它可能在长时间的连续音频流里逐渐"迷失",对谁在说什么、之前发生了什么变得不那么敏锐。

这就像你在一场长达两小时的家庭聚会里,一开始还能清楚记得每个人聊了什么,到后半程,信息堆得太多,你反而更容易漏听关键的一句话,或者记混谁说了什么。人类尚且如此,更别说要在没有文字提示、纯靠音频流实时处理的机器了。

这个发现对实际部署有直接的警示意义。如果一个语音助手真的要长时间陪伴在一个多人场景里,比如车载语音系统陪着一家人开长途,或者会议室里的语音助手陪完一整场两小时的会,现在测试的这些系统在持续时间上的表现衰减,可能是实际使用中会遇到的真实问题,而不只是实验室里的数据。

统计严谨性:论文做了什么额外的验证

这篇论文在方法论上花了不少功夫来确保结果可信。

比如为了检验静默保持率的排名是不是偶然,研究团队做了自助抽样,重复计算了一万次,发现排名在 95% 的置信区间下始终稳定,MiniCPM-o 和排名第二的 Voila 之间的差距落在 8.25 到 9.58 个百分点之间,这个区间从头到尾都没有跨过零,说明两者的差距是真实存在的,不是抽样偶然造成的。

研究团队还请了六名人类审核员,交叉检查了一百个场景的构建质量和模型输出的评分准确性,发现数据构建的有效性达到 98% 到 100%,评分环节里语音转文字的准确性达到 100%,自动评分和人类最终判断的一致性也在 98% 到 99% 之间。这些数字虽然枯燥,但对一个依赖大模型自动打分的评测体系来说,恰恰是最需要交代清楚的部分,不然读者没法相信"答对了""说得合适"这些判断本身是不是靠谱的。

论文还专门测试了如果不用语义豁免规则,只看检测到的说话时长会怎样。他们试了 0、100、200、300、500 毫秒五个不同的阈值,结果发现无论用哪个阈值,五个模型的排名顺序都没有变化。这说明整体结论不是因为某个评分细节的选择而凑巧得出的,换一种算法,结论依然站得住。

写在后面

读完这篇论文,最触动我的其实是那个 64.3 个百分点的对比。它暴露了一件容易被忽略的事情:我们现在评价语音模型"聪不聪明",很多时候用的是文字世界的标准去套。给它转录稿,给它说话人标签,它表现得挺好。可真实世界里根本没有这些标签,声音是连续的、模糊的、混杂的,机器得自己从一团声波里剥出"这句话是在跟我说"这个判断。这两件事的难度完全不是一个数量级,而现有的很多评测悄悄地把这个鸿沟给抹平了。

另一个值得记下来的细节是 FLM-Audio 那个"举手很积极但答案基本全错"的表现。95% 的回应出现率配上不到 0.11% 的准确率,这个组合特别有警示性。如果只看一个笼统的"响应率"这种表面指标,这个模型看起来完全没问题,甚至可能显得比那些沉默寡言的模型更"主动"。但拆开来看,它的主动其实是空转,说了很多,但没说对什么。这提醒我们,评价一个系统靠不靠谱,永远不能只看它有没有反应,得看它反应的内容对不对。

论文里还留了一个没有回答的问题,那就是模型表现随对话时长下滑这件事,背后的机制到底是什么。是模型的注意力机制本身在长序列上有衰减,还是训练数据里很少出现这么长的多人连续对话场景,导致模型没学过怎么应对。这个问题这篇论文没有深究,但对于想把语音助手真正用在长时间、多人场景里的人来说,这可能才是接下来最该被追问的事情。

Q&A

Q1:Duplex-MPE评测集是用来测试什么的?

A:Duplex-MPE专门评测语音助手在多人对话场景中的表现,测试它什么时候该主动回应、什么时候该保持沉默、以及当别人替它回答后能不能及时停止说话,一共包含2000个三到四人参与的对话场景。

Q2:为什么模型的回应出现率高不代表表现好?

A:因为回应出现率只统计有没有声音输出,不管内容对不对。论文发现FLM-Audio回应出现率高达95%,但条件回答准确率不到0.11%,说明它虽然经常开口,但说的内容基本是错的。

Q3:语音助手被明确点名和没被点名,回应表现差别大吗?

A:用文字转录稿测试的Gemini模型差别很大,相差64.3个百分点;但五个真实语音系统在两种情况下的回应率差异都不到2个百分点,且统计上不显著,说明它们对"被点名"这个信号的敏感度远低于预期。

文章标签学术研究

资讯来源:由AI资讯编辑整理自互联网公开内容,版权归原作者所有,未经许可,不得转载。