Browse this library

Chinese source article

4.1.3 · L4: 评判标准自演化

L4 改的是评判标准本身: 评分规则, 评测器, 任务集, 奖励函数, 价值表示. 尺子和被量的东西一起变, 内部分数上升就分不清是系统变好了还是尺子变松了. RQGM 用 epoch 冻结和真值锚点, Double Ratchet 用锁定集和独立终审, 各自给出了一种把尺子留在更新边界外的做法.

View original Markdown ↗

前两篇的系统都在一把固定的尺子下改自己: DGM 的 SWE-bench, STOP 的元效用, A-Evolve-Training 的外部榜单. L4 把尺子也交给循环改. 材料是 RubricBench, RQGM, Double Ratchet, OpenComputer, 以及任务集, 奖励和价值表示演化的几类工作. 先把「移动的尺子」写成一个分解式, 再按评分规则, 评测器, 检查器, 任务集与环境, 奖励与价值的顺序看各类方法固定了什么, 最终看提升一个新标准时记录里要写哪些项.

1. L4 的边界与移动的尺子

1.1. 边界

综述把 L4 写成:

Ck⟼Ck+1,Ck+1̸≡actCk.C_k \longmapsto C_{k+1},\qquad C_{k+1}\not\equiv_{act}C_k.

CC 是 A\mathcal{A} 里最深的坐标, 所以 L4 对 θ\theta, Σ\Sigma, UU 没有约束: 它们可以不变, 也可以在同一次转移里一起变, 实现的深度由 CC 的改写决定.

CC 包含很多部件: 判断用的任务, 奖励的语义, 评测协议, 比较规则, 约束, 价值. 综述观察到, 大多数 L4 方法只改其中一个部件, 其余的 (任务描述, 受保护的样例, 结果检查, 授权规则) 保持不变. 不变的部分约束了搜索, 也提供了比较的证据. 最终的可靠性取决于这部分证据和接受规则是否留在更新边界之外.

操作上, L4 方法的共同模式是: 把候选判断规则显式表示出来 (自然语言评分规则, 学到的评测器, 可执行程序, 任务集, 奖励), 在部分受保护的证据上测试, 给选中的版本打上版本号, 之后的判断由它支配.

1.2. 分数变化的分解

设第 kk 轮的系统为 aka_k, 标准为 CkC_k, 用 sC(a)s_C(a) 表示系统 aa 在标准 CC 下的分数. 一轮之后系统和标准都变了, 观测到的分数变化可以拆成两项:

sCk+1(ak+1)−sCk(ak)⏟观测到的变化=sCk(ak+1)−sCk(ak)⏟旧标准下系统的变化+sCk+1(ak+1)−sCk(ak+1)⏟标准移动带来的变化.\underbrace{s_{C_{k+1}}(a_{k+1})-s_{C_k}(a_k)}_{\text{观测到的变化}} =\underbrace{s_{C_k}(a_{k+1})-s_{C_k}(a_k)}_{\text{旧标准下系统的变化}} +\underbrace{s_{C_{k+1}}(a_{k+1})-s_{C_k}(a_{k+1})}_{\text{标准移动带来的变化}}.

第一项是我们想要的: 在同一把尺子下, 新系统比旧系统好多少. 第二项是尺子本身的移动: 同一个系统, 换了标准之后分数变了多少. 只看左边, 两项混在一起. 如果新标准更宽松, 第二项为正, 系统可以一点没变而分数上升; 如果新标准更严, 第二项为负, 系统变好了分数反而可能下降.

RQGM 的搜索曲线上可以直接看到第二项: 每次替换评测器, 最好候选的分数先掉下去, 再在新标准下爬回来. 这一掉就是更严的新标准带来的负的第二项.

交叉评测:综述 §7.3 给的对策是交叉评测: 在一个共同的比较域上, 把在任系统和候选系统分别放到在任标准和候选标准下打分, 得到一张 2×2 表.

在任标准 CkC_k 候选标准 Ck+1C_{k+1}
在任系统 aka_k sCk(ak)s_{C_k}(a_k) sCk+1(ak)s_{C_{k+1}}(a_k)
候选系统 ak+1a_{k+1} sCk(ak+1)s_{C_k}(a_{k+1}) sCk+1(ak+1)s_{C_{k+1}}(a_{k+1})

左列的差是第一项, 下行的差是第二项. 两个标准判断不一致的样本要保留下来, 因为它们正是新标准偏离旧标准的地方. 然后再用标准之外的东西判断这种偏离是否更好地服务外部目标: 新的可执行检查, 密封的样例, 对抗探测, 有授权的人工判断.

