# 只看错误率，找不到 Agent 坏在哪一步

> DeepLearning.AI 与 Arize 的短课程教你分开评测路由器、每个技能和端到端流程。

原文: https://fdetimes.net/zh/books-courses/evaluating-ai-agents-course-router-skill-evals/

一个客服 Agent 在 100 个问题里答错了 30 个。光看这个数字，不知道该修什么：可能是路由器选错了技能，也可能路由器选对了，技能却把事情办砸了。*Evaluating AI Agents* 是 DeepLearning.AI 与 Arize AI 合作推出的短课程，教的正是如何找出错误出在哪里。

DeepLearning.AI 于 2025 年 2 月 19 日在其社区网站发布了这门课程。授课的是 Arize AI 的两位成员：开发者关系负责人 John Gilhuly 和产品总监 Aman Khan。

对前线部署工程师（FDE）来说，这门课的价值不在工具，而在思路：当 Agent 在客户现场出了问题、所有人都等你解释原因时，你需要的正是这种思考方式。

## 课程教什么，适合谁？

贯穿整门课程的主线是：Agent 要在两个层面上评测，一是每个组件单独评测，二是从头到尾的完整流程。针对每个组件，选择合适的评估器、测试样例和指标，然后在开发阶段和上线到生产环境之后持续迭代改进。

评估器主要有两种形式：用代码编写，或者采用 LLM-as-a-Judge。课程还教两项配套技能：一是加入可观测性（链路追踪），看清 Agent 走过的每一步，便于调试；二是把评测组织成实验，同时提升输出质量和轨迹（trajectory），也就是 Agent 得出答案所经过的步骤序列。

入门门槛很低。只需要基础 Python；有给 LLM 写提示词的经验更好，但不是必需。配套的 GitHub 仓库由 ksm26 维护（并非 DeepLearning.AI 官方页面），仓库将其描述为一门动手实践课程，学员要用真实样例测试技能、路由决策等子组件。

## 思路一：把路由错误和执行错误分开

回到那个 100 个问题答错 30 个的 Agent。这是一个用来说明方法的假设示例。假设这个 Agent 有三个技能：订单查询、退款处理和政策问答。

Arize AX 文档介绍路由器评测时，从一个简单的问题出发：对于这条输入，路由器选对技能了吗？假设你发现路由器在 85 条查询上选对了，那么就有 15 条查询错在路由这一步。

评测技能时，Arize 文档建议以技能被正确调用为前提，因此只在这 85 条查询上给技能打分。如果其中 70 条结果良好，剩下的 15 条就是执行错误。30% 的错误率由此拆成两组，各 15 条，每组需要完全不同的修法。

对于路由错误，首先可以尝试把技能描述写得更清楚，或者给路由器更多示例。执行错误则在技能内部：提示词、工具，或者技能检索的数据。如果只看端到端错误率，很容易花一周时间调路由器的提示词，而技能内部的那部分错误纹丝未动。

**要点:** 总错误率只能告诉你 Agent 在出错，不能告诉你是哪一步在出错。

## 思路二：按任务选评估器

配套仓库列出了三类评估器：基于代码的指标、LLM-as-a-judge 和人工标注。上面的例子说明，每一类适合不同的任务。评测路由器只需把它选择的技能名和正确答案比对，所以一个基于代码的匹配函数就够了：便宜、快速，而且每次运行结果一致。

评测一个关于退款政策的回答要难得多，因为没有唯一的标准答案可供比对。这时就要用 LLM-as-a-Judge。但未经验证的评判模型还不可信，所以人工标注是第三层。

请客户方的领域专家手工给几十条查询打分，再把他们的分数和评判模型的分数对比。在 FDE 项目中，这一步还有一个额外好处：客户参与定义了什么叫“正确”，因此更愿意信任这套评测。

## 思路三：先链路追踪，再做实验

看不到路由器选了什么，就无法评测路由器。所以可观测性是上述一切的前提，而不是锦上添花。

每一步都有链路追踪之后，每次改提示词或换模型，都在同一组样例上重跑一遍，作为一次实验。这样就能把新版本的输出和轨迹与旧版本并排对比，而不是靠肉眼估计。

到了客户现场，第一件事是在修任何东西之前先打开链路追踪，因为没有追踪数据，任何关于失败原因的结论都只是猜测。

学这门课之前，先检查自己有没有犯下面这些错误。它们都直接来自课程的方法：

| 常见错误 | 正确做法 |
|---|---|
| 只跟踪端到端错误率 | 分别评测路由器和每个技能，同时仍要测量完整流程 |
| 在路由器已经选错的查询上评测技能 | 只在路由器选对的查询上评测技能 |
| 用 LLM-as-a-Judge 比对技能名 | 写一个基于代码的匹配函数 |
| 不加检验就相信评判模型的分数 | 与几十条人工打分的查询对比 |
| 改了提示词就肉眼看几条查询 | 在同一组样例上跑实验，对比修改前后 |

一个小练习：沿用上面 100 条查询的例子，假设你重写技能描述后，路由器在 95 条查询上选对，技能把其中 80 条处理得很好。重新计算路由错误和执行错误。答案是 5 和 15：总错误率下降了，但技能内部的错误一点没动。

## 什么时候学，怎么写进简历

这门课适合已经亲手搭过简单 Agent、看得到它在出错却不知道错在哪里的工程师。如果你从没写过带路由器的 Agent，先搭一个小的，因为手头有自己的真实失败案例可以分析时，这些练习的意义会大得多。

学完之后，读一读 Arize AX 文档中的 Agent 评测部分，巩固“路由器与技能分开评测”这条原则。

求职方面，读 FDE 岗位描述时，留意“evals”“observability”“production monitoring”这类字眼，它们说明招聘团队需要的正是这项技能。简历上不要只写“完成了一门评测课程”，而要写你把 Agent 的错误率拆成了路由错误和执行错误，并附上修复前后的数据。

客户不需要听 Agent 有多好。他们需要知道的是：它出错时，错在哪里，什么时候能修好。这门课帮你用数据回答第一个问题。

**本周动手试试:**

- 选 20 个真实用户问题，自己标注每个问题对应的正确技能，然后写一个基于代码的评估器，测量路由器选对技能的比例。
- 对路由器选对的查询，用 LLM-as-a-Judge 单独给技能输出打分。再手工标注其中约 10 条，看评判模型和你的判断是否一致。
- 给你正在做的 Agent 加上链路追踪，然后从头到尾跟踪一个错误答案的轨迹。

## 信源

- [Evaluating AI Agents - DeepLearning.AI](https://www.deeplearning.ai/short-courses/evaluating-ai-agents/)

- [✨ New course! Enroll in Evaluating AI Agents](https://community.deeplearning.ai/t/new-course-enroll-in-evaluating-ai-agents/773080)

- [Evaluating AI Agents](https://github.com/ksm26/Evaluating-AI-Agents)

- [Evaluating Agents - Arize AX Docs](https://arize.com/docs/ax/concepts/evaluators/evaluating-agents)
