Browse this library

Chinese source article

1.1.3 · 证据、接受与控制

一次自演化是不是改进, 要回答三件事: 证据从哪来, 按什么规则接受, 接受以后谁能回滚. 本篇按综述 §8 的可靠性阶梯讲 L0–L4 各自暴露的证据和典型审计失败, 推导反复挑选带来的偏差, 读 PACE, SEA, RSEA 三种验收规则, 最终讨论组件被攻破后审计怎样保持独立.

View original Markdown ↗

1. 问题与证据的来源

1.1. 改动发生了, 是不是改进

1.2 的第 2.3 节把外部审计写成

Ekext∼EvidenceS(⋅∣Ak,  A~k+1),dk=GateG(Ekext)∈{accept,  reject,  escalate}.E_k^{\mathrm{ext}} \sim \mathrm{Evidence}_S\left(\cdot \mid \mathcal{A}_k,\; \tilde{\mathcal{A}}_{k+1}\right), \qquad d_k = \mathrm{Gate}_G\left(E_k^{\mathrm{ext}}\right) \in \{\text{accept},\; \text{reject},\; \text{escalate}\}.

这个式子里有三个角色. 外部目标说明「什么叫更好」: 测什么结果, 和哪个基线比, 看多长时间, 有哪些约束, 资源怎么对齐. 证据源 SS 以在任状态 Ak\mathcal{A}k 为基线, 对候选 A~k+1\tilde{\mathcal{A}}{k+1} 产出证据. 验收策略 GG 把证据映射成决定. 三者都不能被这次改动修改.

综述 §8 在这个结构上提出三个问题. 第一, 证据: 什么证据能支撑「这次改动是改进」, 它覆盖了什么. 第二, 接受: 用什么规则把证据变成采纳决定, 这条规则在反复挑选下还成不成立. 第三, 控制: 采纳以后, 谁能追溯它, 谁能回滚它, 组件被攻破后这些权限还在不在.

一份证据只要向候选生成或内部选择公开过, 就是开发证据, 不能再作为同一次改动唯一的最终审计证据. 这条规则贯穿全篇. 它的理由在第 3.2 节用一个计算说明.

1.2. 形式证明与程序执行

后面各篇读到的证据, 按产生方式可以分成四种: 形式证明, 程序执行, 学出来的评判器, 模型自评. 这里不给它们编号, 因为它们和 L0–L4 不是同一个维度: 任何一层都可以用任何一种证据. 前两种不依赖任何模型的判断.

形式证明的例子是 Gödel Machine. 它只在证出目标定理之后执行改写: 在当前公理化的效用函数下, 立刻执行改写的效用高于继续搜索. AlphaEvolve 这类系统的产物 (算法, 矩阵乘法方案) 可以用可执行或形式化的检查确认正确性. 形式证明的强度来自它相对于固定的公理和效用函数. 它的局限也在这里: 公理漏了相关事实, 或者效用函数没写对目标, 证明就推不出部署中的收益. Gödel Machine 的论文写明, 即使计算资源无限, 它也必须忽略无法证明有效的改进.

程序执行指单元测试, 编译器, 模拟器, 棋规给出的反馈. CodeT 用模型生成的测试执行候选代码, Absolute Zero 用 Python 执行器判定题目和答案, CURE 用标准单元测试判定代码对错. 执行反馈的问题有两个. 一是覆盖: 测试只检查被写进测试的行为, 通过测试不等于正确. 二是测试的来源: CodeT 的测试由模型生成, 测试本身可能是错的. 执行环境可靠, 不代表测试用例可靠.

1.3. 学出来的评判器

奖励模型, 过程奖励模型和 LLM 判官把人的判断压缩进一个模型. Lightman 等人 (2023) 在 MATH 上比较了三种从 1860 个候选中挑答案的方法. 在 500 道没进训练集的 MATH 测试题上, 用逐步标注训练的过程奖励模型 (PRM) 解出 78.2%, 只看最终答案训练的结果奖励模型 (ORM) 解出 72.4%, 多数投票 69.6%. PRM 的训练数据 PRM800K 有约 80 万条步骤级人工标注, 覆盖 1.2 万道题的 7.5 万个解答. 这个结果说明学出来的评判器可以比投票更有信息量, 前提是有大量高质量的人工标注.

学出来的评判器会被优化过度. Gao, Schulman, Hilton (2022) 用一个固定的「金」奖励模型当真值, 训练代理奖励模型, 再让策略对代理奖励做优化. 记 d=DKL(π ∥ πinit)d=\sqrt{D_{\mathrm{KL}}(\pi,|,\pi_{\mathrm{init}})} 为策略离初始策略的距离, 金奖励随 dd 的变化拟合为

Rbon(d)=d (αbon−βbon d),RRL(d)=d (αRL−βRLlog⁡d),R_{\mathrm{bon}}(d) = d\,(\alpha_{\mathrm{bon}} - \beta_{\mathrm{bon}}\, d), \qquad R_{\mathrm{RL}}(d) = d\,(\alpha_{\mathrm{RL}} - \beta_{\mathrm{RL}} \log d),

前者对应 best-of-nn 采样, 后者对应强化学习, 并约定 R(0)=0R(0)=0. best-of-nn 的 KL 有解析式 KLbon=log⁡n−n−1n\mathrm{KL}_{\mathrm{bon}} = \log n - \frac{n-1}{n}.