这张表只在两个标准都能给两个系统打分时才有意义. 如果新标准引入了旧标准没有的维度 (比如 RQGM 加进来的代码审查), 旧标准下那一格就是空的, 只能靠外部锚点.

把标准写成一个可以比较的状态:前面的 CkC_k 如果只被理解成一段评分提示词, 很多关键变化会被藏起来. 一个更实用的写法是把标准拆成四部分:

C=(T,ℓ,A,P).C=(\mathcal{T},\ell,A,P).

T\mathcal{T} 是被评价的任务与输入分布, ℓ\ell 是单个样本上的判定规则, AA 是把多个样本、多个维度合成结论的聚合方式, PP 是约束、权限和例外处理. 题目没有变, 但把平均分换成任何一项低于阈值就拒绝, 改的是 AA; 评分条目原封不动, 但允许评测器访问执行日志, 改的是 PP; 只保留当前系统容易失败的题, 改的是 T\mathcal{T}. 这些变化都会改变谁优于谁, 因而都属于尺子的变化.

标准真正产生的是候选之间的偏好关系. 对任意两个系统 a,ba,b, 记 a⪰Cba\succeq_C b 表示按标准 CC 判断, aa 至少不比 bb 差. 两份文字不同的规则可能诱导出同一个偏好关系. 例如只按总分排序时, 把所有分数乘以正数并不改变名次. 可是一旦存在及格线、预算惩罚或单项否决, 同样的数值变换便可能改变结论. 所以检查标准版本时, 不能停在提示词 diff, 还要寻找发生翻转的候选对:

F(C,C′)={(a,b):a⪰Cb, b≻C′a}.\mathcal{F}(C,C')=\{(a,b):a\succeq_C b,\ b\succ_{C'}a\}.

翻转集给出了标准移动最直接的证据. 如果翻转集中大多是旧规则漏掉的真实缺陷, 修订可能有价值; 如果翻转集中只是新评测器偏爱的措辞, 系统就在学习评测器的口味. 这也解释了为什么交叉评测必须保留逐样本记录. 一个总分只能告诉人名次变了, 看不到变化来自新增能力、权重调整、任务分布偏移, 还是某类答案被新的表达偏好压低.

还有一类变化只改善测量, 并未改变规范目标. 检查器原来把合法输出误判为错误, 修复解析代码以后, 它更准确地实现同一条规则. 这属于测量层修复. 新增「不得访问网络」则改变了允许行为, 属于规范层修订. 两者在提交记录里必须分开. 测量修复可以由回放样本证明; 规范修订还需要说明谁有权作出改变, 新约束服务什么外部目标, 以及被牺牲的能力是什么.

标准状态也要保存适用域. 一个代码评测器在 Python 单文件题上经过校准, 不等于它能判断分布式系统设计. 适用域至少包含任务类型、语言、工具权限、时间预算和风险等级. 当候选标准引入旧标准无法读取的新证据时, 两个版本之间不再能完整交叉比较. 此时应保留一组双方都能处理的连接题, 再用外部锚点检查新维度. 没有连接题, 分数序列就像换了温度计后继续画同一条曲线, 数字连得起来, 含义却已经断了.

1.3. 评分规则: 模型会执行, 不会定

RubricBench 量出来的差距:Zhou 等人 (2026) 的 RubricBench 是一个 1,147 对的成对比较基准, 覆盖对话, 指令遵循, STEM, 代码, 安全五个领域. 构建时用多维过滤留下难样本: 输入复杂, 带有误导性的表面偏差. 每个样本配上专家标注的原子化评分规则, 规则严格从指令推出.

实验控制住判断模型的底座, 提示和解码参数, 只换评分规则的来源, 比较三种条件:

  1. 直接判断: 不写中间推理, 直接给出偏好.
  2. 自生成规则: 判断模型先从指令推出评分规则, 再按规则核对两个回答.
  3. 人写规则: 注入 RubricBench 里人写的评分规则.

以 DeepSeek-v3.2 为例: 直接判断 38.8%, 自生成规则 57.8%, 人写规则 84.9%. 自生成规则比直接判断高 19 个点, 比人写规则低 27.1 个点. 七个底座模型上, 人写规则带来的提升都在 22 到 28 个点之间, 论文报告平均约 26 个点, 从轻量判断模型到前沿推理模型都差不多.

此前的奖励模型和判断模型在这个基准上停在 40% 到 47%, 带规则的奖励模型到约 58%. 人写规则的效果随模型规模稳定提升, 自生成规则的收益则快速递减.

