重复问题检测:你的单轮评估无法察觉的会话级盲点
用户打开你的聊天窗口,提了一个问题,得到一个评估套件打分为 4.6(满分 5 分)的回答。接着,他们换了一种说法问了同样的问题。同样的回答,同样的分数。他们又试了一次,这次用了人们在怀疑机器没在听时常用的套话——“我实际上想做的是……”——然后他们关闭了标签页。从模型的视角来看,这是三个干净的问答轮次。从仪表盘的视角来看,这是一个活跃的会话。但从用户的视角来看,这是一个连续三次失败的产品,而且以后再也不会打开了。
这就是“单轮评估”(per-turn evaluation)无法察觉的失效模式。孤立来看,每一轮对话似乎都是正确的。裁判(Judge)给了赞。幻觉检测器保持沉默。相关性评分很高。然而,整个对话作为整体并没有解决任何问题——而这正是用户真正评估你的单位。
错误在于将用户的每一轮对话视为评估分布中的独立抽样,而实际上,同一会话中来自同一用户的连续轮次是深度相关的。如果第 N+1 轮在语义上等同于第 N 轮,你看到的不是一个新查询——你看到的是同一个查询, 由于之前的回答没有奏效而再次出现。将其计为两次活跃轮次而不是一个未解决的轮次,正是导致“模型表现良好”与“用户正在流失”之间的鸿沟在一个季度内都无法被察觉的原因。
重复提问会话的形态
这种模式具有足够的结构化特征,足以被命名。同一个用户,同一个会话。两个或更多指向相同底层意图的轮次。在重新表述中带有越来越多的沮丧标记——套话、语气升级、明确提及之前的轮次(“就像我之前说的”、“不,我问的不是那个”)。以及一个并非“解决问题”的终结动作:关闭标签页、问一个完全不同的问题、提交支持工单,或者——对你的留存数据来说最糟糕的情况——再也不回来了。
行业数据开始为此提供量化支持。研究多轮 LLM 行为的研究人员发现,一旦需求规范分散在多个轮次中,模型就会“迷失方向”;而且高频率的重新表述(重试超过两次)是对话破裂的可靠指标。对话式支持系统的研究将重复提问视为主要的沮丧信号,与突然终止、负面情绪以及切换到人工座席并列。Amazon Alexa 团队专门构建了上下文重新表述检测,因为这种摩擦信号足够强烈,足以支撑起一个专用模型。
这种指标之所以如此容易被漏掉,是因为这些信号都不会出现在单轮质量评分中。按照你的标准评分的轮次级 LLM-as-judge 无法知道用户在两分钟前已经问过同样的问题,并得到了一个类似但无用的回答。裁判看到一个输入、一个输出,打分,然后继续。会话的弧线(session arc)在设计上对它就是不可见的。
为什么单轮评估在通过遗漏撒谎
单轮评估本身并没有错。它回答了它被要求回答的问题:这个回答针对这个提示词而言是否高质量?问题在于,它被问到的问题并不是业务需要回答的问题。业务问题是:这个对话作为一个整体,是否解决了用户的实际需求?
这两者并不是同一个指标。一个回答可以技术上正确、事实准确且语法优雅,但仍然在对话层面失败,因为它回答的是问题的字面表述,而不是背后的潜在需求。这就是为什么支持行业框架长期以来一直区分分流率(deflection rate,机器人关闭了会话)、拦截率(containment rate,用户没有升级到人工)和解决率(resolution rate,用户的实际问题消失了)。前两个很容易衡量也容易作弊。第三个才是与留存率相关的指标。
单轮质量更接近于分流而非解决。它告诉你每一次交换是否格式良好,而不是这些交换的累积效果是否有用。一个包含五次高质量但相互冗余的、针对同一个重复问题的回答,在单轮质量上得分很高,但在解决率上得分为零。
还有一个更难接受的推论:你的“高质量”回答中有一部分只是模型的礼貌层在对同一个“非回答”进行包装。裁判奖励的是流畅度,而用户想要的是他们要求的东西。