两条曲线都先升后降. 对 RbonR_{\mathrm{bon}} 求导, αbon−2βbond=0\alpha_{\mathrm{bon}} - 2\beta_{\mathrm{bon}} d = 0, 峰值在 d∗=αbon/(2βbon)d^\ast = \alpha_{\mathrm{bon}}/(2\beta_{\mathrm{bon}}), 峰值高度 αbon2/(4βbon)\alpha_{\mathrm{bon}}^2/(4\beta_{\mathrm{bon}}). 对 RRLR_{\mathrm{RL}} 求导, αRL−βRLlog⁡d−βRL=0\alpha_{\mathrm{RL}} - \beta_{\mathrm{RL}}\log d - \beta_{\mathrm{RL}} = 0, 峰值在 d∗=exp⁡(αRL/βRL−1)d^\ast = \exp(\alpha_{\mathrm{RL}}/\beta_{\mathrm{RL}} - 1). 过了峰值, 代理奖励还在涨, 金奖励开始跌. 论文用 n≤1000n\le 1000 (KL 约 6 nats) 的数据拟合曲线, 再跑到 n=60000n=60000 (KL 约 10 nats) 验证, 作者称这是一次真正的事前预测.

这组公式给出了一个可以检验的结论: 对着一个学出来的评判器优化, 存在一个最优的优化强度, 超过它, 评判器分数和真实目标会朝相反方向走. 一个自演化循环如果只看代理分数, 看不到这个拐点. 拐点要靠代理之外的证据, 在这个实验里就是金奖励模型.

模型自评:最弱也最便宜的一种是模型评价自己的输出. Huang 等人 (ICLR 2024) 让 GPT-3.5 在 GSM8K 上自我纠错, 74.7% 的情况保留原答案; 让 GPT-4 纠错两轮, GSM8K 从 95.5% 降到 89.0%. Llama-2-70b-chat 下降更多, 从 62.0% 降到 36.5%. 这些实验都不给模型任何外部反馈, 由模型自己决定何时停止. Self-Refine 的论文报告, ChatGPT 对数学题 94% 的样例给出的反馈是「everything looks good」.

自评不是在所有任务上都同样无效. Lee 等人 (BEA 2026) 让同一个模型 (Claude Sonnet 4.6) 按指定的技能水平写 Python 面向对象代码, 再给这段代码评定水平, 看评定能不能还原出指定的水平. 150 个合成样本, 24 项技能, 总体相关系数 r=0.698r=0.698 (95% 置信区间 0.684 到 0.712), 平均偏高 0.059. 拆开看差别很大. setter 校验逻辑 r=0.88r=0.88, 类变量声明 0.83, 抛出异常 0.80; 抽象基类定义 0.08, 方法重写 0.06, 多态 −0.03. 语法上可以检查的技能, 生成和评价一致; 设计层面的技能, 几乎不一致.

2. 可靠性阶梯与各层的审计失败

2.1. 可靠性阶梯

四种来源大致可以按「对被评对象的独立程度」排序: 形式证明和程序执行不依赖被评模型的判断, 学出来的评判器依赖另一个模型, 自评依赖被评模型本身. 但这个排序不能直接当成可信度. 程序执行可以测错东西; 学出来的评判器在优化强度低时很有用, 强度高时会被钻空子; 自评在语法可检查的维度上相关系数可以到 0.88. 综述的说法是: 一个 L1 更新拿到的新鲜执行结果, 可能比一个 L0 修订所用的未校准自评更有信息量; 反过来, 任何一层的留出基准都可能在反复反馈下变成开发目标. 关键的比较在「改动控制了什么」和「审计由谁控制」之间, 不在层级编号之间.

综述 §8 正是按这个思路把每一层和它需要的审计配成对, 称为可靠性阶梯. 阶梯的高度只表示演化深度, 往上一层改变的是审计义务, 不是可靠性分数. 下表整理自综述的图 8 和表 9.

层级 最深被改的对象 暴露给改动的证据 典型审计失败 匹配的审计与控制
L0 当前输出或轨迹 任务内的自我批评, 共识, 生成的测试和分数 自我确认, 有害的过度修改 执行, 有来源的检查, 固定 rubric, 环境观察或人工裁决, 证据源和决定程序在任务内更新边界之外; 任务内采纳, 拒绝或上交
L1 可保留的模型或策略状态 自生的伪标签, 偏好, 样本, 奖励或学出来的验证器 模型坍塌, 尾部收窄, 表面学习, 遗忘 更新后在新任务上的迁移, 保持和干扰测试, 可执行结果, 数据准入检查; 采纳前的外部验收
L2 可保留的提示, 工具, 技能, 记忆, 工作流, 拓扑, harness 端到端分数, 检索到的记忆和上下文, 组件验证器, 反复查询的留出集 脚手架过拟合, 交互混杂, 资源混杂, 存储漂移 在新任务上与在任版本做匹配预算的比较, 组件消融, 存储回放, 来源记录, 版本谱系, 测试过的回滚路径
L3 提出, 选择, 提交或之后更新改动的程序 当前任务分, 适应度, 档案, 反复使用的基准, 改进器自己的搜索诊断 指标捕获, 资源混杂, 当前表现和后代表现脱节 后代在新任务, 匹配资源下的表现, 提议历史, 密封评测, 受保护的谱系, 回滚权限
L4 评测协议, 判断任务, 奖励语义, 约束或价值 在修改后的标准下产生的分数和偏好 准则漂移, 相互迁就, 新标准更容易满足但和外部目标不一致 受保护的结果度量, 新旧标准的交叉评估, 更新边界之外的授权, 受保护的约束

表里有一个断点. L0 的审计以任务内的决定结束: 这道题的答案采纳, 拒绝或上交. L1–L4 的改动会保留下来, 所以在采纳之前要有外部验收, 采纳之后还要有受保护的谱系和独立的恢复手段. 综述强调这些配对是有条件的设计要求, 满足了也不能保证改进.

各层失败的共同结构:综述把五层的失败归到同一个结构问题上: 在每一层, 改动都可能通过影响证据来抬高测得的分数, 而不是在外部目标下变好. 机制按层不同.

五层的审计时间范围也依次变长. L0 只关心当前产物. L1 要在之后的独立任务上测迁移, 保持和干扰. L2 要在新任务上和在任版本比. L3 要看后代, 不只看当前分数. L4 要比较新旧标准下的判断. 一篇论文报告的证据如果只覆盖比主张更短的时间范围, 主张就超出了证据. 例如一个 L3 系统只报告当前最好产物的分数, 回答不了「改进器是否变好了」.