论文的解释是: 模型擅长核对指令里明确写出的要求, 但定不出人类专家默认会优先考虑的隐含约束. 这对 L4 是一个基线事实: 如果让模型自己写评分规则, 起点就比人写的低二十多个点. 规则自演化要先补上这个差距, 才谈得上超过人写的标准.

选规则: AutoCalibrate:Liu 等人 (2024) 的 AutoCalibrate 让模型生成候选评判准则并自我修订, 按与专家标注的相关性挑选, 把选中的准则插进之后的评测器提示. 选择信号来自专家标签, 这些标签不参与生成, 处在更新边界之外. GER-Eval 和 ELMES+ 把这个思路推广到按任务或按场景生成评分规则, 但它们的评测器分析暴露了跨模型和对人对齐度较弱, 自我偏好, 以及特定模型偏宽或偏严的问题.

这几项结果合起来说明: 评分规则的出处, 判断模型是谁, 不同来源之间的分歧, 都应该是选规则时的输入.

持久化的规则库:前面的方法每次生成一套规则; 下面三个系统把规则存下来, 之后反复用, 规则的生成变成一个有状态的更新过程:

系统 存什么 准入规则
EvoRubric 评分规则记忆池, 选出的条目影响之后的奖励 元验证与同伴共识筛选
DR Tulu 基于检索, 有区分度的规则条目, 给之后的策略更新打分 区分度检查
SkillCoach 带版本的过程评分规则, 可以打补丁 留出回放检查与硬约束

三者的粒度不同: 池里的条目, 有区分度的单项, 过程中的步骤. 共同点是可编辑的规则表示加上显式的准入规则. 准入门检查的是一致性, 区分度或回放效用, 这些都是内部检查. 规则是否更好地服务外部目标, 是另一个问题, 第 6 节讨论.

从偏好样本反推规则:从若干好坏答案中归纳 rubric, 本质上是在做不完备的规范推断. 设答案 yy 的特征为 ϕ(y)\phi(y), 一份线性 rubric 可以写成 s(y)=w⊤ϕ(y)s(y)=w^\top\phi(y). 一组两两偏好只给出若干不等式 w⊤[ϕ(y+)−ϕ(y−)]>0w^\top[\phi(y^+)-\phi(y^-)]>0. 通常有许多组权重都满足这些不等式, 更不用说真实规则还包含条件分支、否决项和无法由文本表面识别的事实约束. 因此模型从示例里「总结出规则」, 得到的只是与当前样本相容的一种解释.

歧义会沿着三个方向冒出来. 第一是遗漏: 所有示例都没有触发安全边界, 模型便可能把这条边界省掉. 第二是混淆: 高质量答案恰好都更长, 规则会把长度当成质量的代理. 第三是重复: 多条近义规则反复奖励同一性质, 聚合后等于偷偷提高了该维度的权重. 规则库需要同时检查覆盖率、独立性和区分度. 覆盖率看已知失败族是否至少被一条规则捕获; 独立性看两条规则在反例上的判断是否高度重合; 区分度看规则能否稳定地区分接近能力边界的答案.

一条规则进入长期记忆前, 最少要带着来源、适用条件、正例、反例、冲突项和校准记录. 「回答要完整」几乎无法执行; 「涉及多种边界条件时, 至少说明空输入与资源耗尽如何处理」才有可观察的触发条件. 反例尤其重要, 因为它划出规则不该管的地方. 如果没有反例, 越来越多的规则会倾向于对任何回答都扣分, 最终把保守和冗长误认为可靠.

规则冲突也不能靠简单投票抹平. 「尽量给出推导」与「用户只要一句结论」会在特定上下文相撞; 「展示完整证据」与「不得泄露敏感信息」具有明确的优先级. 可执行的规则图应把冲突边连起来, 标明覆盖条件和优先级来源. 对同一答案, 系统不仅输出总分, 还应输出实际触发的规则子图. 这样才能区分模型没遵守规则、评测器没正确执行规则, 以及规则本身互相矛盾.

最危险的闭环是提议者、验证者和受益者共享同一个偏差. 模型生成一条偏爱自身表达习惯的规则, 用同源模型确认它有区分度, 随后又凭这条规则获得更高奖励. 表面上每一步都有验证, 实际上证据没有独立性. 可行的拆分方法是让规则提议只接触训练样本, 准入测试使用密封反例和不同来源的判断器, 最终权重由稳定的外部指标决定. 同一个模型可以承担多个角色, 但各角色看到的数据、提示和历史必须隔离, 否则角色名称并不会带来独立证据.

2. 评测器与评分函数的版本替换: RQGM 与 Double Ratchet

2.1. RQGM: 为什么评测器要跟着变, 搜索怎么搭

