读自我改进的论文, 难处常在数字之前. 一篇论文报告 SWE-bench 从 20.0% 到 50.0%, 另一篇报告 GSM8K 从 95.5% 掉到 89.0%, 两者都叫自我改进, 但前者保留下来的是 Agent 的代码, 后者只改了一道题的答案. 不先说定被改的是什么, 就不知道该拿哪一种证据去检查这个数字, 也不知道它能外推到哪里.
这一部分的三篇把后面五部分要用的东西一次立好: 一套描述 Agent 状态和一轮改动的记号, 一条按改动深度分层的阶梯, 以及一套判断「改动发生了」能否升级为「改进成立了」的证据规则. 三篇的材料主要来自腾讯混元与浙江大学等的综述 Diving into Reliable Self-Evolving Agents 的定义部分和可靠性部分, 再配上 Huang 等人的自我纠错实验, Gao 等人的奖励过优化曲线, PACE 的序贯检验这些可以算出来的例子.
后面各篇遇到一个新系统, 都会回到这里问同一组问题: 它保留下来的是 , , 还是 ; 它的内部选择用了什么信号; 最终证据在不在更新边界之外. 这一部分读扎实了, 后面每篇只需要讲系统本身.
1. 三篇的分工
1.1. 导读: 把五件事分开
1.1.1 · 导读与证据规则 从五个具体结果起笔: GPT-4 自我纠错后准确率下降, R-Zero 的自投票标签准确率从 71.0% 降到 42.2%, SkillsBench 上自写技能平均 −1.3 个百分点, DGM 的后代删掉检测标记拿满分, RQGM 在 epoch 边界替换评估器. 五个例子分别落在 L0 到 L4, 失败方式也各不相同, 这一篇用它们引出坐标系.
1.1 的后半是两段材料. 一段是 1965 到 2026 年的几个节点: Good 的超智能机器论证, Yudkowsky 的 seed AI, Schmidhuber 的 Gödel Machine, AlphaZero, 语言模型进入循环之后的 STaR, Self-Refine, Voyager, DGM, 以及 Karpathy 的 autoresearch 和 OpenAI 的阈值写法. 另一段是九条证据规则, 每条配一个本库读过的实例, 比如 Meta-Harness 的 76.4% 来自搜索集即评测集, Mimosa 的工作流档案在实验中一次都没被检索. 这九条在后面各篇反复被引用.
1.2. 定义: 状态, 一轮循环与阶梯
1.1.2 · 定义与形式化 是全库的记号来源. 它先区分演化目标和外部目标: 前者回答这次改了什么, 后者回答拿什么判断改得更好, 后者的语义不能被这次改动修改. 然后把一轮自演化拆成执行, 提出, 选择, 审计四步, 写出 L0–L4 的边界条件, 再从 L3 的条件推出 RSI 的定义.
这一篇的后半用同一组问题走查代表系统: 这一轮保留下来的是什么, 它影响之后的执行, 更新还是评判, 外层哪些部分固定. 走查得出的几条结论后面会反复用到: 论文的命名不决定深度; 「同一个模型既当选手又当裁判」不自动等于 L4; 产物可验证不等于改进器变好; 每个 L3, L4 系统都固定了一部分外层, 被固定的部分就是它的改进主张成立的范围.
证据: 接受与控制:1.1.3 · 证据, 接受与控制 处理采纳一次改动时的三个问题: 证据从哪来, 按什么规则接受, 接受以后谁能回滚. 它把证据按产生方式分成形式证明, 程序执行, 学出来的评判器, 模型自评四种, 按综述的可靠性阶梯列出每层暴露给改动的证据和匹配的审计, 再推导反复挑选带来的偏差.
验收规则一节读 PACE, SEA, RSEA 三种做法. PACE 在同一组题上只看两边结果不同的题, 维护一个 e 过程, 用 Ville 不等式保证任意时刻停止时误采纳概率不超过 ; RSEA 把演化池和验证集分开. 最终两节讨论升级之后的事: 谱系和回滚路径要演练过才算控制手段, 组件被攻破以后, 证据收集, 验收, 谱系和恢复权限仍要有效, 审计才算外部的. Zombie Agents 的记忆投毒是这一段的具体例子.
1.3. 共用的记号
组件与等价关系:可保留状态写成 . 脚手架在第 3 部分进一步拆成 , 即结构化提示, 记忆及检索策略, 工具集及调用接口, 控制逻辑. 记忆里执行中可以直接写入的部分记作 . 两个版本在实际起作用的, 与决策相关的语义上等价, 记作 ; 重命名一个变量, 或者存一份从不被读取的副本, 都还是等价.
一轮的四步各有一个式子. 执行是 , 其中 是资源预算, 是临时的经验摘要. 提出和选择是 与 , 出现在提出的下标里, 出现在选择的下标里. 审计是 , 证据源 和验收策略 在 Agent 状态之外. 一个系统改的是提候选的方式, 动的是 ; 改的是挑候选的规则, 动的是 .
几个容易混的词:本库用「自演化」指 L0–L4 的任何改动, 用「RSI」只指 L3 和 L4, 「改进」只在改进主张有外部审计支持时使用. 更新边界划定四件事: 循环可以修改什么, 可以读取哪些证据, 可以用多少资源, 可以授权哪些动作. 审计是不是外部的, 看它由谁控制, 不看它在哪里运行.
开发证据指已经向候选生成或内部选择公开过的证据; 审计证据指没有参与这两步的证据. 一个系统实际完成的转移低于 L4, 但它生成或使用了和评判有关的产物, 却没有改变生效的评判语义, 称为 L4-facing, RLCER 在评分规则不被保留时就是这种情况. 产物指 Agent 状态之外的输出, 比如搜出来的算法或训练好的另一个模型; 产物变好不等于 Agent 演化了, 被装进 才是 L2, 被用来训练 并保留下来才是 L1.
2. 三篇共同落下的判断
2.1. 深度不等于可信度
层级排的是改动对象的深度. 证据的强弱要另外看, 而且和层级不是同一个维度: 任何一层都可以用任何一种证据. 下表把 1.3 读过的四种证据来源和它们的代表数字放在一起.
| 证据来源 | 例子 | 数字 | 局限 |
|---|---|---|---|
| 形式证明 | Gödel Machine | 证出目标定理才改写 | 相对固定的公理和效用函数, 找不到证明就不改 |
| 程序执行 | CodeT, Absolute Zero | 执行结果不依赖模型判断 | 只覆盖写进测试的行为, 测试本身可能是模型写的 |
| 学出来的评判器 | PRM 对 ORM 对投票 | MATH 上 78.2%, 72.4%, 69.6% | 优化强度过了拐点后, 代理分和真实目标反向 |
| 模型自评 | Lee 等人的技能评定 | setter 校验 , 多态 | 语法可检查的维度上一致, 设计层面几乎无关 |
四种来源大致按对被评对象的独立程度排, 但这个排序不能直接当可信度. 程序执行可以测错东西; 学出来的评判器在优化强度低时有用, Gao 等人的拟合曲线显示强度过了 之后金奖励开始下降; 自评在可检查的维度上相关系数可以到 0.88. 综述的说法是, 关键的比较在「改动控制了什么」和「审计由谁控制」之间, 不在层级编号之间.
2.2. 挑选会制造增益
设 个候选相对原版本的真实差距都是 0, 测得增益只有标准差为 的独立高斯噪声. 最大噪声在大 下约按 增长, 但这个渐近式在 时偏高: 20 个独立标准正态变量的最大值期望约为 1.87. 若两个版本各自在 200 道、通过率约 0.5 的题上独立测量, 差值标准误约为 0.05, 被挑中者的虚假增益约为 9.3 个百分点. 同题配对比较不能继续套这个 0.05: 方差取决于两版本逐题分歧和协方差. 候选之间相关时, 有效候选数也不再等于名义上的 .
可选停止有同样的问题: 每多测一道题就看一次, 一旦显著就采纳, 只要一直测下去, 没有改进的候选迟早会显著. 自演化循环天然是序贯的, 所以 PACE 这类在任意停止下仍然有效的检验才派得上用场. PACE 的实验里, 贪心接受有 30–42% 的采纳是假的; 它自己的保证只对单个决定成立, 一轮运行测了 个候选, 至少误采纳一次的概率可以到 . 小样本上的差异也要先算误差: 45 道题, 通过率 42%, 标准误约 7.4 个百分点.
3. 读法
3.1. 顺序
第一次读按 1.1, 1.2, 1.3 的顺序. 1.1 用具体结果建立直觉, 不要求先懂记号; 1.2 给出记号和边界条件, 读完应能自己把一个新系统归到某一层; 1.3 讨论证据和采纳, 读它时会频繁用到 1.2 的外部审计式子. 后面五部分的每篇开头都只回顾一两句定义, 跳过这一部分直接读后文会缺很多前提.
已经熟悉自演化 Agent 文献的读者, 可以从 1.2 的阶梯和代表系统走查读起, 那一段决定了全库的归类口径, 和一些论文的自我描述并不一致, 例如 AREX 自称 RSI 而被归为 L0, AlphaEvolve 被判为不构成 L3. 读完再扫一遍 1.1 的九条规则, 它们是后面各篇检查数字时的清单.
3.2. 按需要查
只想弄清某个系统属于哪一层, 查 1.2 的阶梯和走查, 以及它末尾的论文记录表: 深度, 改动对象, 信号由谁产生, 内部筛选, 外部证据, 外层固定了什么, 保持证据. 后面各篇讲到一个系统时都按这几栏记录, 其中「外层固定了什么」一栏划出了改进主张成立的范围.
想评估一篇论文的改进主张, 查 1.3 末尾的审计记录表, 它和论文记录表配合使用: 前者记录系统改了什么, 后者记录证据怎么支撑改进主张, 逐项检查外部目标, 证据来源, 时间范围, 三个证据属性, 挑选次数, 验收规则, 谱系与回滚, 威胁模型. 关心安全的读者读完 1.3 的攻破与独立性部分, 可以直接接 第 5 部分.
4. 从状态变化到可证伪的改进主张
4.1. 三个量不能混成一个分数
一轮循环至少产生三个不同的量. 第一个是内部目标 , 候选生成器用它决定往哪里搜索; 第二个是开发测量 , 选择器用它比较候选; 第三个是外部测量 , 它只在候选确定以后判断改进是否成立. 设候选集合为 , 实际提交的版本通常满足
这个式子已经把开发集的信息写进了 . 即使候选从没直接读取开发样本, 只要选择器反复按开发分保留和淘汰, 信息就会通过选择路径进入最终版本. 因而 只能证明搜索器找到了更适合开发测量的候选. 外部主张需要另一个与选择路径条件独立的样本 , 比较 , 并给出不确定性.
若每道题的配对差值为 , 样本均值为 , 一个直接的 Hoeffding 界是 . 它很保守, 却揭示了基本关系: 增益越小, 所需的独立样本按 增长. 在 50 道题上提高 2 个百分点, 远不足以支持跨任务变好的强主张.
4.2. 保持性决定递归是否存在
把一次更新写成 , 其中 是本轮经验. 若 , 系统可以连续运行很多轮, 但运行次数本身不构成递归改进. 它只是同一更新器的重复应用. L3 要求经验导致 的有效行为发生持久变化, 并且这个新更新器参与之后的候选生成或选择. 用本库的组件写, 就是 , 同时下一轮确实调用 .
这条条件排除了两个常见的假阳性. 第一种是系统把「上次哪里做错了」写进日志, 下一轮运行时却从不检索日志. 文件存在, 有效状态没变. 第二种是系统重写自身源码, 评测后仍从固定镜像启动旧版本. 代码产物变了, 执行中的改进器没变. 相反, 一份很短的技能如果被后续任务稳定检索, 改变工具选择并跨会话保留, 它确实构成 L2 更新. 深度由因果作用决定, 与文件大小和实现形式无关.
4.3. 递归不保证加速
即使每轮都通过独立审计, 改进序列也未必指数增长. 令能力为 , 一轮可得到的增益写成
其中 表示当前能力能发现的有效改进, 表示实现并保留这些改进的比例, 表示验证误差、分布迁移和新增复杂性带来的损失. 「更聪明的系统更会改进自己」只是在猜测 随 上升; 若验证成本增长得更快, 或剩余问题越来越难, 净增益仍会收敛到零. 当 , 为常数且 时, 系统只是以几何速度接近上限 , 不会越过它. 真正的能力爆炸还需要上限随改进过程扩张、资源能够供应、验证没有成为瓶颈等额外条件.
「能够修改改进器」「连续多轮变好」「增益随能力加速」是三个逐步增强的命题. 第一个由状态和保持性证明, 第二个由跨轮外部评测证明, 第三个要估计增益函数随能力的变化. 一篇实验只报告三轮分数上升, 最多支持第二个命题在该预算和任务分布上的局部版本.
5. 三类反例怎样改变验收
5.1. 标签正确, 推理仍然退化
自训练可以在最终答案可判定时不断制造正确样本, 但中间推理可能逐渐变短、模板化或依赖偶然捷径. 若训练只最大化答案奖励, 两条同样得分的轨迹中, 稳健算法和脆弱启发式没有区别. 一旦题目表述或长度变化, 后者更容易失效. 程序可验证器是强证据源, 却只能保证被执行器覆盖的性质. 对推理过程的主张还需要干预式测试, 例如改变无关表述、交换变量名、延长组合深度, 检查解法是否保持.
5.2. 平均值提高, 尾部风险变坏
设新系统在 99% 的普通任务上提高 , 在 1% 的高损失任务上增加失败概率. 平均准确率可能上升, 期望损失却变差. 若高风险任务的单次损失为普通任务的 倍, 只要 大于普通任务累计收益, 均值结论就会反转. 所以安全相关的自改进不能只看宏平均分, 还要按风险层分组, 报告最坏组表现、拒绝行为与能力增长是否同步变化.
5.3. 一代有效, 谱系逐轮漂移
每轮独立看都只有很小偏差, 多轮组合仍会积累. 若第 轮接受错误改动的概率为 , 不作独立假设也有并合界 . 固定每轮 , 跑二十轮时这个上界已经失去约束力. 更实际的做法是给整条谱系分配错误预算, 例如令 , 使总和不超过 . 这会让后期验收越来越严格, 也揭示长期 RSI 的代价: 运行越久, 证明没有退化所需的证据越多, 不能把单轮显著性直接复制到无限循环.