L0: 提出者和评审共享同一个错误:L0 的修订由同一个模型提出和评审. 模型如果在某道题上有系统性的误解, 生成答案时会犯, 检查答案时也会认为没问题. Huang 等人的数据显示了另一面: 模型自评不只是放过错误, 还会把对的答案改错. GPT-4 在 HotpotQA 上纠错两轮后从 49.0% 降到 43.0%. 匹配的审计是让判断来自任务之外: 代码的执行结果, 检索到的原文, 固定的 rubric, 或者人.

L0 的审计时间范围就是当前任务. 改坏的答案随任务结束被丢弃, 所以 L0 不需要回滚机制, 只需要决定这一个答案交不交出去.

L1: 有偏的监督进入参数:L1 的错误会跨任务保留. Shumailov 等人 (Nature, 2024) 证明, 不加区分地用模型生成的内容训练下一代模型, 会造成不可逆的缺陷: 原始分布的尾部消失. 理论部分在离散分布和多维高斯这两个简化模型上给出证明, 离散情形下马尔可夫链最终收敛到一个吸收态 (单点分布). 实验部分在 wikitext2 上微调 OPT-125m: 用真实数据微调后的模型困惑度 34; 每一代只用上一代生成的数据训练 5 个 epoch, 困惑度上升 20 到 28; 每一代保留 10% 原始数据训练 10 个 epoch, 退化很小.

L1 审计的时间范围比 L0 长. 需要在更新之后的独立任务上测三件事: 迁移 (新能力在别的任务上是否成立), 保持 (旧能力是否还在), 干扰 (新旧能力是否相互损害). Yu 等人 (2026) 测了四种演化通道的遗忘: 工作流, 技能, 模型, 记忆. 不加约束的记忆更新后, 旧领域的平均表现从 83.9% 降到 81.6%. 他们提出的保持约束在工作流演化上把简单任务的保持表现从 41.8% 提到 52.8% (GPT-5.1 做优化器), 在记忆演化上把平均保持差距从 2.3% 降到 0.7%. 这组结果说明, 存下了一个改动, 不代表旧能力还保留着, 保持要单独测.

L2: 交互导致的过拟合:L2 的脚手架是多个组件的组合: 提示, 工具, 记忆, 工作流. 一个组合可能只在挑选它的那组基准, 那个判官, 那个模型上有效. 3.2 读过三种变体. 留出集被反复查询, 逐渐变成开发集; 改动和其他组件交互, 增益归不到改动本身; 记忆库静默漂移, 写进去的条目被检索时没有人检查.

Zhao 等人 (ICML 2026) 的干预实验说明了 L2 需要组件层面的证据. 他们在四个记忆框架, 13 个模型, 9 个环境上, 把 Agent 存下的经验清空, 打乱, 换成无关内容, 篡改或换成填充文本. Agent 稳定地依赖原始轨迹, 却经常忽略或误读压缩过的经验摘要, 即使摘要是唯一提供的经验; 对摘要做篡改, 换成无关内容或填充文本, 表现和不做干预几乎一样. 只看端到端分数, 会把这种情况读成「记忆有用」. L2 的匹配审计是: 在新任务上和在任版本做对齐预算的端到端比较, 再加组件消融, 证明每个被保留的组件确实在起作用.

L3: 当前分数和后代表现脱节:L3 改的是产生改动的程序, 所以要审计的是这个程序之后产出的后代. 4.1 读过 HGM 对 DGM 和 SICA 的检查: 两者都假设分数高的 Agent 会产出更好的后代, HGM 测出这个相关很弱. 一个改进器在当前任务上得分高, 不说明它产出的下一代会更好.

L3 的审计因此要看后代: 在没有参与搜索的任务上, 对齐资源, 比较新改进器和在任改进器产出的后代. 评测要密封, 也就是候选改进器不能查询评测结果来调整自己. 4.2 读的 STOP 是一个正面例子: 改进后的改进器被拿到 5 个没见过的任务上, 每个都比种子改进器好.

L4: 判断改进的标准被改了:L4 的改动直接作用于评分规则, 只用新标准打分, 分不清新标准是更准还是更好满足. 4.3 读过两个做法. RQGM 用一个固定的留出真值集比较新旧评估器, 挑战者显著胜出才替换. Double Ratchet 只用 10 个有参考答案的样本做锚点; 去掉锚点护栏后, 评分函数退化成几乎全判通过, 而用它训练出的技能在任务分上和正常版本相差不到 0.038. 下游任务分不能用来验证评判器本身.

L4 的匹配审计是受保护的结果度量, 加新旧标准的交叉评估: 新标准下的分数, 旧标准下的分数, 留出真值下的结果, 三者都要报告. 标准的替换还要由更新边界之外的授权批准.

3. 证据的属性与反复挑选

3.1. 证据的三个属性

综述把证据的质量拆成三个属性, 要求分开报告.

可检查性?结构化的轨迹, 原文出处, 分解过的判定, 版本差异, 这些让人能看清证据是怎么来的. 但能看清不等于有信息量. 一个 LLM 判官可以给出逐项的理由, 每一项都读得懂, 整体判断仍然和真实水平无关. Lee 等人在设计层面技能上测到的 r≈0r\approx 0 就是这种情况.

信息量?证据能否区分好的候选和坏的候选. 1.3 节的奖励过优化是信息量随优化强度下降的例子: 代理奖励在拐点之前和金奖励同向, 之后反向.

外部性?证据是否在更新边界之外, 有没有被改动影响过. 一个固定的基准在第一次使用时是外部的, 被反复用于挑选候选之后就成了开发证据.

三个属性相互独立. 一份证据可以容易检查但信息量低, 也可以信息量高但已经被开发过程用过. 论文报告证据时, 这三点要分别说明, 不能用「我们有详细的日志」代替「我们有留出的测试」.

3.2. 反复挑选带来的偏差

为什么开发证据不能当最终审计证据, 可以用一个简单的模型算出来.