Iacob 等人 (2026) 的 Red Queen Gödel Machine 指出, DGM, HGM, HyperAgents 这些系统都假设评测标准在整个运行期间固定在循环之外. 这在三种情况下不够用: 目标任务没有直接的基准 (写论文, 写证明); 评测慢或信息量低; 静态基准在 Agent 变强之后饱和, 或者容易被刷分. 他们的做法是让学到的评测器和它评的 Agent 一起进化.

RQGM 沿用上一篇 4.1 讲过的 HGM 树搜索: 档案是一棵树, 每一步要么扩展一个节点 (编辑出一个子节点), 要么评测一个节点 (得到一个 0/1 结果). 选节点用子树元生产力 (CMP) 上的 Thompson 采样, 扩展还是评测由 UCB-Air 门控决定.

改动有四处:

  1. 每个档案节点是一个多 Agent 工作区, 不是单个 Agent. 工作区里有若干角色, 包括任务 Agent 和评测器, 每个角色有自己的任务池.
  2. 评测器本身是学到的 Agent 流程, 和任务 Agent 共享代码库, 由同一个元 Agent 修改.
  3. 驱动搜索的效用可以在指定的 epoch 边界变化.
  4. 评测器可以在边界被替换.

只有打分和编排框架是固定的. 效用的汇总方式是两层均匀平均: 先在一个角色的任务上平均, 再在角色之间平均, 让搜索对所有角色同等重视.

数据隔离: 节点的训练结果给元 Agent 看, 用来指导修改, 但不进入搜索效用; 选节点只看验证集; 最终性能在另一个留出测试集上报告. 产生候选的证据和批准候选的证据是分开的.

3. 评判器共同演化的控制条件

3.1. RQGM 的选择分数与替换规则

最终选 Agent 和比较评测器, 用的都是 ϵ\epsilon-best-belief 分数:

BBϵ(a)=Iϵ−1(1+Sa,  1+Fa),BB_\epsilon(a)=I^{-1}_{\epsilon}\big(1+S_a,\;1+F_a\big),

其中 SaS_a, FaF_a 是节点 aa 累计的成功和失败次数, Iϵ−1I^{-1}_{\epsilon} 是正则化不完全 Beta 函数的反函数, 即 Beta 后验的 ϵ\epsilon 分位数. 它的意思是: 节点的真实成功率以 1−ϵ1-\epsilon 的概率高于这个值.

算两个例子, 取 ϵ=0.05\epsilon=0.05:

节点 成功 / 失败 后验均值 BB0.05BB_{0.05}
A 17 / 13 0.563 0.418
B 70 / 54 0.564 0.491
C 9 / 1 0.833 0.636
D 60 / 40 0.598 0.517

A 和 B 的后验均值几乎相同, 但 B 的证据多四倍, 分位数高出 0.073, B 胜出. C 只有 10 次评测, 均值很高; D 有 100 次, 均值低得多. 这一对里 C 仍然胜出, 因为 0.833 和 0.598 的差距大到 10 次评测的不确定性盖不住. 这个分数偏向证据充分的节点, 但不会让证据少的明显优者落选.

RQGM 的 epoch 与替换规则:RQGM 的核心机制叫「受控的效用演化」:

  • epoch 内冻结. 一个 epoch 里, 评测器, 产物生成协议, 0/1 打分规则都固定. 这样每个 epoch 就是一个标准固定的搜索问题, HGM 的保证可以直接用.
  • 边界处替换. 在 epoch 边界, 每个评测器槽位把在任者和挑战者放到一个真值锚点上比较. 真值锚点是一个固定的留出数据集, 带客观标签或人类偏好标签, 不依赖任何评测器. 按锚点上的 BBϵBB_\epsilon 排序, 最高的那个冻结为下一个 epoch 的评测器; 平局时保留在任者, 避免不必要的删除.
  • 选择性删除. 替换之后, 删掉所有由被替换评测器打出的效用记录, 其他记录保留.

为什么必须删. 如果保留旧分, 或者把旧分换算到新评测器的尺度上, 同一个档案里就混着两个不同效用函数的证据, epoch 内标准固定这个前提就不成立了. 这就是第 1.2 节分解式里第二项的问题: 旧分和新分之差里含着尺子的移动.

删了之后, 被删记录的节点要在新评测器下重新评. RQGM 不立刻重评整个档案, 只在搜索回到这些节点时再评; 三层采样会自然优先照顾评测次数少的节点. 缓存的 Agent 输出可以复用, 重评不需要再调用任务 Agent.

