M1.08.3pre-response filler设计研究

系统开口前的空白需要填充反馈

别名: 等待音 · 占住话轮的反馈 · thinking earcon

概念解释

「京都周四到周日的天气」说完了,识别、理解和查服务还要将近两秒。这两秒里房间没有声音。用户听成的不是「机器在算」,而是「没听见 / 死机 / 该我再喊一次」。开口前填充(pre-response filler)是系统在拿到话轮之后、第一句真正内容出来之前,用来占住话轮的信号:耳标、短促的「稍等」、屏幕上的聆听结束而计算开始。它处理的是系统侧延迟,不是用户还没说完。

机制

会话里,问句之后大约一秒量级的缝就会开始被听成麻烦:不情愿的回答、没听清、或者话轮掉在地上。人类用反馈(backchannel)和占轮声(「嗯」「我看看」)填这道缝。对话系统在算的时候若保持静音,就生产了一段无标记停顿:用户无法区分「我已经接过话轮」和「你的话丢了」。空白被拿去跟轮流规范对齐,不会去跟服务器延迟的服务指标对齐。

填充的作用是宣布:话轮在我这边,我在工作。它可以是非言语耳标,也可以是很短的话语。没有它,用户会在延迟里重说整句——这会被当成新输入,把正在算的那一轮挤掉,延迟进一步变长。填充若拖成一句完整的「好的我来帮你查询京都未来四天的天气」,又会变成新的可被打断的话轮,把延迟从「计算」转成「听废话」。

怎么研究

做延迟 × 填充的因子:从端点到首包音频设 300 / 800 / 1500 / 2500 毫秒,每档有无耳标或极短语。因变量用延迟期间的整句重说、「在吗」、以及对系统抢话(用户以为没接上而再唤醒)。不要只问满意度:人可以觉得「反应挺自然」同时在一点五秒处已经重问。

对照条件应排除「内容还没准备好却先播了一句假答案」。填充必须是占轮,不能是可被当成结果的命题。有屏设备可以另加一臂视觉旋转,看眼睛在设备上时听觉填充是否仍必要。

边界

首包已经能在约三百毫秒内出来时,再加填充是噪声,尤其在短命令上。填充太像一句真回答(「好的是」)会被听成确认,用户开始打岔。同一段思考音循环太多次会从占轮变成催促。公共场合里任何额外出声都有社交成本,此时灯或触感可能比「稍等」更合适。电话 IVR 的等待音乐是另一族填充,时长以分为单位,不能拿来设计助手的两秒缝。

怎么落地

  • 只要从端点到第一句内容的预期时间会超过大约零点七秒,就在端点之后立刻发占轮信号,不要等大模型首 token。
  • 「听见了」和「还在算」用不同声音;前者在端点瞬间,后者只在计算仍未结束时维持。
  • 允许用户在填充期间打断;打断应取消这次计算,而不是把填充当一句需要理解的用户话。
  • 把延迟和「延迟期间是否重说」画在一起。加上填充后,重说曲线若仍随延迟爬升,占轮信号不够早,或不够像占轮。

延伸

  • 同组M1.08.1 端点检测决定系统何时认为用户说完了 · M1.08.2 思考时的停顿会被误判为话轮结束
  • 相邻M3.09 打断与插话 · M3.11 语音输出的信息裁剪 · C7.02 端点检测
  • 站内检索pre-response filler · backchannel · floor holding

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/M1.08.3