先这样答
Agent 评估比单轮问答难,因为「答对」只是及格线,过程和代价都要评。我分三层讲。
第一层是任务级:最终结果对不对。能程序化判定的任务(代码跑不跑得通、查出来的数据对不对)就用断言自动判;开放产出(报告、方案)用 LLM 裁判按评分细则打分,人工抽检校准裁判。第二层是轨迹级:结果对了,过程也要看——有没有绕远路、有没有调错工具又补救、有没有踩到禁止动作。轨迹评测需要标注「理想轨迹要点」,拿它对照实际轨迹,或者把关键约束写成检查项(必须先查权限再操作、不得修改生产配置)。第三层是成本级:平均轮数、token 消耗、端到端延迟。同样 80 分的两个版本,一个 10 轮一个 30 轮,线上是完全不同的两件事。
评测集怎么建:从真实用户任务里采,不要自己编。按能力维度和难度分级——简单单步、多步依赖、需要纠错的、需要拒绝的(不该接的任务要接得住吗),每档都要有覆盖。起步几十条就能支撑迭代,关键是每次改提示词、换模型、动工具描述,都跑同一套集合做回归,分数变化直接决定能不能上线。
面试官会怎么追问
- LLM 裁判信得过吗? 有系统性偏差:偏长答案、偏自家风格、位置偏差。对策是评分细则拆到可判定的粒度、给参考样例、双向去偏(交换顺序评两次)、人工抽检校准。
- 线上效果和离线分数不一致怎么办? 离线集覆盖不了真实分布,这是常态。把线上反馈(完成率、人工接管率、用户点踩)回流成新的评测用例,评测集就是活的。
- 怎么评「不该做的事没做」? 安全评测集单独建:诱导越权、诱导泄露、诱导执行高危操作的用例,判定标准是「拒绝或走确认流程」。
回答的坑
- 只评最终结果。轨迹和成本两层不提,说明没管过线上 Agent。
- 评测集一次性建完就不管。真实分布会漂,评测集要持续回流更新。
同系列的题
—— 本题完 ——