← 返回方法论

Benchmark 怎么用:搭 Agent 的人该如何使用 benchmark

benchmark 不是考卷,是答案库——读榜选型、抄判分方法、切片诊断

  • Agent
  • Benchmark
  • 评测

问题

搭 Agent 的团队几乎都经历过这个循环:改了一版,手动试三五个 case,感觉好多了,上线。过两天用户又报了一个新 badcase,再补丁式修改。

这个循环的问题不在于改得慢,在于没有坐标系:不知道这次修改让系统整体变好还是变坏,也不知道问题出在链路的哪一段。归结起来就是一个问题:Agent 怎么知道自己做对了?

正路:把循环倒过来

先定义“好”是什么(评测集 + 判分标准),再让每次修改对着评测集回归。修改的最小单位不再是“改了个功能”,而是“评测分从 61 → 68,退化 0 例”。

从 benchmark 身上拿三样东西

  1. 读榜选型:用公开榜单比较模型与方案
  2. 抄判分方法:借鉴公开 benchmark 的判分标准,建自己的评测集
  3. 切片诊断:出问题时,把单次执行拆成节点逐段定位

一次执行的 7 个节点

任何一个 Agent 系统,不管什么框架、什么模型,单次请求都可以拆成 7 个节点:输入理解与澄清、检索/工具调用、上下文组装、推理规划、执行、结果验证、输出。每个节点都有典型的坏法——该问不问、拿着歧义需求猛跑;检索结果不相关;验证缺失导致幻觉输出。

实践体会

  • 评测集不是一次建完的:每发现一个 badcase,就把它沉淀进评测集
  • 判分标准要可执行:能说清“什么算对”,才能让修改有方向
  • 没有坐标系的迭代,只是看起来在进步