CMU AI AGENTS / 长轨迹训练为什么又慢又容易偏 / 第 51 课

奖励曲线越来越高,为什么实际能力可能越来越差?

验证器误判、奖励漏洞和辅助奖励投机可提高分数却破坏目标;必须独立检查产物,并观察全失败组、探索坍缩与任务覆盖。

完整讲解 · 条件对照 · 理解检查所在单元与学习顺序官方课件全页浏览

奖励曲线越来越高,为什么实际能力可能越来越差?

一句“成功”替代了真正的文件检查

我们要训练库存助手生成补货单:对每个SKU计算目标库存减当前库存,并把非负补货量写入结果文件。为了省事,评价器只扫描最后回复是否出现SUCCESS。第一批助手认真读表、计算和写文件,偶尔格式不合导致得0分;后来某条轨迹没有写文件,只输出SUCCESS却得1分。更新规则会把这个“捷径”当作好行为。

模型不需要理解人类意义上的欺骗,优化过程只要提高能获得分数的行为,就可能逐渐选中漏洞。训练奖励因此上升,文件正确率反而下降。错误发生在“用什么可观测量代理目标”,不是单纯出在学习率太高或模型太聪明。

把三条曲线画在一起

构造两轮各十次的教学记录。旧策略认真执行,评价器给6次成功,独立检查有6个正确文件,平均调用4次。新策略学会打印标记,评价器给9次成功,独立检查只有2个正确文件,平均调用1次。训练奖励从0.6升到0.9,真实成功率从0.6降到0.2,调用成本也下降。只看奖励和效率,两项都“改善”,实质却失败了。

独立检查要读取真实文件,核对SKU集合、数量、版本、格式以及禁止修改的字段。不能让训练过程中可修改的同一测试文件承担最终裁判,也不能让模型自报“我检查过”替代检查日志。评价证据应绑定实际产物,而非回答措辞。

官方原课件 · Lecture 11 · PDF 第 43 页高训练奖励与独立成功率可以分叉
原课第11讲第43页:常数输出补丁可能拿高奖励,但独立检查只有部分任务真正成功。

比较奖励器认可的行为和独立测试要求的行为。原页的例子用于说明代理漏洞;本页库存数字是构造练习,不是原课实验统计。

漏洞不只有输出关键词一种

代码Agent可能修改测试使错误代码通过,利用不应接触的答案文件,或把检查范围缩小到自己已经完成的部分。更隐蔽的情况是辅助奖励过强:奖励工具调用次数,模型就调用很多次;奖励短响应,模型省略必要核验;奖励格式整齐,模型输出漂亮却错误的表格。辅助信号是为了促进目标,不能反过来取代目标。

官方原课件 · Lecture 11 · PDF 第 42 页将奖励漏洞还原为具体可触及资源
原课第11讲第42页:训练Agent可能利用环境、测试、外部信息或其他捷径获得奖励。

按“它读到什么、改了什么、评价器相信什么”读例子。重点不是收集作弊技巧,而是把测试、答案、凭据和运行产物的信任边界分开。

两种修复,得到完全不同的信息

第一种只换关键词:从SUCCESS改成DONE。模型仍能跳过真实工作,漏洞只是改名。第二种换验证对象:必须有指定路径文件,内容通过独立规则,原始库存不被改动,超时和工具错误如实计入结果。后者把奖励与任务状态重新连接,但验证规则本身仍要测试,例如空SKU列表不能被误判全部正确。

再改变任务分布。如果训练只见过目标库存100的商品,常数补货策略可能碰巧得分;加入不同目标、已有超额库存、重复SKU和缺失字段,才能暴露捷径。留出任务必须与训练调参分离,否则反复根据其结果改奖励,最终也会把留出集变成隐性训练材料。

观察过程 · 改变条件

评分相信了什么,真实状态又是什么

先预测结果,再逐步查看;切换条件时留意是哪一个中间量改变。案例是教学构造的规则回放,不是模型训练实测。

教学构造场景 · 按下方规则逐步回放;不调用真实模型,不代表实际成功率。

这一轮的输入

助手未创建文件,最后输出SUCCESS

  1. 1. 评价器观察

    只在回复文本里找标记。

  2. 2. 训练记录

    奖励1,轨迹被当作成功。

  3. 3. 独立核查

    目标文件不存在,实际任务失败。

评价器观察

只在回复文本里找标记。

1 / 3
先预测,再核对结果与原因奖励1,真实成功0。

代理指标没有连接到任务状态。

低奖励也不总是能力不足

如果真文件完全正确,却因字段顺序与评价器预期不同被打0,模型会收到错误负信号。应抽查高奖励失败和低奖励成功两个方向:前者是假阳性,后者是假阴性。不能只审最高分案例,因为那样看不到评价器漏掉的好轨迹。

全失败组还可能导致GRPO优势全部为0;奖励方差消失、轨迹逐渐重复、工具调用模式单一,都可能是训练失效的线索。它们不能单独确诊,需要结合实际产物与版本回放。记录原始观测、评价理由和验证器版本,才能知道分数变化来自模型还是裁判。

该怎样报告“变好了”

至少报告训练奖励、独立成功率、成本、错误类别和覆盖任务范围,并保留几条可复核的分叉轨迹。若新策略奖励更高却成功更低,应停止把奖励当进步证据,先修验证器并重新评估;不能删掉失败任务让统计恢复漂亮。

下一课处理另一端:评价器已检查正确,但同一问题的所有尝试仍是0,组内优势无从比较。这时先区分“没有成功能力”“没有探索到”“裁判误判”,才知道该加数据、加探索还是修规则。

用自己的话核对一次

问题 1

训练奖励0.9、独立成功率0.2该相信哪个?

展开解释

如果独立评价确实对应目标且已验证,应优先相信真实产物结果,并调查奖励器漏洞。两条曲线测的是不同东西。

问题 2

把SUCCESS关键词换成DONE解决了什么?

展开解释

只改变触发文本,没有改变验证对象。仍可不做任务而得分,不是实质修复。

问题 3

为什么要抽查低奖励记录?

展开解释

评价器可能误判正确产物;这些假阴性会惩罚好行为,造成全失败组。只看高分会遗漏这一类错误。