智能体的评测,不能只看它答得对不对
当模型开始调用工具、改写状态,“正确”就不再是一个字符串比较能回答的问题。
评测对象变了
预测式模型时代,评测是清晰的:给定输入,比较输出与标注答案的差距。智能体不是这样——它执行的是一串动作,中间还会读取和修改外部状态。
于是在这条链路上,至少有四种失败方式:
- 动作本身选错了;
- 动作选对了,但参数错;
- 动作与参数都对,但顺序错;
- 全过程都对,但代价高到不可接受。
只看最终答案,这四种会被压成一个“通过”或“不通过”,而它们的修法完全不同。
我实际在盯什么
- 终态正确性:任务结束时,外部状态是否与期望一致;
- 过程可接受性:有没有做出危险或不可逆的动作;
- 成本:完成同一任务消耗的调用次数与时长;
- 可复现性:同样的输入重复跑,结果是否稳定。
一个提醒
不要用字符串精确匹配去评判自然语言输出。它会把“意思完全正确但措辞不同”判成失败,然后你会开始为了让测试通过而调 prompt,而不是让产品变好。
小结
评测的设计要和系统的形态匹配。智能体是“过程性”的系统,评测就必须能看过程。
评论
填个昵称就能发,不需要注册或登录