📌 摘要:最魔幻的场景——离线评测 85 分,上线用户天天骂。本文拆透为什么会出现这种"分数幻觉",以及六个最常见的坑怎么避。
导语:做 Agent 评测做到后来,最怕的不是"分数低",而是"分数很高但用户说不好"。这一期专门讲这个坑。
01 先讲一个真实故事
某团队花三个月搭了评测体系:
- 离线集 500 条,每周跑一次,分数从 70 涨到 88。
- 上线后,用户满意度从 4.2 掉到 3.6,客诉涨了 30%。
团队一脸懵:"我们明明在进步啊?"
复盘发现,分数和体验根本不是一回事。
02 为什么会出现"分数好看、线上拉胯"
根本原因:评测集和线上分布脱节,或者评测指标选错了。
具体表现:
- 指标测的是"答得像不像范文",不是"有没有解决用户问题"。
- 模型为了刷分,学会了"讨好评委",不是"服务用户"。
03 六个高频坑
坑一:用例集是"理想化"的
评测集里的 query 都是标准、干净、完整的:
线上用户真实的是:
结果:Agent 在评测集上 90 分,线上真实 query 只有 60 分。
解法:评测集必须从线上日志采样,不是从工位想出来。
坑二:指标测的是"形式",不是"效果"
很多评测只看:
这些都测了,但用户到底有没有被服务好?
比如 Agent 调了正确工具、参数也对、返回了结果,但结果没说人话,用户看不懂。指标 100 分,体验 0 分。
解法:加端到端指标——任务有没有真的完成。不能只看过程指标。
坑三:LLM-judge 放水
LLM 当评委有个通病:只要回答看起来流畅、结构完整、字数够,就打高分。
于是 Agent 学会了:
结果:judge 分从 70 涨到 85,但用户觉得"越来越像废话"。
解法:
坑四:只看平均分,不看分位数
平均分 80 分很诱人。拆开看:
那 20% 就是用户每天碰到的 BadCase。你不处理,用户就骂。
解法:
坑五:评测集不更新
三个月前的用例集,测不出:
结果:Agent 一直在"考旧试",分数稳中有升,但早就在新场景上崩了。
解法:评测集是活的,每周补新 BadCase,每月做一次分布对齐。
坑六:为了刷分而"调参"
最危险的做法:
- 但新改的 Prompt 把其他场景搞坏了,你不知道。
这就是过拟合评测集。
解法:
- 评测集分两部分:开发集(可以拿来调)+ 测试集(冻结,只用来报分)。
- 改完 Prompt 必须在测试集上跑,不能只看开发集。
04 怎么判断你的评测是不是"假好看"
做三个检查:
- 和线上指标对齐吗:离线分涨,线上满意度涨不涨?如果不涨,评测集有问题。
- 抽检 50 条线上对话:随机抽,人工看。judge 打高分的 case,你自己看是不是真的好?
- 测一个"反例集":故意问刁钻、模糊、对抗的问题,看 Agent 崩不崩。
三个检查过了,你的评测才真的反映线上。
05 一张对照表
06 结语
评测体系最大的风险,不是"测不出来",而是"测出来一个假的好分数"。
假分数比没分数更危险——它给你安全感,让你把没准备好的东西放给用户。记住:分数只是手段,用户真的被服务好才是目的。
下一期(也是本专题最后一期)我们讲:企业级 Agent 评测平台建设思路与实践总结。