轮次增加会累积识别与理解误差
别名: 跨轮误差放大 · 槽位被前面的错带跑 · cascade of dialogue error
概念解释
点一份披萨:第一轮把「厚底」听成「薄底」,后面问配料、问地址时,系统都把薄底当成已成立的事实往下填。用户以为自己在补后面的槽,实际是在一张已经写错的订单上签字。跨轮误差累积(turn-wise error accumulation)说的是:每一轮的识别或意图错误,会成为下一轮的上下文。轮次变多,不是简单多几次听错机会,而是早期的错会污染尚未开口的槽。这和「短指令更好」不是同一主张——即使目标本来就该多轮,误差也会沿对话向前传。
机制
槽填充把已填项写进共同基础。下一轮的语言模型、指代和默认值都从这份基础里取。第一轮的替换错误(厚/薄)一旦被当成接地成功,后续确认若只回述新槽,错的那一项再也进不了修复窗口。理解错误同样会传:把「不要香菜」解析成「要香菜」,后面问「还加什么」时,否定已经不在状态机里。人很难在第三轮记得去复查第一轮;工作记忆抓的是当前问题,不是整张表的审计。所以完成率随轮次下降,往往不是最后一轮突然听不清,而是第一处错已经把后面的问答锁进错误分支。
怎么研究
在多轮槽填充里把错误注入指定轮次:第 1 轮替换一个槽,后续轮次不再注入,看下游槽的正确率、用户发现并回退的轮次、以及最终提交是否带着那颗种子错误。对照是同一任务的单轮「一句话说全」。因变量不要停在词错误率:要看种子错误存活率——第一处错在任务结束时是否仍在。
现场日志用直方图:按「第一次系统理解失败出现在第几轮」切片,再叠放弃与错误提交。高峰若落在第 1–2 轮之后的完成态里仍带着那次失败的槽值,就是累积而不是当轮噪声。实验室脚本若每轮都强制显式确认所有已填槽,会把累积人为抹掉,测不到真实传播。
边界
每轮都把全部已填槽回述一遍,累积会被截断,代价是把对话拉成朗读。高置信、封闭词表的短槽(开/关、今/明)单轮错误率已经很低,累积项接近零。用户在盯着屏幕上看已填表单时,视觉外存承担审计,口语通道上的累积不再是唯一发现路径。反向也成立:系统若在低置信时静默采用,累积比「听错了但立刻问了」更凶——不是轮次本身有毒,是未接地的假设被当成了事实。
怎么落地
- 对会写入后续上下文的槽(决定后面问什么的那几个),在写入共同基础之前做一次针对该项的确认或高亮回述,而不是等整单结束再总读。
- 允许用户在任何一轮点名改前面的槽,并且改完后重新计算被该槽牵动的下游问题,不要继续用旧分支往下问。
- 把「第几轮第一次出错」和「提交时那一项还对不对」分成两个指标;只看任务成功会把带着种子错误的完成算成胜利。
- 验证:在测试集里人工注入第一轮替换,跑完流程看提交记录。种子错误仍在、且用户没有被给予回退点,这条技能就在累积。