设有 NN 个候选, 它们和在任版本的真实差距都是 0. 在同一组 nn 道题上测量, 第 ii 个候选的测得增益是 Δ^i=εi\hat\Delta_i = \varepsilon_i, 其中 εi\varepsilon_i 是抽样噪声, 均值 0, 标准差 σ\sigma. 验收规则挑测得增益最大的那个. 被挑中的候选的测得增益是 max⁡iεi\max_i \varepsilon_i, 真实增益仍然是 0.

当 εi\varepsilon_i 相互独立且近似正态时, NN 较大时有渐近式

E[max⁡1≤i≤Nεi]≈σ2ln⁡N.\mathbb{E}\left[\max_{1\le i\le N} \varepsilon_i\right] \approx \sigma\sqrt{2\ln N}.

所以挑出来的候选在开发集上的增益, 期望值是一个随 NN 增长的正数, 全部来自噪声. 2ln⁡N\sqrt{2\ln N} 是大 NN 渐近量级, 不能直接拿来代替有限 NN 的精确期望. 20 个相互独立的标准正态变量, 最大值的期望约为 1.87, 而 2ln⁡20≈2.45\sqrt{2\ln20}\approx2.45.

举一个量级: 通过率 0.5 左右, n=200n=200 道题, 若候选和原版本分别在两组独立样本上测量, 差值标准误是 σ=2×0.25/200=0.05\sigma=\sqrt{2\times0.25/200}=0.05. N=20N=20 且候选噪声相互独立时, 选择冠军带来的乐观偏差约为 1.87×0.05=0.09351.87\times0.05=0.0935, 即 9.3 个百分点. 若候选和原版本做同题配对, 应令 dj=Xj−Yjd_j=X_j-Y_j, 再用 Var⁡(dˉ)=Var⁡(dj)/n\operatorname{Var}(\bar d)=\operatorname{Var}(d_j)/n; 这里的方差由两版本的逐题分歧率和协方差决定, 不能继续套独立两比例的 0.05. 多个候选往往又共享模型、数据和样本, 候选噪声彼此相关, 此时还要用相关结构估计有效候选数. 数值会变, 选择偏差本身不会消失.

这个偏差只能用没有参与挑选的数据来消除. 在一组新的题上重新测被挑中的候选, ε\varepsilon 和挑选无关, 期望增益回到真实值. 这就是开发证据和审计证据分开的原因. 同一个留出集被反复用来做验收决定, 它也逐渐变成开发集: 每一次「这个候选在留出集上没过, 换一个再试」, 都是在留出集上做了一次挑选.

可选停止有同样的问题. 如果验收规则是「每多测一道题就看一次, 一旦显著就采纳」, 那么即使候选没有改进, 只要一直测下去, 迟早会在某一刻显著. 固定样本量的显著性检验不允许中途偷看. 自演化循环天然是序贯的: 候选一个接一个来, 证据一点一点积累. 第 4 节的三种方法都在处理这个问题.

6.2.2 读的 PEAR 是工业搜索里的一个例子. 它用 95% 置信区间的下端点大于 0 作为推广条件, 单次决定的误推广率是 2.5%, 比分数高就采纳的规则严得多; 但区间跨零的候选留在原级继续评估, 同一配置在不同轮次反复重测, 也没有多重比较校正. 论文表 1 里 454 个实验组推广了 13 个, 合并推广率约 2.86%, 和全部候选都没有效果时的 2.5% 在同一量级. 这个对照用的就是本节的推理: 单次检验的错误率乘上检验次数, 才是整轮运行里虚假推广的规模.

4. 验收规则: PACE, SEA, RSEA

4.1. PACE: 配对的序贯检验

综述把升级可靠性定义为: 一个被采纳的更新在声明的外部目标和匹配的评估条件下优于在任版本的概率. 可选停止, 反复挑选, 多重比较, 可变的阈值都会让验收规则失效.

PACE (arXiv:2606.08106) 在同一组题上比较候选和在任版本, 只看两边结果不同的题, 也就是 McNemar 检验用的不一致对. 第 jj 个不一致对上, 候选对而在任错记 wj=1w_j=1, 反之记 wj=0w_j=0. 它维护一个 e 过程

Ei=∏j=1i(1+λ (2wj−1)),λ∈[0,1),E_i = \prod_{j=1}^{i} \bigl(1 + \lambda\,(2w_j - 1)\bigr), \qquad \lambda \in [0,1),

在 Ei≥1/αE_i \ge 1/\alpha 时采纳候选. 实验用 α=0.05\alpha=0.05, λ=0.5\lambda=0.5.

保证的推导很短. 零假设是候选没有改进: 对任意历史, Pr⁡[wi=1∣Fi−1]≤1/2\Pr[w_i = 1 \mid \mathcal{F}_{i-1}] \le 1/2. 这时每一步的乘子期望是

E[1+λ(2wi−1)∣Fi−1]=1+λ (2Pr⁡[wi=1∣Fi−1]−1)≤1,\mathbb{E}\bigl[1 + \lambda(2w_i - 1) \mid \mathcal{F}_{i-1}\bigr] = 1 + \lambda\,(2\Pr[w_i=1\mid\mathcal{F}_{i-1}] - 1) \le 1,

乘子又非负, 所以 EiE_i 是一个非负上鞅, E0=1E_0=1. Ville 不等式给出 Pr⁡[sup⁡iEi≥1/α]≤α\Pr\left[\sup_i E_i \ge 1/\alpha\right] \le \alpha. 也就是说, 不管什么时候停, 按什么数据决定停, 采纳一个没有改进的候选的概率不超过 α\alpha. 这正好解决了第 3.2 节说的可选停止.

论文对保证的范围写得很明确. 它是对每个决定的保证, 不是对整轮运行的保证. 一轮运行里测了 MM 个候选, 每个都有 α\alpha 的误采纳概率, 按并集上界, 整轮至少误采纳一次的概率可以到 MαM\alpha. 论文把循环层面的自适应当作经验问题处理, 不作理论主张. 保证也不控制检验功效: 一个真实但很小的改进可能永远测不出来.

