寓言
查路标和看终点
导航软件的质量团队分了两组。甲组负责「逐段检查」:把一条导航路线切成二十段,每一段检查导航有没有在正确的路口提醒转弯。乙组负责「全程跟踪」:找一百个司机开着导航跑完全程,看他们到底有没有到达目的地。
第一个月的数据出来,甲组报上来的正确率是百分之九十七——大多数路口导航都提醒对了。产品经理很高兴,准备发新闻稿。乙组的数据晚了两天才出:百分之二十一的司机没有到达目的地。有人在正确的高速出口被导下了匝道又导上来,绕了一圈。有人在乡间土路上被导进了断头路。
产品经理把两端数据放在一起看,发现问题出在「正确」的定义上。甲组的正确是「该提醒路口时提醒了」——只看每步操作对不对。乙组的正确是「按导航走到地方了」——看全局结果。二十个路口全提醒对了,不代表二十个路口连起来能到终点。
导航团队调了所有失败案例的轨迹回放。有一个典型案例:司机在高速上导航每隔两公里提醒一次「保持直行」,步数准确率百分之百。但最后一个出口处,导航漏了一次提醒,司机错过了出口,多绕了四十公里。甲组的算法把这个案例算成百分之九十五正确率——十九步全对,一步错。乙组把它算成失败。
团队重新设计了评估框架。逐段检查不丢——它能定位到具体哪个路口出了错。但整体得分标准改了:只要终点没到,整条轨迹算失败。然后看失败案例里哪几步错了,针对性修改。改完再看失败率降没降。
改动之后,团队发现了一个之前藏得很好的问题:有些步骤单独看完全正确,但连在一起会让司机走一个奇怪的之字形。甲组的检查永远看不出这个问题——因为每一步在它的评价标准里都是对的。乙组的全程跟踪让这种组合型错误暴露了出来。
测试负责人写了一份总结:拆开看是找哪里坏了,合起来看是判断这件事成没成。你可以在拆开后找到所有坏掉的零件,修好它们,再合起来看还是坏的——因为坏的不是零件,是零件之间的配合。
产品总监把这份总结带到了行业大会,最后一张幻灯片上写了一句:你的 Agent 每一步都做对了,客户的问题还是没解决。这句话到底是在夸你的步骤设计,还是在说你的全局目标设定有问题——取决于你看的是步骤打分还是最终结果。