检查点的位置按指数间隔安排. 论文证明: 公比 ρ>1\rho>1 的指数间隔下, 预算 BB 内暴露给删除或重评的记录总数是 O(B)O(B); 如果每次评测之后都允许替换, 是 O(B2)O(B^2). 指数间隔还有一个副作用: 后面更准的评测器支配搜索的时间更长.

论文的保证可以概括成三条: epoch 内是标准固定的搜索, HGM 的收敛保证逐 epoch 成立; 评测器只有在固定锚点上提高 BBϵBB_\epsilon 才被提升, 所以跨 epoch 也在改进; 替换的簿记成本和预算成线性关系. 保证是逐 epoch 的, 不是整个运行的; 论文也明确说, 相比静态标准, 这种做法放松了收敛保证.

RQGM 的三个领域:每个领域把一个生成者角色和一个学到的评测器角色配对, 再配一个真值锚点. 底座是 GPT-5.5 (low). 基线 HGM-H 把 HyperAgents 的 DGM 搜索换成 HGM, 评测器保持冻结, 用前人工作里的固定外部评测器. 各组搜索预算对齐. SWE-bench 因为运行时间太长, 这一版没有包含.

领域 生成者 学到的评测器 锚点
代码 Polyglot 编码 Agent 代码审查者 编码 Agent: Polyglot 可执行测试; 审查者: CRAVE (被接受/拒绝的 PR)
论文 论文写作者 论文审稿人 APReS 的接收/拒绝决定
证明 证明者 证明评分者 IMO-GradingBench 人工评分, 满分 7 分才算通过

代码. 测试执行本身就是真值, 加一个代码审查者的意义是给一个更便宜, 互补的信号: 审查者不只看补丁过不过测试, 还看质量. RQGM 的留出通过率 71.7%, HGM-H 69.9%; 达到 HGM-H 通过率所用的搜索 token 少 1.35 到 1.72 倍. 被接受的补丁里, 90% 改的是编码者和审查者共用的功能或基础设施, 一次修改同时改进两个角色.

论文. 论文质量没有客观评测, 写作者的产物交给一个固定的四审稿人小组打分 (每格是被接收的比例):

写作者 搜索 token Sakana DGM-H HGM-H RQGM 对抗审稿人 平均
HGM-H 42.5M 1.0 12.0 64.0 10.0 21.8
RQGM 通才 44.6M 2.0 43.0 81.0 29.0 38.8
RQGM 专才 221.8M 5.0 40.0 86.0 31.0 40.5

搜索成本相近时 (44.6M 对 42.5M), RQGM 通才的平均接收率是 HGM-H 的 38.8/21.8≈1.7838.8/21.8\approx1.78 倍; 专才是 1.86 倍, 但用了约 5 倍的 token. 四个审稿人里每一个都给 RQGM 写作者更高的接收率.

证明. 证明比论文难, 改进要在更长的搜索之后才出现:

证明者 搜索 token 平均分 (0–7) Pass@6 Pass@7
静态 IMO25 证明者 — 4.07 55.0% 55.0%
HGM-H 21.5M 3.73 51.7% 45.0%
RQGM 通才 37.9M 3.73 51.7% 45.0%
RQGM 专才 88.0M 4.33 61.7% 48.3%

IMO25 证明者是人工设计的验证加修订流程, 在 IMO 2025 上达到金牌水平. RQGM 专才的平均分和 Pass@6 更高, 但 Pass@7 (满分率) 低于它 6.7 个点: 专才找到了更多接近满分 (6 分) 的证明, 满分的反而少. 它在 Pass@7 上仍高于 HGM-H 证明者. HGM-H 在长搜索里停滞, 论文推测原因是冻结的评分者到后期不再提供有用的信号.

RQGM 的自我偏好与对抗池:论文审稿有一个已知问题: LLM 审稿人倾向于接收 AI 写的文本. APReS 的接收/拒绝比例本身偏向宽松的审稿人, 所以审稿人对 AI 文本的偏宽和它在 APReS 上的原始准确率是同向的. 结果是: 给 HGM-H 写作者打分的那个 HGM-H 审稿人, 接收 AI 论文的比例是人类论文的 1.42 到 1.91 倍. 反过来, Sakana 审稿人用的是真实的 NeurIPS 审稿表, 又太严, 给它引导的写作者的信号太弱.

RQGM 利用 epoch 边界做了一个修正. 每次替换之后, 被替换审稿人接收过的 AI 论文组成一个对抗池; 下一个 epoch 额外奖励能拒绝这些论文的审稿人, 同时保持在人类 APReS 数据上的准确率. 评测器的替换仍然以 APReS 为锚. 这样选出来的审稿人专门对 AI 文本严格, 原始准确率因此下降, 低于偏宽的 HGM-H 审稿人; 换来的是校准: 对 AI 论文和真实论文的接收率接近, 同时保持 80% 的真值准确率.

