A7.3 评测驱动开发:像调试概率机器一样开发
传统调试方法失灵了
写传统软件,调试流程很清爽:写代码 → 跑测试 → 绿了就对,红了就改。这套流程有个隐含前提——同样的输入,永远给同样的输出。
智能体把这个前提砸了。同一个任务跑两遍,轨迹可能不同、结果可能一次对一次错(A0 讲过:每步都是采样)。你没法写一个「输入 X 就断言输出 Y」的确定性测试——它是个概率机器。
于是开发方式必须变。吴恩达在 Agentic AI 课里给的答案是四个字:评测驱动开发。核心一句话——先建一个评测集,再用数据说话地改进,而不是改一句提示词、手动试两下、觉得「好像变好了」就提交。凭手感调智能体,和用评测调智能体,做出来的可靠性不在一个量级。
两类评测:能自动判的优先
评测驱动的第一步,是把「好不好」拆成能测量的东西。两类:
- 客观评测:能用代码自动判对错的——格式对不对、数值对不对、测试过没过、订单建没建(回扣 A7.2 的「基于状态判定」)。优先用这类,便宜、可靠、可大规模自动跑。
- 主观评测:开放质量,如回复是否得体、报告是否清晰。只能上 模型裁判或人评——记得它们带着上篇 7.2/7.3 讲的全部偏差(长度、自信、位置)。
能拆成客观评测的,绝不留给主观评测。 「回答有没有包含正确的退款金额」是客观的(提取数字比对),别偷懒丢给模型裁判去「感觉一下」。
核心动作:Error Analysis
评测跑完,你会得到一个数字:「成功率 62%」。新手到这里就开始瞎调提示词了——这正是最大的浪费。
真正拉开差距的动作叫 error analysis:把失败的案例一条条捞出来,读它的轨迹,归类根因。是工具选错了?参数填错了?规划跑偏了?上下文溢出了(A3)?还是被提示注入了(A8)?
只有归好类,你才知道该修哪儿。发现「38% 的失败都是工具参数填错」,就该去改工具描述或加参数校验,而不是笼统地把系统提示词又改长一段。
而 error analysis 的微观动作,就是一件事:在一条失败轨迹里,找出第一处真正出错的步骤。亲手练两道:
两道题都藏着同一个陷阱——最后崩溃的那一步,往往不是出错的那一步:
- 订机票:崩在最后订错了票,但根因在第 2 步——日期填 成了
07-02而不是07-20。此后每一步(查到的航班、下的单、给用户的答复)都在「正确地」基于那个错误日期往下走,所以看起来毫无破绽。 - CSV 统计:结果是「3 月销售额 0 元」,根因在筛选前缀
2026-3对不上文件里补零的2026-03。更惊悚的是模型没有质疑这个可疑的 0,反而给它编了个「这个月可能没数据」的合理解释。
这就揭示了智能体排错的铁律:盯根因步,不是盯崩溃步。而要能盯到根因步,前提是你手里有完整的轨迹日志——没有轨迹,你只看得到「它订错了票」;有轨迹,你才能定位到「第 2 步日期打错了」。这也是 A4 组合系统那节反复强调「每块积木都要留轨迹」的原因。
留轨迹这件事,2024-2026 年已经有成熟的工具生态专门在做——这类 LLM 可观测性 / tracing 工具(如 LangSmith、Langfuse,以及基于 OpenTelemetry 的 LLM 追踪方案)会把每一次模型调用、每一次工具调用的输入输出、耗时、token、父子关系全都记下来,让你能像回放录像一样一步步复盘一条失败轨迹。自己搭智能体时,尽早接上一个这类工具,比事后靠 print 大海捞针强得多。
开发闭环
把上面几件事串起来,就是评测驱动开发的循环——它长得像做科学实验,而不像写传统代码:
建评测集 → 跑一遍 → 读失败轨迹、做 error analysis
↑ │
│ ↓
回归重跑 ← 针对性改(改提示 / 加校验 / 换工具 / 加纠错)
每一轮改动都有数据支撑:改之前成功率 62%、error analysis 说主要死于工具参数错、加了参数校验后重跑到 78%——清清楚楚,而不是「我觉得好像顺了」。社区里已经有开源的智能体评测平台专门支撑这套流程(做参数化变体、自动判分、断点续跑等),比如 agent-eval-platform,想看一套真实实现长什么样可以参考。
只盯着一个固定评测集反复改,最后会像上篇 7.2 讲的刷榜一样自欺——你的智能体在这个集上 95%,一上线还是拉胯,因为它过拟合了这几十个案例。解药:持续把线上真实失败案例回收进评测集,保持「考题新鲜」。评测集是活的,不是一次建好就供起来的。
小结
- 智能体是概率机器,确定性测试失灵——改用评测驱动开发:先建集,再用数据说话地迭代。
- 能自动判的客观评测优先;开放质量才用带偏差的模型裁判/人评。
- 核心动作是 error analysis:读失败轨迹、归类根因;排错铁律是盯根因步不盯崩溃步——所以完整轨迹日志是命根子。
- 评测集会过拟合,要持续回收线上真实失败案例保持新鲜。
延伸阅读
- 吴恩达 DeepLearning.AI《Agentic AI》——评测驱动开发与 error analysis 讲得最系统的一门课。
- agent-eval-platform——一个社区开源的智能体评测平台,参数化变体、判分、断点续跑,可作为「评测驱动流程如何落地」的参考实现。
- 下一章 A8 · 安全与未来:能力越强、失败越贵——智能体的安全与最后的展望。