Skip to content

Evals 与 Reflection:测试、反馈和真正的学习分别发生在哪里 ​

“给 Agent 加一个评审者,让它不断反思直到正确。”这句话有两个未经证明的前提:评审者能够识别错误,修正过程会提高结果质量。循环写出来很容易,两个前提却都需要证据。

Evals 的组织方式,大量复用测试工程 ​

准备输入、环境、运行配置、预期结果,执行系统,保存产物,计算评分,阻止回归。这与测试和质量工程有直接联系。固定样本、环境隔离、版本记录、失败归因都值得直接复用。

难度常在“预期结果”怎么定义。工单是否重复创建、是否读了越权资源,可以检查系统状态;报告是否准确说明了配置与故障的关系,需要理解证据。仅与一份标准答案逐字比较,又可能拒绝不同表述或不同但有效的调查路径。

因此需要区分结果要求与路径要求。若两条合法路径都拿到了必要证据,通常不必要求工具调用顺序完全一致;但权限、预算和必须确认的动作属于路径约束,不能因为最终答案正确而忽略。

Anthropic 的 Agent 评测资料讨论任务、轨迹、结果与不同评分方式。本例的核心推论是:先写业务验收,再挑评分器;不能因为某个指标方便自动化,就让它定义成功。

模型裁判只是一个需要验证的判定组件 ​

考虑以下原创算例,所有标签由教学设定给出,并非实测:

人工参考裁判接受裁判拒绝
正确 30 条273
错误 10 条46

总体准确率为 (27+6)/40=82.5%,但错误答案中有 4/10=40% 被放行;接受结果中的错误比例为 4/31≈12.9%。三个数字各自正确,却回答不同问题。

如果把裁判当发布门,重点之一就是错放,而不是只展示总体分数。还要检查长答案、专业术语、引用数量是否影响判断。权威语气能提高评分而证据没有变化,就说明评分器可能偏离真实目标。

这并非“模型裁判无用”,而是质量工具也需要自己的参考集、版本和适用边界。人工标签有争议时,同样需要回到业务判据,不能用多数票掩盖定义不清。

Reflection 与普通重试的区别在于新增了什么 ​

工具临时不可用,原请求重试可能合理;报告遗漏部署版本,再生成一次同样的答案未必有帮助。有效反馈应该指出可行动的缺口,并让后续动作获得新信息或使用更明确的判据。

例如第一版认为产品支持恢复,所以当前实例能恢复。评审给出“缺少实际配置”,助手据此读取部署记录,发现没有启用。质量改善来自新增的环境证据与修正,而不是“反思”二字本身。

若同一个模型读同一份资料,既生成又批准答案,它可能重复同一个误解。即使换成另一个模型,也要考虑共享资料和相似偏差。增加独立原文检查或可执行验证,往往更容易解释为何能够改善。

自我反思不等于权重训练 ​

Reflexion 论文明确讨论通过语言反馈和情景记忆改善后续尝试,而非直接更新模型权重。这个例子说明,“学习”在不同系统中可以指不同层次的变化。

改变的对象可以观察到什么不能自动推出什么
当前上下文同一任务下一步策略变化其他会话也会记住
外部记忆或规程之后任务可读取经验经验正确、适用于新场景
提示或路由配置系统行为版本变化模型参数被训练
模型权重参数训练产生新模型版本整个系统质量必然提升

系统实际改了哪一项,就按哪一项验证。把几轮文字反馈叫作自我进化,却没有说明保存了什么、在哪些独立任务有效,读者就无法判断能力声明。

反馈闭环也会把错误目标优化得更好 ​

若评分奖励引用数量,Agent 可能补上无关链接;若奖励始终给出根因,它可能隐藏合理未知。运行更多轮反而更贴近错误目标。

因此先比较无反思、一次有依据的核查、自由反思三种配置,固定总预算与任务范围。记录哪些错误被修复、哪些正确答案被改坏、耗时增加多少。停止规则可以依据已满足的要求、仍有价值的证据缺口与预算,不应依赖模型一直自报“还有改进空间”。

本篇判断:评测基础设施和反馈循环可复用测试工程;开放语义下的正确性判定、裁判偏差与错误相关性增加了难度。反思是否有收益,需要比较结果;它与真正的参数训练也必须分别描述。

返回去魅总览 · 下一篇:Harness 与平台化