实验在 Qwen2.5 0.5B 到 3B 上, 用 GSM8K, SVAMP, ARC-Challenge, 只改提示. 贪心接受 (分数高就采纳) 有 30–42% 的采纳是假的, 10–33% 是有害的; PACE 采纳了真实的改进, 经审计标注的误采纳是 0/5. 在 3B 模型上, PACE 的最终增益 +0.74±0.04+0.74\pm0.04, 贪心 +0.54±0.30+0.54\pm0.30, 评估成本低约 18%. 另一组实验里, 贪心每轮运行采纳 13–21 个虚假的自我修改, 72–100% 是假的, 把最脆弱的 Agent 拉低 4.9 个点. 论文自己说明, 系统层面的通用性是论证出来的, 没有实验证明.

4.2. SEA 与 RSEA: 证书和留出集

SEA (arXiv:2607.00871) 把自我修改限制在两处: 冻结基础模型旁边的一个小的转向适配器, 和一个版本化的 harness. 每个修改只能通过一个任意时刻有效的门, 门对一个固定的错误预算出具可审计的证书. 在 SWE-bench Verified 的 52 题子集和四个基础模型上, 论文报告基础模型能力是主导因素; 在两个较强的模型上, 用一个故意不做任何修改的对照组隔离出整套机制的贡献是 +4 和 +5 (24 到 28, 29 到 34). 论文写明结果来自单次运行. 52 道题, 4 到 5 道的差别, 用 1.1 第 4 节第 9 条的标准误公式估算, 落在一个标准误左右.

RSEA (arXiv:2606.28374) 用另一种控制: 把演化用的任务池和一个验证集分开, 一个候选只有在验证集上不退步才被保留. Agent 的状态是三层自然语言: 策略, 技能, 操作手册. ALFWorld 上单次运行 69.3%, ReAct 64.6%, McNemar 检验 p=0.015p=0.015.

它的消融表值得细读. 去掉留出筛选后, 样本内的筛选分是 100%, 测试分 66.7%; 保留留出筛选, 测试分 67.3%; ReAct 63.6%. 摘要说去掉留出筛选导致「严重过拟合, 样本内满分但测试掉了 33 个点」. 这 33 个点是同一个状态在样本内和测试之间的差距. 测试分本身, 有没有留出筛选只差 0.6 个点. 留出筛选在这里起的作用是暴露了样本内分数的高估, 而不是显著提高了测试分. 论文中「不加保护的演化有害」的证据主要来自另一个方法: Dynamic Cheatsheet 在 ALFWorld 上接近最好 (70.7%), 在 WebShop 上却崩到 0.14, ReAct 是 0.43.

综述对 RSEA 的评价是: 留出筛选能暴露开发过拟合, 但反复使用会让验证集变成开发证据; 超出这道门的主张仍然需要新的最终测试, 因为序贯有效性和数据分离都覆盖不到没测过的能力和罕见的危害.

三种方法管的东西不同. PACE 和 SEA 管的是「怎么处理证据」: 序贯地积累证据, 在任意停止下控制误采纳. RSEA 管的是「证据从哪来」: 和演化池分开的验证集. 三者都不增加测试数据之外的覆盖. 一个在 GSM8K 提示优化上验证过的门, 不能证明它在 L3 的改进器替换上同样可靠.

5. 升级, 恢复与审计独立性

5.1. 升级与恢复

综述把阶梯里的「控制」拆成两个功能. 外部验收决定候选能不能升级. 受保护的谱系和恢复手段管理升级之后的状态.

Autogenesis (arXiv:2604.15034) 是一个协议层的实现. 它的资源层把提示, Agent, 工具, 环境和记忆都当作有版本, 有生命周期的资源注册; 演化层是一个提出, 评估, 提交的闭环, 带可审计的谱系和回滚. 这些记录让一次升级可以被重建和撤销, 但不说明升级后的状态更好. 谱系回答「改了什么, 什么时候, 由谁」, 验收回答「改得好不好」, 两者不能互相替代.

综述给出的流程是: 对一个 L1–L4 候选, 在声明的外部目标和匹配条件下, 用新鲜的证据和在自适应挑选下仍然有效的验收规则, 和在任版本比较. 采纳的话, 升级要伴随受保护的谱系和一条测试过的回滚路径. 拒绝的话, 保留在任版本; 如果候选已经被临时装上, 拒绝要触发回滚. 回滚和停机的权限要独立于被审查的组件. 证据的访问范围或更新权限一旦变化, 这些条件要重新审查.

「测试过的回滚路径」这个要求容易被忽略. 一个系统有版本记录, 不代表它能回到旧版本: 记忆库的条目可能已经被新版本的流程改写, 技能之间可能有了新的依赖, 外部状态 (文件, 数据库, 发出去的请求) 不随版本回退. 回滚路径只有真的演练过, 才能算作控制手段.

5.2. 被攻破时的审计独立性

L1–L4 的改动会保留, 这也意味着一次攻破会被带进之后的任务. L0 没有可保留状态, 不存在这个问题.

Zombie Agents (Yang 等, arXiv:2602.15654) 给出一个具体的攻击. 第一阶段, Agent 在完成一个正常任务时读到被投毒的网页, 恶意内容被写进长期记忆. 第二阶段, 之后的会话检索到这段内容, 把它当作指令执行, 发起未授权的工具调用. 对滑动窗口式的记忆, 攻击内容通过不断自我续写来保留; 对检索式记忆, 通过语义上贴近常见查询来保证被检索到. 论文报告攻击内容在实验期间保留率 100%. 按论文图中读出的近似值, 以原始历史为记忆形式时攻击成功率约 77%, 加上现有防御后仍在 60% 以上.