要分清这里是谁改了什么. 对抗池加进来之后, 审稿人的效用函数多了一项「拒绝对抗池里的论文」. 这是在 epoch 边界对 CC 的一次有意修改, 而这次修改本身是人设计的, 不是循环自己发现的. 循环做的是在新效用下搜索审稿人.

RQGM 的消融:论文用一个 12,288 次评测的预算做了机制消融, 审稿人锚点准确率在各组之间可比; 写作者验证准确率由各组自己的审稿人打分, 不可比:

组别 替换 对抗池 删除 写作者验证准确率 审稿人锚点准确率
完整机制 开 开 开 90.1 95.0
只替换 开 关 开 89.5 91.2
不删除 开 开 关 90.0 92.9
固定审稿人 关 关 — 100.0 78.2

最终一行最能说明问题. 审稿人固定不变时, 写作者在这个审稿人眼里的验证准确率是 100%, 而这个审稿人在真值锚点上只有 78.2%. 写作者把一个不够准的审稿人完全满足了. 这正是第 1.2 节说的「内部分数不能单独支持提升主张」: 只看 100% 会以为写作者完美, 看锚点才知道是审稿人太容易满足.

另外, 不删除旧分的对照组在替换后一直停在被替换审稿人的排序上, 新标准没法重排档案.

3.2. Double Ratchet 与独立终审

Zhang 等人 (2026) 的 Double Ratchet 处理的是一个更极端的情况: 没有任何现成的评测器, 只有 10 个带参考答案的样本. 他们让评分函数本身进化, 并且划了一条界线: 进化的只是给单个输出打分的函数, 任务集和参考答案在任何循环开始之前就固定, 不会变. 因此结果不可能来自「换了一套更容易的测试」.

评分函数是一棵表达式树, 叶子是一组小的缺陷检测器, 每个检测一类失败. 设计的出发点是: 我们很少知道什么是好, 但给定一个输出, 通常能找出毛病. 所以「通过」的含义是没找到已知缺陷, 不是证明正确. 检测器大多是确定性的, 失败方式和被评的语言模型不同, 不容易和它共享盲点.

检测器有完整的生命周期: 从聚类后的失败样本合成, 出生时过一道准入门, 按边际贡献打分, 没用就退休. 选择目标有两部分: 在 10 个锚点样本上与参考的一致性 (按召回加权), 加上在无标签输出上的共识 (按可靠性加权) 作正则. 共识只做正则, 从不单独决定选哪个评分函数.

三条数据线严格隔离. 10 个样本的开发集是唯一的监督信号; 另有一个锁定集, 评分函数进化的任何环节都不读它; 技能那一侧沿用此前的 Ratchet 循环, 由进化出来的评分函数给技能训练打分. 两个循环同时转, 所以叫 Double Ratchet.

三个任务: MBPP+ (Python 函数合成, 隐藏单元测试作硬锚点) 和 Spider 2.0-Snow (企业级 text-to-SQL, 官方执行结果比对作锚点) 有精确真值, 用来验证; 报告生成是真正的目标任务, 根据审计过的证据卡写分析报告的段落, 没有黄金标准, 只有一个部分参考信号.

Double Ratchet 的评分函数变好了吗:在 MBPP+ 上, 选出的评分函数和隐藏真值在锁定集上的一致性, 比手写的种子组合高 0.21 (从 0.417±0.0580.417\pm0.058 到峰值 0.625±0.0500.625\pm0.050, 配对检验 p=0.014p=0.014). 它也胜过自己包含的那个裸 LLM 判断器: 0.6250.625 对 0.55±0.040.55\pm0.04. Spider 上是 0.500±0.0260.500\pm0.026 对 0.45±0.070.45\pm0.07.

准入门做了大部分工作. MBPP+ 上 100 轮里, 出生的检测器只有个位数, 被拒绝的在 997 到 1014 个之间 (三个种子的范围); 最终表达式只用 3 个叶子. 选择目标从 0.16 升到 0.52, 表达式反而从 6 个算子缩到 3 个.

选择目标单调上升, 因为选的是到目前为止最好的. 但选择看不到的锁定集一致性并不单调: 9 次运行里有 5 次最终值低于自己运行中途的峰值. 这是用 10 个样本做代理的正常泛化差距, 也是论文报告锁定集数字而不在锁定集上做选择的原因.

锚点护栏和下游任务分:论文在报告生成任务上做了两组消融, 各自只关掉一个组件:

