前两篇的系统都在一把固定的尺子下改自己: DGM 的 SWE-bench, STOP 的元效用, A-Evolve-Training 的外部榜单. L4 把尺子也交给循环改. 材料是 RubricBench, RQGM, Double Ratchet, OpenComputer, 以及任务集, 奖励和价值表示演化的几类工作. 先把「移动的尺子」写成一个分解式, 再按评分规则, 评测器, 检查器, 任务集与环境, 奖励与价值的顺序看各类方法固定了什么, 最终看提升一个新标准时记录里要写哪些项.
1. L4 的边界与移动的尺子
1.1. 边界
综述把 L4 写成:
是 里最深的坐标, 所以 L4 对 , , 没有约束: 它们可以不变, 也可以在同一次转移里一起变, 实现的深度由 的改写决定.
包含很多部件: 判断用的任务, 奖励的语义, 评测协议, 比较规则, 约束, 价值. 综述观察到, 大多数 L4 方法只改其中一个部件, 其余的 (任务描述, 受保护的样例, 结果检查, 授权规则) 保持不变. 不变的部分约束了搜索, 也提供了比较的证据. 最终的可靠性取决于这部分证据和接受规则是否留在更新边界之外.
操作上, L4 方法的共同模式是: 把候选判断规则显式表示出来 (自然语言评分规则, 学到的评测器, 可执行程序, 任务集, 奖励), 在部分受保护的证据上测试, 给选中的版本打上版本号, 之后的判断由它支配.
1.2. 分数变化的分解
设第 轮的系统为 , 标准为 , 用 表示系统 在标准 下的分数. 一轮之后系统和标准都变了, 观测到的分数变化可以拆成两项:
第一项是我们想要的: 在同一把尺子下, 新系统比旧系统好多少. 第二项是尺子本身的移动: 同一个系统, 换了标准之后分数变了多少. 只看左边, 两项混在一起. 如果新标准更宽松, 第二项为正, 系统可以一点没变而分数上升; 如果新标准更严, 第二项为负, 系统变好了分数反而可能下降.
RQGM 的搜索曲线上可以直接看到第二项: 每次替换评测器, 最好候选的分数先掉下去, 再在新标准下爬回来. 这一掉就是更严的新标准带来的负的第二项.
交叉评测:综述 §7.3 给的对策是交叉评测: 在一个共同的比较域上, 把在任系统和候选系统分别放到在任标准和候选标准下打分, 得到一张 2×2 表.
| 在任标准 | 候选标准 | |
|---|---|---|
| 在任系统 | ||
| 候选系统 |
左列的差是第一项, 下行的差是第二项. 两个标准判断不一致的样本要保留下来, 因为它们正是新标准偏离旧标准的地方. 然后再用标准之外的东西判断这种偏离是否更好地服务外部目标: 新的可执行检查, 密封的样例, 对抗探测, 有授权的人工判断.
这张表只在两个标准都能给两个系统打分时才有意义. 如果新标准引入了旧标准没有的维度 (比如 RQGM 加进来的代码审查), 旧标准下那一格就是空的, 只能靠外部锚点.
把标准写成一个可以比较的状态:前面的 如果只被理解成一段评分提示词, 很多关键变化会被藏起来. 一个更实用的写法是把标准拆成四部分:
是被评价的任务与输入分布, 是单个样本上的判定规则, 是把多个样本、多个维度合成结论的聚合方式, 是约束、权限和例外处理. 题目没有变, 但把平均分换成任何一项低于阈值就拒绝, 改的是 ; 评分条目原封不动, 但允许评测器访问执行日志, 改的是 ; 只保留当前系统容易失败的题, 改的是 . 这些变化都会改变谁优于谁, 因而都属于尺子的变化.
标准真正产生的是候选之间的偏好关系. 对任意两个系统 , 记 表示按标准 判断, 至少不比 差. 两份文字不同的规则可能诱导出同一个偏好关系. 例如只按总分排序时, 把所有分数乘以正数并不改变名次. 可是一旦存在及格线、预算惩罚或单项否决, 同样的数值变换便可能改变结论. 所以检查标准版本时, 不能停在提示词 diff, 还要寻找发生翻转的候选对:
翻转集给出了标准移动最直接的证据. 如果翻转集中大多是旧规则漏掉的真实缺陷, 修订可能有价值; 如果翻转集中只是新评测器偏爱的措辞, 系统就在学习评测器的口味. 这也解释了为什么交叉评测必须保留逐样本记录. 一个总分只能告诉人名次变了, 看不到变化来自新增能力、权重调整、任务分布偏移, 还是某类答案被新的表达偏好压低.
还有一类变化只改善测量, 并未改变规范目标. 检查器原来把合法输出误判为错误, 修复解析代码以后, 它更准确地实现同一条规则. 这属于测量层修复. 新增「不得访问网络」则改变了允许行为, 属于规范层修订. 两者在提交记录里必须分开. 测量修复可以由回放样本证明; 规范修订还需要说明谁有权作出改变, 新约束服务什么外部目标, 以及被牺牲的能力是什么.
标准状态也要保存适用域. 一个代码评测器在 Python 单文件题上经过校准, 不等于它能判断分布式系统设计. 适用域至少包含任务类型、语言、工具权限、时间预算和风险等级. 当候选标准引入旧标准无法读取的新证据时, 两个版本之间不再能完整交叉比较. 此时应保留一组双方都能处理的连接题, 再用外部锚点检查新维度. 没有连接题, 分数序列就像换了温度计后继续画同一条曲线, 数字连得起来, 含义却已经断了.
1.3. 评分规则: 模型会执行, 不会定
RubricBench 量出来的差距:Zhou 等人 (2026) 的 RubricBench 是一个 1,147 对的成对比较基准, 覆盖对话, 指令遵循, STEM, 代码, 安全五个领域. 构建时用多维过滤留下难样本: 输入复杂, 带有误导性的表面偏差. 每个样本配上专家标注的原子化评分规则, 规则严格从指令推出.
实验控制住判断模型的底座, 提示和解码参数, 只换评分规则的来源, 比较三种条件:
- 直接判断: 不写中间推理, 直接给出偏好.
- 自生成规则: 判断模型先从指令推出评分规则, 再按规则核对两个回答.
- 人写规则: 注入 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, 本质上是在做不完备的规范推断. 设答案 的特征为 , 一份线性 rubric 可以写成 . 一组两两偏好只给出若干不等式 . 通常有许多组权重都满足这些不等式, 更不用说真实规则还包含条件分支、否决项和无法由文本表面识别的事实约束. 因此模型从示例里「总结出规则」, 得到的只是与当前样本相容的一种解释.
歧义会沿着三个方向冒出来. 第一是遗漏: 所有示例都没有触发安全边界, 模型便可能把这条边界省掉. 第二是混淆: 高质量答案恰好都更长, 规则会把长度当成质量的代理. 第三是重复: 多条近义规则反复奖励同一性质, 聚合后等于偷偷提高了该维度的权重. 规则库需要同时检查覆盖率、独立性和区分度. 覆盖率看已知失败族是否至少被一条规则捕获; 独立性看两条规则在反例上的判断是否高度重合; 区分度看规则能否稳定地区分接近能力边界的答案.
一条规则进入长期记忆前, 最少要带着来源、适用条件、正例、反例、冲突项和校准记录. 「回答要完整」几乎无法执行; 「涉及多种边界条件时, 至少说明空输入与资源耗尽如何处理」才有可观察的触发条件. 反例尤其重要, 因为它划出规则不该管的地方. 如果没有反例, 越来越多的规则会倾向于对任何回答都扣分, 最终把保守和冗长误认为可靠.
规则冲突也不能靠简单投票抹平. 「尽量给出推导」与「用户只要一句结论」会在特定上下文相撞; 「展示完整证据」与「不得泄露敏感信息」具有明确的优先级. 可执行的规则图应把冲突边连起来, 标明覆盖条件和优先级来源. 对同一答案, 系统不仅输出总分, 还应输出实际触发的规则子图. 这样才能区分模型没遵守规则、评测器没正确执行规则, 以及规则本身互相矛盾.
最危险的闭环是提议者、验证者和受益者共享同一个偏差. 模型生成一条偏爱自身表达习惯的规则, 用同源模型确认它有区分度, 随后又凭这条规则获得更高奖励. 表面上每一步都有验证, 实际上证据没有独立性. 可行的拆分方法是让规则提议只接触训练样本, 准入测试使用密封反例和不同来源的判断器, 最终权重由稳定的外部指标决定. 同一个模型可以承担多个角色, 但各角色看到的数据、提示和历史必须隔离, 否则角色名称并不会带来独立证据.
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 门控决定.
改动有四处:
- 每个档案节点是一个多 Agent 工作区, 不是单个 Agent. 工作区里有若干角色, 包括任务 Agent 和评测器, 每个角色有自己的任务池.
- 评测器本身是学到的 Agent 流程, 和任务 Agent 共享代码库, 由同一个元 Agent 修改.
- 驱动搜索的效用可以在指定的 epoch 边界变化.
- 评测器可以在边界被替换.
只有打分和编排框架是固定的. 效用的汇总方式是两层均匀平均: 先在一个角色的任务上平均, 再在角色之间平均, 让搜索对所有角色同等重视.
数据隔离: 节点的训练结果给元 Agent 看, 用来指导修改, 但不进入搜索效用; 选节点只看验证集; 最终性能在另一个留出测试集上报告. 产生候选的证据和批准候选的证据是分开的.
3. 评判器共同演化的控制条件
3.1. RQGM 的选择分数与替换规则
最终选 Agent 和比较评测器, 用的都是 -best-belief 分数:
其中 , 是节点 累计的成功和失败次数, 是正则化不完全 Beta 函数的反函数, 即 Beta 后验的 分位数. 它的意思是: 节点的真实成功率以 的概率高于这个值.
算两个例子, 取 :
| 节点 | 成功 / 失败 | 后验均值 | |
|---|---|---|---|
| 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 边界, 每个评测器槽位把在任者和挑战者放到一个真值锚点上比较. 真值锚点是一个固定的留出数据集, 带客观标签或人类偏好标签, 不依赖任何评测器. 按锚点上的 排序, 最高的那个冻结为下一个 epoch 的评测器; 平局时保留在任者, 避免不必要的删除.
- 选择性删除. 替换之后, 删掉所有由被替换评测器打出的效用记录, 其他记录保留.
为什么必须删. 如果保留旧分, 或者把旧分换算到新评测器的尺度上, 同一个档案里就混着两个不同效用函数的证据, epoch 内标准固定这个前提就不成立了. 这就是第 1.2 节分解式里第二项的问题: 旧分和新分之差里含着尺子的移动.
删了之后, 被删记录的节点要在新评测器下重新评. RQGM 不立刻重评整个档案, 只在搜索回到这些节点时再评; 三层采样会自然优先照顾评测次数少的节点. 缓存的 Agent 输出可以复用, 重评不需要再调用任务 Agent.
检查点的位置按指数间隔安排. 论文证明: 公比 的指数间隔下, 预算 内暴露给删除或重评的记录总数是 ; 如果每次评测之后都允许替换, 是 . 指数间隔还有一个副作用: 后面更准的评测器支配搜索的时间更长.
论文的保证可以概括成三条: epoch 内是标准固定的搜索, HGM 的收敛保证逐 epoch 成立; 评测器只有在固定锚点上提高 才被提升, 所以跨 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 的 倍; 专才是 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 边界对 的一次有意修改, 而这次修改本身是人设计的, 不是循环自己发现的. 循环做的是在新效用下搜索审稿人.
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 (从 到峰值 , 配对检验 ). 它也胜过自己包含的那个裸 LLM 判断器: 对 . Spider 上是 对 .
准入门做了大部分工作. 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 失败: 进化出来的技能钻了报告评分规则的空子. 加一个检测器就修好了. 审计判断器本身也被检查了一遍, 又暴露出另一个问题. 论文的结论是: 不依赖验证器的自改进是可行的, 但前提是架构预期自己的评分函数会被钻空子, 自己的判断器会失准, 而且能把两者都捉出来.
共同演化为何容易绕圈:把能力状态记作 , 评测器状态记作 , 两条更新链可以抽象成
能力沿着当前评测器的梯度改进, 评测器再去寻找新能力的缺口. 理想状态下, 两者像红皇后竞赛一样不断抬高难度. 但这个动力系统没有天然的上升势函数. 它可能形成周期: 评测器强调简洁, 系统学会简洁; 下一代评测器发现细节不足, 转而强调完整; 系统变得冗长后, 评测器又重新惩罚冗余. 每轮分数都提高, 长期轨迹却在几个风格之间摆动.
另一个问题是评测器滞后. 当能力更新速度远快于评测器, 系统会集中利用当前规则的盲区; 当评测器更新太快, 训练目标频繁旋转, 能力还没学稳就失去梯度. 两时间尺度更新提供了一个朴素控制: 在一个 epoch 内冻结评测器, 让能力充分响应; 只有累计到足够的新失败证据才替换评测器. 替换阈值还应带滞回, 即新评测器必须以明确幅度胜过在任者, 平局继续保留旧版. 这样可以减少由抽样噪声造成的来回切换.
历史分数不能直接跨版本沿用. 旧评测器给候选留下的高分, 对新评测器未必有意义. RQGM 在替换后删除相应旧分数, 正是在避免把异质刻度混进同一个选择统计量. 更稳妥的做法是保存原始输出与执行轨迹, 对重要候选进行重放评分. 无法重放的数据只能作为带版本标签的旁证, 不能与新分数求平均. 否则一个早期宽松评测器会长期给某些血统提供隐形优势.
共同演化还会产生合谋. 如果评测器和解题器来自相同初始化、共享训练语料或互相读取推理痕迹, 二者可能发展出外部观察者不认可的快捷协议. 评测器集成也不会自动消除问题: 五个同源模型的多数票, 有时只是同一偏差被计算了五遍. 独立性应来自不同证据通道, 例如可执行测试、形式证明检查、密封人工判断和异源模型审阅. 各通道失效方式越不相同, 交集通过才越有意义.
锚点用来阻止变化失去坐标. 锚点过弱, 评测器可以通过改写目标轻易获胜; 锚点过强, 新标准只能复刻旧标准. 比较合理的组合包含三层: 永久保留的底线约束, 跨版本连接题, 以及随能力边界滚动的挑战集. 第一层保证不可退让的性质, 第二层允许估计刻度变化, 第三层维持区分度. 三层分别记录成绩, 不压成一个看似精确的总分.
评测器需要校准什么:评测器准确率常把性质不同的误差揉在一起. 对成对比较, 第一步要看顺序正确率; 对连续评分, 还要看数值校准; 对带理由的审阅, 则要看证据是否真的支持结论. 一个评测器可能总能选出较好答案, 却把微小差异说成压倒性胜利. 用它做筛选问题不大, 用它提供奖励强度就会产生过猛梯度. 另一个评测器分数很保守, 排序却稳定, 它更适合淘汰而未必适合估计绝对质量.
校准应按难度、任务族和失败类型分层. 总体 90% 的一致率可能来自大量容易样本, 在真正决定演化方向的能力边界上只有随机水平. 可以把样本按旧版分差切成区间, 单独报告近似平局、普通差异和悬殊差异. 近似平局最能检验细微判断, 也是标签噪声最大的区域. 对这一区域允许评测器输出无法确定, 通常比逼它制造胜负更可靠. 无法确定率本身也是状态量; 它突然下降, 可能表示能力提高, 也可能表示评测器过度自信.
评分理由提供了一条诊断通道, 但理由流畅不等于判断可靠. 可以把理由拆成事实引用、规则触发、因果连接和结论四步, 随机遮掉其中一步再看判断是否变化. 删除关键证据后分数毫无变化, 说明理由可能只是事后解释; 替换无关措辞就翻转, 说明评测器依赖表面线索. 对可执行任务, 还可以把理由声称的错误位置与真实失败轨迹对齐. 命中最终结论却找错原因, 对训练尤其危险, 因为它会把错误修复信号送到无关部位.
位置偏差、长度偏差和身份偏差要用成对干预测量. 交换候选顺序, 保持文本不变; 压缩两边的冗余说明, 保持实质内容不变; 隐去模型名称与格式习惯, 再比较胜率. 单次翻转未必说明系统性偏差, 大样本上的条件翻转率才有解释力. 若偏差集中在某类任务, 应限制评测器适用域, 而非用全局修正系数掩盖局部故障.
评测器更新还需要估计不确定性. 对每个候选保存多次采样分布, 能区分均值略高且方差很大与稳定领先. 在搜索中只追均值, 容易选中偶然高分的候选; 使用置信下界则会偏向证据充分的候选. 不确定性不能只来自同一模型多次采样, 因为系统偏差不会被重复采样暴露. 更完整的分解包括采样噪声、提示变化、模型差异、标注分歧和任务抽样误差.
校准集一旦参与多轮替换, 也会逐渐变成训练集. 评测器虽然没有直接读取标签, 但选择压力会把校准集的信息写进存活版本. 因此需要校准集、晋升集和终审集三层隔离. 校准集允许频繁查看, 晋升集只在候选冻结后开启, 终审集只用于阶段性结论. 每次开启都记录访问者和用途; 终审集被用于修复之后, 它就降级为普通回归集, 不能继续承担独立证据.
6. 参考来源
- Kaiqi Wang, Wenjin Hou, Yuchen Yan 等 (2026). Diving into Reliable Self-Evolving Agents: A Survey. §7 L4: Criterion-Level Self-Evolution.
- Alex Iacob, Andrej Jovanović, William F. Shen 等 (2026). The Red Queen Gödel Machine: Co-Evolving Agents and Their Evaluators.
- Xing Zhang, Guanghui Wang, Yanwei Cui 等 (2026). Who Grades the Grader? Co-Evolving Evaluation Metrics and Skills for Self-Improving LLM Agents.
- Junyi Zhou, Qiyuan Zhang, Yufei Wang 等 (2026). RubricBench: Aligning Model-Generated Rubrics with Human Standards. ACL 2026.
- Jinbiao Wei, Qianran Ma, Yilun Zhao 等 (2026). OpenComputer: Verifiable Software Worlds for Computer-Use Agents.
- Yecheng Jason Ma, William Liang, Guanzhi Wang 等 (2024). Eureka: Human-Level Reward Design via Coding Large Language Models. ICLR 2024.
- Yuxuan Liu, Tianchi Yang, Shaohan Huang 等 (2024). Calibrating LLM-Based Evaluator. LREC-COLING 2024.
- Jack Parker-Holder, Minqi Jiang, Michael Dennis 等 (2022). Evolving Curricula with Regret-Based Environment Design. ICML 2022.
上一篇: 4.1.2 · L3: 学会更好的改进策略 · 下一篇: 5.1.1 · 失效模式