Lin 等人 (arXiv:2606.23075) 做了更系统的整理. 他们把自演化系统拆成 5 个模块和 5 个生命周期阶段, 得到 25 个格子: 17 个面临目前没有有效防御的严重威胁, 7 个面临现有防御不足的高威胁, 只有 1 个可以部分缓解. 案例比较中, 原生支持演化的设计激活的攻击面多 3.5 倍, 40 个攻击载荷全部持久化, 同机部署的安全扫描器在演化路径上只拦下 2.5% 的攻击.

这些例子共同指向一个威胁: 审计失去独立性. 途径包括挑选探针, 推断隐藏的结果, 改变执行规则, 篡改谱系, 禁用恢复. 冻结基础模型, 分离角色, 加一个内部验证器, 都可能提高鲁棒性, 但它们本身不能把审计放到更新边界之外. 运行时隔离, 最小权限执行, 密封的探针, 受保护的版本历史, 回滚和独立的停机路径, 各自保护系统的不同部分, 有效性取决于演化系统和攻击者能访问和修改什么. 威胁模型必须写明这些假设.

综述给出的检验有两部分. 外部目标是否保持固定? 在被审查的组件已经被攻破的情况下, 证据收集, 验收策略, 受保护的谱系和恢复权限是否仍然有效? 两个问题都回答「是」, 审计才算外部的.

6. 验收系统的运行机制

6.1. 决策、控制与回滚

把前面各节合起来, 综述的结论是一条匹配审计原则: 没有一次更新能控制它自己验收所用的唯一证据. 在 L4, 可写的评判标准是这种情况最深的一例.

读一篇论文的改进主张时, 按下表检查它的审计记录. 这张表和 1.2 第 6.1 节的论文记录表配合使用: 那张表记录系统改了什么, 这张表记录证据怎么支撑改进主张.

字段 检查什么 对应本篇
外部目标 测什么, 和谁比, 看多长时间, 资源怎么对齐; 改动能不能修改它 第 1.1 节
证据来源 形式证明, 执行, 学出来的评判器, 自评; 对这项能力是否有效 第 1.2–1.4 节
时间范围 证据覆盖的范围是否达到主张的层级 (当前产物, 之后任务, 后代, 新旧标准) 第 2 节
三个属性 可检查性, 信息量, 外部性分别说明 第 3.1 节
挑选次数 测了多少候选, 证据是否参与过挑选, 有没有新的最终测试 第 3.2 节
验收规则 是否在可选停止和反复挑选下有效; 保证是对单个决定还是整轮 第 4 节
谱系与回滚 有没有版本记录, 回滚路径是否演练过, 权限是否独立 第 5.1 节
威胁模型 组件被攻破后, 证据, 验收, 谱系, 恢复是否仍然有效 第 5.2 节

论文没有报告的字段留空. 留空的字段越多, 改进主张能成立的范围越窄. 第 5 部分按层展开各类失效的机制和对策, 本篇的表是读那部分时的检查清单.

接受决定是一项统计决策:把候选相对在任版本的真实收益记作 Δ\Delta, 观测证据为 EE. 验收门要在两个错误之间取舍: Δ≤0\Delta\le0 却接受是误升级, Δ>0\Delta>0 却拒绝是漏掉改进. 两种错误代价通常不同. 修改本地提示失败后容易回滚, 可以容忍更多探索; 修改共享评判器或权限边界, 误升级会影响大量后代, 阈值应更保守.

统计检验把这个取舍写进显著性水平与检验功效, 贝叶斯决策把它写进后验损失. 若接受损失为 L10L_{10}, 拒绝真实改进的损失为 L01L_{01}, 理想规则比较后验期望损失. 实际系统很难准确给损失定价, 仍应至少明确哪类错误更严重, 避免所有更新使用同一阈值.

点估计不够. 候选提高 2 个百分点, 区间从 −3 到 7, 与稳定提高 2 个点含义不同. 接受规则可以要求收益下置信界大于零, 或大于最小实际重要差异 δmin⁡\delta_{\min}. 后者防止系统为了统计上可见却实际无意义的小增益承担部署复杂度.

非劣验收适合多指标. 新版本主要降低成本, 允许准确率最多下降 ϵ\epsilon, 可以先检验 Δacc>−ϵ\Delta_{\mathrm{acc}}> -\epsilon, 再比较成本. 安全指标通常作为硬约束: 风险上界没有超过预算, 才进入能力排序. 将所有指标加权成一个分数会掩盖某项约束被另一项收益抵消.

决策还应包含弃权. 证据不足时返回 escalate 或继续采样, 比强制接受/拒绝更合理. 三元门 G(E)∈{accept,reject,escalate}G(E)\in{accept,reject,escalate} 允许把高不确定、高影响候选交给更强审计, 把明显坏候选尽早淘汰.

序贯证据为何适合自演化循环:固定样本检验要求样本量事先确定. 自演化系统会一边收集结果一边决定是否继续, 属于序贯场景. 每新增一道题就重算普通 pp 值, 直到显著为止, 假阳性会随查看次数上升. PACE 的 e-process 允许在任意停止时间保持错误控制.

设 EtE_t 是非负过程, 在零假设下满足 E[Et∣Ft−1]≤Et−1\mathbb E[E_t\mid\mathcal F_{t-1}]\le E_{t-1} 且 E0=1E_0=1. Ville 不等式给出

Pr⁡H0 ⁣(sup⁡tEt≥1α)≤α.\Pr_{H_0}\!\left(\sup_t E_t\ge\frac1\alpha\right)\le\alpha.

因此任何时刻看到 Et≥1/αE_t\ge1/\alpha 都可拒绝零假设, 停止规则无需预先固定. 这正匹配候选逐题评测、证据足够即提交的流程.

PACE 使用配对结果. 两个版本在同一题都对或都错时, 对优劣没有信息; 一新一旧结果不同的题才推动证据. 配对消除题目难度的共同波动, 也让系统在大量平局时少花评测. 若运行成本本身是目标, 平局题仍需单独记录成本差异.