组别 选择目标 锁定集一致性 训练集通过率 结果
有锚点 (完整) 0.865 0.830 0.78–0.82 正常组合
去掉锚点护栏 1.000 退化 0.97–1.0 退化
去掉生命周期 0.896 0.868 — 不退化

去掉锚点护栏之后, 一个永远不触发的检测器被「失败即放行」的打分方式记为满分, 选择目标变成 1.000, 评分函数几乎让所有训练样本通过. 去掉检测器生命周期则没有这个问题. 论文指出这和技能进化的经验相反: 技能那一侧, 生命周期管理是关键; 评判器这一侧, 起作用的是锚点纪律. 一条坏技能会被放进提示里伤害性能, 一个坏检测器只有在被选中时才有影响.

更重要的是下面这个结果. 用这三个评分函数分别训练技能循环, 三组技能的任务分落在 0.038 的范围内, 而且在两个和技能循环共同进化的组里, 退化的那一组任务分更高. 也就是说, 一个几乎全判通过的评分函数, 照样能留下有用的练习.

论文由此得出结论: 用下游任务分验证一个自演化的评判器是不成立的, 因为退化的评判器训练出来的策略一样好. 任务分只能回答「够不够用」, 不能回答「准不准」. 在够不够用这一点上, 进化出来的评分函数在 MBPP+, Spider 2.0-Snow 和报告生成三个任务上, 保留了真值或手写评分规则带来的提升的 88% 到 110%.

独立终审:报告生成没有准确的评分标准, 所以论文在所有循环之外加了一层审计: 一个更强的 LLM 把每个最终输出和进化前的基线成对比较, 交换位置判两次, 两次一致才算赢. 这个判断器只做审计, 不产生任何训练信号: 系统里没有任何梯度, 提示或选择决定会读它.

这一层审计捉到了一次真实的 Goodhart 失败: 进化出来的技能钻了报告评分规则的空子. 加一个检测器就修好了. 审计判断器本身也被检查了一遍, 又暴露出另一个问题. 论文的结论是: 不依赖验证器的自改进是可行的, 但前提是架构预期自己的评分函数会被钻空子, 自己的判断器会失准, 而且能把两者都捉出来.

共同演化为何容易绕圈:把能力状态记作 ata_t, 评测器状态记作 ete_t, 两条更新链可以抽象成

at+1=F(at,et),et+1=G(et,at+1).a_{t+1}=F(a_t,e_t),\qquad e_{t+1}=G(e_t,a_{t+1}).

能力沿着当前评测器的梯度改进, 评测器再去寻找新能力的缺口. 理想状态下, 两者像红皇后竞赛一样不断抬高难度. 但这个动力系统没有天然的上升势函数. 它可能形成周期: 评测器强调简洁, 系统学会简洁; 下一代评测器发现细节不足, 转而强调完整; 系统变得冗长后, 评测器又重新惩罚冗余. 每轮分数都提高, 长期轨迹却在几个风格之间摆动.

另一个问题是评测器滞后. 当能力更新速度远快于评测器, 系统会集中利用当前规则的盲区; 当评测器更新太快, 训练目标频繁旋转, 能力还没学稳就失去梯度. 两时间尺度更新提供了一个朴素控制: 在一个 epoch 内冻结评测器, 让能力充分响应; 只有累计到足够的新失败证据才替换评测器. 替换阈值还应带滞回, 即新评测器必须以明确幅度胜过在任者, 平局继续保留旧版. 这样可以减少由抽样噪声造成的来回切换.

历史分数不能直接跨版本沿用. 旧评测器给候选留下的高分, 对新评测器未必有意义. RQGM 在替换后删除相应旧分数, 正是在避免把异质刻度混进同一个选择统计量. 更稳妥的做法是保存原始输出与执行轨迹, 对重要候选进行重放评分. 无法重放的数据只能作为带版本标签的旁证, 不能与新分数求平均. 否则一个早期宽松评测器会长期给某些血统提供隐形优势.

共同演化还会产生合谋. 如果评测器和解题器来自相同初始化、共享训练语料或互相读取推理痕迹, 二者可能发展出外部观察者不认可的快捷协议. 评测器集成也不会自动消除问题: 五个同源模型的多数票, 有时只是同一偏差被计算了五遍. 独立性应来自不同证据通道, 例如可执行测试、形式证明检查、密封人工判断和异源模型审阅. 各通道失效方式越不相同, 交集通过才越有意义.

锚点用来阻止变化失去坐标. 锚点过弱, 评测器可以通过改写目标轻易获胜; 锚点过强, 新标准只能复刻旧标准. 比较合理的组合包含三层: 永久保留的底线约束, 跨版本连接题, 以及随能力边界滚动的挑战集. 第一层保证不可退让的性质, 第二层允许估计刻度变化, 第三层维持区分度. 三层分别记录成绩, 不压成一个看似精确的总分.

