《Agent原理,架构与实践》

第9讲:Agent评估与迭代

准备起一个新的系列《Agent原理,架构与实践》。目标不贪心:

1. 希望每篇文章有1-2个点能让大家有收获;

2. 希望不被骂;

本期第9讲,咱们开始。


上一讲咱们聊到,咱们的mini-agent,工具有了,规范有了,Agent跑起来了。那么问题来了:它干得对不对?生成的需求文档、代码,没有标准答案,怎么验收?又怎么优化迭代?今天来聊聊Agent的评估体系与优化迭代。


【1】问题一:没有标准答案,Agent怎么验收?

传统软件的验收很简单:预期输出是确定的,对就是对,错就是错。可Agent的产出是开放的,并没有什么"标准答案"?没有标准答案,怎么判断它写得对不对?

答:不是和标准答案比,而是和验收标准比。

画外音:没有标准答案时,验收标准就是标准答案。


问题转化为,验收标准怎么写?

这里有个反直觉的技巧:少写"好的输出是怎样",多写"坏的输出长啥样"。


比如说,sdd-site-agent,第一个步骤,要输出符合spec的需求文档,那什么是好需求文档?

大概率,是一些四平八稳的空话,例如:"结构完整、逻辑清晰",这种标准没法打分。


但问题如果是,烂的需求文档长啥样,答案立刻就出来了:

1. 需求验收条件是"系统要快",不量化,没法验证;

2. 需求漏掉了异常流程,只写了主流程;

3. 只写了功能需求,没写非功能需求,也没写埋点需求;

...

嗯哼?每条失败标准反过来,不就是一条可检查的验收标准了吗?

标准一:必须量化可验证;

标准二:必须包含异常流程;

标准三:必须包含非功能需求与埋点需求;

...


最后来定指标,Agent评估产出一般有三类指标(和任务类型相关):

1. 任务成功率,端到端主指标:N个任务,达成几个;

2. 精确匹配,答案唯一时用:数值、日期、分类;

3. 评估标准打分,开放输出时用:按标准逐条打分;


主指标必须用任务成功率,因为Agent的执行结果,对的输出可能不止一条。


【2】问题二:谁来判断?

标准有了,下一个问题是:每条标准谁来判断?

这里有三个裁判,可以按顺序上场。


第一个裁判:确定性检查,能精准判断的,全部自动化跑。

例如:

1. 需求文档格式对不对:文档五个部分齐不齐、代码能不能跑;

2. 需求文档规则对不对:命名字符不符合规范、字段在不在表结构里;

写脚本判,零成本,秒出结果。


第二个裁判:LLM评审,判断"好不好"的软标准。

3. 需求文档逻辑通不通、方案合不合理;

让模型评模型,但标准要独立于生成过程。


这里面非常重要的一点是,顺序千万别弄反:能确定性评估的,就别用模型评估。


第三个裁判:人工抽检,保底校准。

4. 自动评大部分,人抽查一小部分对答案;

确认"机器评的"和"人评的"没跑偏。


LLM评估还有一个大坑要防:LLM最常见的失败模式不是"评错",而是"自信地同意",它倾向于给好评。所以第三个裁判,人工抽检兜底必须保留:定期拿机器的评分和人的判断对一对,跑偏了就要校准与调整标准。


像不像代码评审?

第一步,lint先扫一遍(确定性);

第二步,组员code review(软判断);

第三步,leader抽查(保底)。

画外音:代码评审,机器干机器的,人干人的,先机器再人工,顺序乱了必出问题。


【3】问题三:评估完,Agent怎么迭代?

评估不是终点,而是驱动Agent不断优化引擎。


完整的迭代循环长这样:跑N个任务→算通过率→捞失败case→归因到设计缺陷→改设计→再跑一轮。


最关键的步骤是"归因",失败case是什么原因?

1. 规划错,目标理解偏了→改任务书/提示词;

2. 行动错,工具用错、参数给错→改工具描述、改工具设计;

3. 观察错,结果误读带着错跑→加观察环节的校验;

4. 知识错,不遵守团队规范→改skill正文和资源;


最后,测试集不是固定的,也是需要迭代的:生产环境里每发现一种新的bad case,就把它加进测试集。测试集面向真实的案例不断增长,评估体系才不过时。


我的职业生涯里,线上故障case study几十年,最深的体会是:失败case最值钱。成功的系统都差不多,失败的各有各的教训。所以测试集里,失败案例永远比成功标准多很多。


【4】我们的sdd-site-agent:验收标准怎么定?

回到我们自己的项目,给sdd-site-agent的产出定三层验收标准:

1. 格式层(确定性):产出的文档齐全吗?生成的代码能跑吗?

2. 规则层(确定性):文档符合规范吗?命名一致吗?

3. 质量层(LLM+人):需求方案合理吗?设计原型合理吗?技术方案合理吗?


核心指标:任务成功率,评估标准打分做诊断。


测试集:从5个真实任务起步,不断加入不符合标准的bad case。


【5】简单总结

今天这一讲,聊的是Agent的评估与迭代:

1. 没有标准答案时,验收标准就是标准答案,先写什么是“不好的输出”,标准反着来即可;

2. 三个裁判按顺序上场:确定性检查、LLM评审、人工抽检。注意:能确定评判的,就别用模型评估;

3. 评估是引擎不是终点:跑任务、捞失败、归因、改设计,测试集朝着真实风险面生长。


补充阅读:《Agent评估最佳实践》

https://platform.openai.com/docs/guides/evaluation-best-practices


评估体系建起来了。可评估能兜底质量,有两件事它兜底不了:有人故意往输入里藏恶意指令(prompt注入)怎么办?烧的token太多怎么办?下一讲,咱们聊聊安全与成本。


欢迎持续关注,让我们一起,一步一步,实现自己业务专属的mini-agent。


知其然,知其所以然。

思路比结论更重要。


===全文完==


PS:公众号只能贴静态图文,无法用js实时互动,在线版设计了课后习题与实操演练,欢迎阅读原文体验。



文章原文