anytime-valid 只保证一次过程的错误率. 同时跑一百个候选, 每个都用 α=0.05\alpha=0.05, 整轮至少误接收一次的概率会增加. 可以在候选间分配 alpha wealth, 或使用 online FDR 控制. 谱系不断分叉时, 错误预算应绑定到整次运行或关键分支, 不能每个 Agent 各自重置.

证据过程还依赖数据条件. 题目若由候选自适应选择, 只挑自己擅长的样本, 配对证据会偏. 样本顺序可以自适应, 前提是条件零假设与下注规则保持有效; 任务池本身应由外部控制, 或用预先规定的抽样概率做校正.

多重目标需要分层验收:一个候选常同时改变能力、成本、安全、校准和可维护性. 最清楚的顺序是先检查不可违反的约束, 再在可行集合内比较效用. 设安全约束 Rj(a)≤rjR_j(a)\le r_j, 候选集合

F={a:∀j, UCB(Rj(a))≤rj}.\mathcal F=\{a:\forall j,\ UCB(R_j(a))\le r_j\}.

只有 a∈Fa\in\mathcal F 才按能力下界、成本或 Pareto 前沿排序. 用风险上置信界而非点估计, 能把样本不足反映为更保守的决策.

约束之间可能冲突. 更严格拒答降低危险回答, 同时伤害正常帮助率; 更长验证提高可靠性, 同时增加延迟. 报告 Pareto 前沿比选一个任意权重的总分更诚实. 部署方再按场景选择点, 权重变化不会被误写成算法能力变化.

层级越深, 指标窗口越长. L0 看当前任务正确性, L1 还要看遗忘与分布尾部, L2 看跨任务复用和检索副作用, L3 看后代分布与资源效率, L4 看尺度校准和目标漂移. 把所有层都压成单轮成功率, 会漏掉深层改动的主要代价.

验收顺序也防止选择偏差. 先看到能力冠军再为它挑一套安全阈值, 属于事后规则. 应在候选生成前固定硬约束与主要终点; 探索性指标可以发现新问题, 但需要下一批数据确认.

证据降级与重新利用:数据第一次作为隐藏审计使用后, 结果一旦反馈给开发者或候选, 它就进入开发历史. 下一次更新可以继续用它做回归测试, 不能再承担独立迁移证明. 证据角色随信息流变化, 并非文件永久贴着 test 标签.

可以维护三级数据池: 开发池用于反复搜索, 验证池用于内部提交门且限制查询, 审计池只在版本冻结后使用. 审计结果反馈后, 样本降级到验证池, 同时补入新审计样本. 这样既保留回归能力, 又持续拥有未暴露证据.

动态生成样本可以补充审计池, 但生成器自身要外部化. 候选若知道生成规则, 会针对规则优化; 生成模型若与候选共享偏差, 新题表面不同却没有增加独立信息. 人工抽检、真实环境采样和多来源生成能降低共同误差.

历史测试仍有价值. 它们监测灾难性遗忘和已知漏洞回归, 只是不能证明新能力泛化. 报告应把「旧回归集保持」「新隐藏集提升」分开, 前者保证底线, 后者支持新增改进.

证据降级还适用于红队策略. 一种攻击公开后, 系统可以针对它训练, 再通过只说明已知漏洞被修复. 新攻击、变体和不同攻击者提供更强证据. 安全审计需要持续刷新, 因为被测系统会学习审计分布.

控制权应与证据权分离:提出候选、收集证据和授权部署由同一组件掌握时, 它可以选择有利样本、隐藏失败或绕过门控. 将职责分离, 让候选生成器只能提交不可变产物, 审计器从独立数据源取样, 提交器只接受带有效证书的候选, 能减少单点操纵.

分离不要求三台机器, 要求权限不可互相覆盖. 同一进程中的只读模块若隔离可信, 可以提供独立控制; 三个 Agent 若共享写权限和记忆, 名义分工没有作用. 更新边界要检查密钥、数据库、日志与调用链的实际权限.

证书绑定候选哈希、评测协议、数据版本、预算和结果. 部署时重新计算哈希, 防止通过验收后替换文件. 对随机模型, 证书还要记录采样参数和容许波动; 对训练产物, 记录检查点与训练数据谱系.

紧急停止权应位于候选修改范围之外. 系统检测到异常后触发停止, 候选不能改写检测阈值、屏蔽告警或延迟退出. 若改进目标包含降低误报, 调整安全门必须走更慢的治理流程, 不能与普通性能优化混在一轮.

控制权分离也需要防止僵化. 外部审计器可能过时、阻挡真实改进. 合理结构允许独立治理者更新它, 保留新旧协议桥接和变更记录. 核心原则是时间尺度分离: 当前候选不能同步改掉评价自己的规则.

回滚要恢复因果状态:版本回退常被理解成切换代码提交, 对自演化 Agent 远远不够. 候选运行期间可能写入长期记忆、更新模型参数、改变数据库 schema、触发外部动作并产生后代. 完整状态记作 S=(θ,Σ,U,C,D,X)S=(\theta,\Sigma,U,C,D,X), 其中 DD 是持久数据, XX 是外部副作用. 回滚算子要恢复所有可恢复分量, 并明确 XX 中哪些影响已经不可逆.

恢复点应在更新前原子创建. 如果代码检查点成功、向量库快照失败, 随后仍提交候选, 回滚会得到不一致组合. 两阶段提交可以先准备所有组件的新版本与旧快照, 验证完整后一次切换默认指针; 失败则没有任何组件生效.

恢复还要验证行为. 文件哈希恢复只证明字节相同, 外部缓存、模型服务和权限可能仍保持新状态. 运行一组恢复探针, 检查关键工具、记忆检索、评判阈值与输出分布, 才能确认系统回到可接受等价类.

谱系分叉使回滚范围复杂. 坏祖先的修改可能被多个后代继承, 有的后代又独立修复. 按提交时间整体回退会丢掉安全分支; 按文件 diff 回退可能漏掉语义依赖. 记录每个后代读取的祖先状态和实际变更, 才能计算污染传播集合.