评测器需要校准什么:评测器准确率常把性质不同的误差揉在一起. 对成对比较, 第一步要看顺序正确率; 对连续评分, 还要看数值校准; 对带理由的审阅, 则要看证据是否真的支持结论. 一个评测器可能总能选出较好答案, 却把微小差异说成压倒性胜利. 用它做筛选问题不大, 用它提供奖励强度就会产生过猛梯度. 另一个评测器分数很保守, 排序却稳定, 它更适合淘汰而未必适合估计绝对质量.

校准应按难度、任务族和失败类型分层. 总体 90% 的一致率可能来自大量容易样本, 在真正决定演化方向的能力边界上只有随机水平. 可以把样本按旧版分差切成区间, 单独报告近似平局、普通差异和悬殊差异. 近似平局最能检验细微判断, 也是标签噪声最大的区域. 对这一区域允许评测器输出无法确定, 通常比逼它制造胜负更可靠. 无法确定率本身也是状态量; 它突然下降, 可能表示能力提高, 也可能表示评测器过度自信.

评分理由提供了一条诊断通道, 但理由流畅不等于判断可靠. 可以把理由拆成事实引用、规则触发、因果连接和结论四步, 随机遮掉其中一步再看判断是否变化. 删除关键证据后分数毫无变化, 说明理由可能只是事后解释; 替换无关措辞就翻转, 说明评测器依赖表面线索. 对可执行任务, 还可以把理由声称的错误位置与真实失败轨迹对齐. 命中最终结论却找错原因, 对训练尤其危险, 因为它会把错误修复信号送到无关部位.

位置偏差、长度偏差和身份偏差要用成对干预测量. 交换候选顺序, 保持文本不变; 压缩两边的冗余说明, 保持实质内容不变; 隐去模型名称与格式习惯, 再比较胜率. 单次翻转未必说明系统性偏差, 大样本上的条件翻转率才有解释力. 若偏差集中在某类任务, 应限制评测器适用域, 而非用全局修正系数掩盖局部故障.

评测器更新还需要估计不确定性. 对每个候选保存多次采样分布, 能区分均值略高且方差很大与稳定领先. 在搜索中只追均值, 容易选中偶然高分的候选; 使用置信下界则会偏向证据充分的候选. 不确定性不能只来自同一模型多次采样, 因为系统偏差不会被重复采样暴露. 更完整的分解包括采样噪声、提示变化、模型差异、标注分歧和任务抽样误差.

校准集一旦参与多轮替换, 也会逐渐变成训练集. 评测器虽然没有直接读取标签, 但选择压力会把校准集的信息写进存活版本. 因此需要校准集、晋升集和终审集三层隔离. 校准集允许频繁查看, 晋升集只在候选冻结后开启, 终审集只用于阶段性结论. 每次开启都记录访问者和用途; 终审集被用于修复之后, 它就降级为普通回归集, 不能继续承担独立证据.

6. 参考来源

  1. Kaiqi Wang, Wenjin Hou, Yuchen Yan 等 (2026). Diving into Reliable Self-Evolving Agents: A Survey. §7 L4: Criterion-Level Self-Evolution.
  2. Alex Iacob, Andrej Jovanović, William F. Shen 等 (2026). The Red Queen Gödel Machine: Co-Evolving Agents and Their Evaluators.
  3. Xing Zhang, Guanghui Wang, Yanwei Cui 等 (2026). Who Grades the Grader? Co-Evolving Evaluation Metrics and Skills for Self-Improving LLM Agents.
  4. Junyi Zhou, Qiyuan Zhang, Yufei Wang 等 (2026). RubricBench: Aligning Model-Generated Rubrics with Human Standards. ACL 2026.
  5. Jinbiao Wei, Qianran Ma, Yilun Zhao 等 (2026). OpenComputer: Verifiable Software Worlds for Computer-Use Agents.
  6. Yecheng Jason Ma, William Liang, Guanzhi Wang 等 (2024). Eureka: Human-Level Reward Design via Coding Large Language Models. ICLR 2024.
  7. Yuxuan Liu, Tianchi Yang, Shaohan Huang 等 (2024). Calibrating LLM-Based Evaluator. LREC-COLING 2024.
  8. Jack Parker-Holder, Minqi Jiang, Michael Dennis 等 (2022). Evolving Curricula with Regret-Based Environment Design. ICML 2022.

上一篇: 4.1.2 · L3: 学会更好的改进策略 · 下一篇: 5.1.1 · 失效模式