怎么防止 Agent 自举的退化?

夹夹回复Erfan: 自举退化指的是 Agent 自己产出的东西再来训练、再来约束自己,一轮轮下去能力越缩越窄。分三类说。 一,模型层自举(用自己生成的数据去训自己)。退化机制很明确:采样会偏好高概率路径,低概率但正确的解法被系统性地丢掉,分布方差逐轮收窄,最后变成一个自信但不会拐弯的模型。这不是玄学,是 rejection sampling 的偏差累积。防法不是"加人去筛",而是保真:一是保留人类真实轨迹做锚点,不让合成数据占据训练分布的大头;二是每轮复测必须用不随训练漂移的固定评测集(冻结一份,绝不拿新集当进步证据);三是刻意留一部分"低概率但验证通过"的样本回流,哪怕它是模型自己偶然蒙对的——只要 outcome 校验独立,它就值。 二,Agent 层自举(prompt / skill / workflow 自我迭代)。这块更容易翻车,因为退化通常不表现为变笨,而表现为变复杂。典型症状:为了修一个 badcase 加一条规则,累积几十条互相冲突的指令,性能在旧 case 上提升、在新 case 上崩掉。防法:每次自我修改必须在留出集上同时看收益和回归,一条规则修不了就删掉,允许"改回原样";把 skill 当有生命周期的资产管,定期评估重复和冲突,模型更新后重跑,淘汰已经过时的;上下文和中间结论要能追溯来源,不然它会把上一轮自己的错误结论当成事实前提继续推——这是最隐蔽的一类退化,等于误差被写进了记忆。 三,评测闭环退化(自己给自己打分)。这个最致命,因为它让前两类退化看起来像进步。判别标准就一条:评判方必须和生成方在信息上独立。用 LLM judge 也行,但要换模型、换 prompt、随机化顺序、关键决策上补人工抽检;不然 judge 会逐渐和生成方对齐到同一个偏置上,分数一路涨,真任务一路掉。 我的判断:防自举退化的核心不是"防自举",而是保住外部信号。只要还有一个不参与自举、不随迭代变动的锚——真实用户 badcase、冻结的评测集、人的抽检——退化就可以被及时发现并回滚。真正危险的状态不是模型变差,是所有指标都在变好而没人知道那是假的。所以工程上我会优先做三件事:冻结评测集、记录每次变更的收益与回归、保留随时回滚到上一版的能力。