回滚演练是证据的一部分. 纸面上存在旧检查点, 不代表恢复脚本、权限和依赖仍可用. 定期在隔离环境恢复、重放关键请求并测量恢复时间, 能发现备份损坏和协议漂移. 高影响系统还要定义最大可接受数据丢失量与恢复时长.

审计器也有攻击面:审计独立只说明候选不能直接修改规则, 尚未覆盖输入操纵. 候选可以生成超长日志挤掉关键证据、构造解析器异常、利用提示注入说服模型判官、选择最有利的样本展示. 审计器要把被审内容视为不可信输入.

结构化接口比自由文本稳健. 候选提交固定 schema 的产物与声明, 执行日志由独立运行器采集, 判官只能读取经过转义和长度限制的字段. 需要查看原始输出时, 将数据通道与指令通道分开, 防止输出中的文本被解释为审计命令.

可用性攻击同样重要. 候选让评测极慢、耗尽内存或触发大量外部调用, 审计超时后若默认通过, 就形成绕过. 超时、异常和缺失证据应默认升级或拒绝, 并单独记录资源违规. 失败关闭策略要与任务风险匹配.

审计器自身依赖也会被间接影响. 候选更新共享库、环境变量或日志格式, 即使没有审计代码写权限, 审计行为仍改变. 最稳妥的做法是用独立镜像和只读依赖运行, 输入仅通过版本化协议传递.

模型判官需要对抗测试. 构造高分但事实错误、引用伪造、冗长掩盖和说服性措辞样本, 测它是否被风格带偏. 这些样本应来自与候选不同的攻击源; 候选自己生成的红队样本可能避开自身最强漏洞.

因果证据连接机制与结果:端到端 A/B 测试能估计整个候选的平均效果, 不能定位哪项改动有效. 自演化系统通常一次修改多个组件, 若结果提高, 后续改进器会把所有改动一起当作正经验, 包括无用或有害部分. 因果拆分能改善信用分配.

最直接的方法是组件消融. 候选包含改动 m1,m2,m3m_1,m_2,m_3, 构造只撤销其中一项的版本, 在相同任务和随机种子上比较. 若交互很强, 单项效应随其他项存在而变化, 需要析因设计. 资源有限时, 优先测试理论上关键且风险高的组件.

中介分析追踪路径. 新技能 MM 影响检索命中 ZZ, 再影响成功率 YY. 观察技能存在时 YY 提升, 还要检查 ZZ 是否按预期变化; 若命中率没变, 收益来自其他路径. 对改进器, 候选覆盖、选择准确率和审计迁移是常用中介.

因果结论需要稳定处理. 系统会根据任务动态决定是否调用技能, 简单比较调用与未调用样本会混入任务难度. 随机启用、阈值附近的回归不连续或工具可用性的外生变化, 能提供更可信估计. 无法随机时, 至少按任务特征分层并承认残余混杂.

机制证据不能替代外部收益. 检索命中提高可能带来更多错误记忆, 候选多样性提高可能让选择器更难. 它的作用是解释端到端结果、预测迁移边界并指导下一次修改. 两类证据同时存在, 改进器才能从失败中学到具体规则.

参考文献

  1. Kaiqi Wang, Wenjin Hou, Yuchen Yan 等 (2026). Diving into Reliable Self-Evolving Agents: A Survey. §8.1–§8.4, 图 8, 表 9.
  2. J. Schmidhuber (2003). Gödel Machines: Self-Referential Universal Problem Solvers Making Provably Optimal Self-Improvements.
  3. Hunter Lightman 等 (2023). Let's Verify Step by Step. 图 3, 第 2.4 节.
  4. Leo Gao, John Schulman, Jacob Hilton (2022). Scaling Laws for Reward Model Overoptimization. 第 1–3 节.
  5. Jie Huang 等 (2024). Large Language Models Cannot Self-Correct Reasoning Yet. ICLR 2024. 表 3, 表 4.
  6. Aman Madaan 等 (2023). Self-Refine: Iterative Refinement with Self-Feedback. 第 4 节.
  7. Grandee Lee, Yue Wang, Che Yee Lye, Luke Peh (2026). Generative-Evaluative Agreement: A Necessary Validity Criterion for LLM-Enabled Adaptive Assessment. BEA 2026, pp. 798–812.
  8. Ilia Shumailov 等 (2024). AI models collapse when trained on recursively generated data. Nature.
  9. Ye Yu 等 (2026). Do Self-Evolving Agents Forget? Capability Degradation and Preservation in Lifelong LLM Agent Adaptation.
  10. Weixiang Zhao 等 (2026). Large Language Model Agents Are Not Always Faithful Self-Evolvers. ICML 2026.
  11. Zayx Shawn (2026). PACE: Anytime-Valid Acceptance Tests for Self-Evolving Agents.
  12. Biswa Sengupta (2026). Self-Evolving Agents with Anytime-Valid Certificates.
  13. Michael Nguyen, Quoc Nguyen, Paul Vuong (2026). Recursive Self-Evolving Agents via Held-Out Selection. 表 6, 第 8 节.
  14. Wentao Zhang 等 (2026). Autogenesis: A Self-Evolving Agent Protocol.
  15. Xianglin Yang, Yufei He, Shuo Ji, Bryan Hooi, Jin Song Dong (2026). Zombie Agents: Persistent Control of Self-Evolving LLM Agents via Self-Reinforcing Injections. ICLR 2026 Workshop on Lifelong Agents.
  16. Ruixiao Lin 等 (2026). Safety in Self-Evolving LLM Agent Systems: Threats, Amplification, and Case Studies.
  17. HGM, STOP, RQGM, Double Ratchet 的出处见 4.1, 4.2, 4.3 各篇来源.

上一篇: 1.1.2 · 定义: 自演化, 深度阶梯与 RSI

下一篇: 2.1.1 · L0: 任务内的修订, 搜索与验证