Browse this library

Chinese source article

1.1.2 · 定义: 自演化、深度阶梯与 RSI

Agent 的可保留状态拆成模型 θ, 脚手架 Σ, 改进器 U, 评判标准 C. 一次改动按它持久改到的最深组件分成 L0–L4, RSI 从 L3 开始. 改动发生和改进成立是两件事, 后者要靠更新边界之外的外部审计.

View original Markdown ↗

下面的定义取自腾讯混元与浙江大学等的综述 Diving into Reliable Self-Evolving Agents (Wang et al., 2026) 的 §2.1–§2.3.

1. 自演化与 Agent 状态

1.1. 自演化: 执行中产生的信息被用来改东西

一个 Agent 叫自演化 (self-evolving), 要满足一个条件: 执行过程中产生的信息被回送进系统, 并且改动了当前输出, 或者改动了一个会影响之后行为或之后更新的可保留组件.

判据落在执行中收集的信息是否引出了进一步改动, 与执行步数无关. 单个任务内若只产出答案, 状态没有发生自演化. Agent 需要用反馈、评估或搜索修改、替换或挑选候选输出. 跨任务时, 保存轨迹只是写入动作; 保存的内容继续影响之后的行为或更新, 才形成可保留改动.

这里有两个目标要分开. 演化目标 (evolution target) 回答「这次改了什么」: 输出, 模型, 脚手架, 改进器或评判标准. 外部目标 (external target) 回答「拿什么判断改得更好」: 测量的结果, 基线, 评估时长, 约束条件, 以及对齐的资源预算. 被评估的这次改动不能修改外部目标的语义.

于是一个自演化事件和一个改进主张也要分开. 前者只陈述「发生了改动」. 后者陈述「在外部目标下, 某个被测的方面比改动前好」. 内部分数变高不足以支撑后者, 因为循环本身可能影响了候选改动, 证据, 或者保留规则.

1.2. 四个可保留组件

第 kk 轮的可保留状态写成

Ak=(θk,  Σk,  Uk,  Ck).\mathcal{A}_k = (\theta_k,\; \Sigma_k,\; U_k,\; C_k).

θk\theta_k 是可训练的模型或策略状态, 也就是神经网络参数.

Σk\Sigma_k 是脚手架 (scaffold): 模型外面那层可保留的非参数运行结构, 包括提示, 工具, 记忆, 工作流, 多 Agent 拓扑, 以及塑造执行过程和留存证据的运行时控制 (harness). Ren 等人的综述 (arXiv:2607.13104) 把脚手架拆成四个分量: 结构化提示 pp, 记忆及检索策略 mm, 工具集及调用接口 T\mathcal{T}, 控制逻辑 gg, 即 Σ=(p,m,T,g)\Sigma = (p, m, \mathcal{T}, g). 第 3 部分按综述 §5 的五层展开: 提示与程序, 架构与工作流, 技能, 记忆, 运行时 harness; 3.1 的第 1.2 节给出五层和四个分量的对应.

UkU_k 是改进器 (improver): 负责提出, 选择, 提交或回滚候选改动的那套机制. 它可以解读经验, 分配搜索资源, 做选择决定, 但不定义用来评判候选的标准.

CkC_k 是内部评判标准 (criterion): 用来评判行为和候选状态的目标, 奖励, 评测协议, 比较规则和约束.

当前任务的输出 yky_k 是临时的, 不在可保留状态里. 做分类时把它加进来, 演化目标一共五个, 按深度从浅到深排: 输出 yy, 模型 θ\theta, 脚手架 Σ\Sigma, 改进器 UU, 评判标准 CC.

1.3. 一个对象归哪个组件

运行结构里的对象默认归 Σ\Sigma. 如果它的实际作用是产生之后的改动, 就归 UU. 如果它的实际作用是定义之后的评判, 就归 CC.

还有几条具体约定. 可学习的路由器或评估器参数记在 θ\theta. 非参数的工作流和记忆机制记在 Σ\Sigma. 支配后续评判的 rubric 或评测协议记在 CC. 数据和经验不单独占一个坐标, 它们改动了哪个组件, 就按那个组件归类.

同一类东西会因为作用不同落在不同组件. 以提示为例: 让模型做任务的系统提示是 Σ\Sigma 里的 pp; 专门用来生成下一版任务提示的「变异提示」, 作用是产生之后的改动, 归 UU; 给判官模型的打分 rubric, 作用是定义之后的评判, 归 CC. 三者都是一段文本, 归类看的是它在循环里干什么.

记忆有一层细分. 执行过程中可以直接写入的记忆内容和索引记作 mrtm^{\mathrm{rt}}, 它是 Σ\Sigma 的一部分. 记忆的写入策略和 schema 由外层循环控制.

2. 一轮自演化: 执行, 提出, 选择, 审计

2.1. 执行

第 kk 轮, Agent 在资源预算 bb 下, 用状态 Ak\mathcal{A}_k 执行任务 xkx_k, 得到轨迹 τk\tau_k, 输出 yky_k 和一份临时的经验摘要 eke_k:

(τk,  yk,  ek)∼Execb(⋅∣Ak,  xk).(\tau_k,\; y_k,\; e_k) \sim \mathrm{Exec}_b\left(\cdot \mid \mathcal{A}_k,\; x_k\right).

如果这一轮只修改了 yky_k 或它的轨迹, 可保留状态没变, 这一轮就是 L0.

执行中也可能直接写入运行时记忆 mrtm^{\mathrm{rt}}, 写完后的可保留状态记作 Akexec\mathcal{A}_k^{\mathrm{exec}}. 没写的话 Akexec=Ak\mathcal{A}_k^{\mathrm{exec}} = \mathcal{A}k. 这种直接写入要算 L2, 前提是写进去的内容一直有效, 并且改变了之后某个独立任务上的行为. 经验摘要 eke_k 同理: 只有存进运行时记忆, 或者被一次通过审计的改动用上, 它才会影响后面的轮次. 如果运行时记忆的写入是这一轮唯一的保留改动, 这一轮可以不做外层更新, 直接 Ak+1=Akexec\mathcal{A}{k+1} = \mathcal{A}_k^{\mathrm{exec}}.

2.2. 提出与选择

需要外层更新时, 在同一预算下, 当前改进器 UkU_k 根据 Akexec\mathcal{A}_k^{\mathrm{exec}}, 经验摘要 eke_k 和演化历史 HkH_k 提出一组候选; 当前评判标准 CkC_k 提供内部选择规则:

Xkcand∼ProposeUk(⋅∣Akexec,  ek,  Hk),A~k+1=SelectCk(Xkcand;  Hk).X_k^{\mathrm{cand}} \sim \mathrm{Propose}_{U_k}\left(\cdot \mid \mathcal{A}_k^{\mathrm{exec}},\; e_k,\; H_k\right), \qquad \tilde{\mathcal{A}}_{k+1} = \mathrm{Select}_{C_k}\left(X_k^{\mathrm{cand}};\; H_k\right).

XkcandX_k^{\mathrm{cand}} 里的每个候选都可以改动可保留组件的任意子集. 演化历史 HkH_k 由更新边界之外的部分维护. 选出来的 Ak+1\tilde{\mathcal{A}}_{k+1}k+1​ 只是临时的: 内部选择决定哪个候选进入审计, 不决定它能不能被采纳.

这一步把 UU 和 CC 的分工写清楚了. UkU_k 出现在 Propose\mathrm{Propose} 的下标里, 负责「提什么」; CkC_k 出现在 Select\mathrm{Select} 的下标里, 负责「按什么规则挑」. 一个系统如果改的是提候选的方式, 动的是 UU; 如果改的是挑候选的规则, 动的是 CC.

2.3. 外部审计

外部评估用 Agent 状态之外的证据源 SS 和验收策略 GG:

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} 产出外部证据 EkextE_k^{\mathrm{ext}}. 验收策略 GG 把证据映射成三种决定之一: 采纳, 拒绝, 或者上交给人.

三种结果的后续不同. 采纳后, 候选成为下一轮的可保留状态. 上交的情况要等授权的审核人批准, 才算采纳. 拒绝可能触发回滚, 回滚后剩下的状态进入下一轮执行, 这一轮循环到此闭合.

采纳只表示证据满足了事先声明的审计要求, 不表示系统在每个方面都变好了. 反过来, 没有外部审计时, 状态转移仍然算自演化, 只是没有独立证据支撑改进主张.

3. 深度阶梯 L0–L4 与 RSI

3.1. 五个层级

先定义一个记号. 两个版本在实际起作用的, 与决策相关的语义上等价, 记作 ≡act\equiv_{\mathrm{act}}; 不等价记作 ̸≡act\not\equiv_{\mathrm{act}}. 这里的「不等价」要求语义变化真的影响了某个与决策相关的输出, 更新或评判. 把一个变量重命名, 或者存了一份从不被读取的副本, 都还是 ≡act\equiv_{\mathrm{act}}.

层级 最深的演化目标 保持条件 典型失败
L0 Output 当前输出或任务内轨迹 任务内有效, 可保留状态跨任务不变 自我确认
L1 Model 可训练的模型或策略状态 θ\theta 保留下来, 影响之后的任务执行 模型坍塌
L2 Scaffold 脚手架 Σ\Sigma 保留下来, 影响之后的执行或留存的证据 脚手架过拟合
L3 Improver 改进器 UU 保留下来, 改变之后候选如何被提出, 选择, 提交或回滚 指标捕获
L4 Criterion 评判标准 CC 激活后支配之后的评判 准则漂移

L1 到 L4 的边界条件, 按「这一层变了, 更深的层没变」来写:

L1:θk+1̸≡actθk,(Σk+1,Uk+1,Ck+1)≡act(Σk,Uk,Ck)L2:Σk+1̸≡actΣk,(Uk+1,Ck+1)≡act(Uk,Ck)L3:Uk+1̸≡actUk,Ck+1≡actCkL4:Ck+1̸≡actCk\begin{aligned} \text{L1}: &\quad \theta_{k+1} \not\equiv_{\mathrm{act}} \theta_k, \qquad (\Sigma_{k+1}, U_{k+1}, C_{k+1}) \equiv_{\mathrm{act}} (\Sigma_k, U_k, C_k) \\ \text{L2}: &\quad \Sigma_{k+1} \not\equiv_{\mathrm{act}} \Sigma_k, \qquad (U_{k+1}, C_{k+1}) \equiv_{\mathrm{act}} (U_k, C_k) \\ \text{L3}: &\quad U_{k+1} \not\equiv_{\mathrm{act}} U_k, \qquad C_{k+1} \equiv_{\mathrm{act}} C_k \\ \text{L4}: &\quad C_{k+1} \not\equiv_{\mathrm{act}} C_k \end{aligned}

每一行只约束更深的组件, 不约束更浅的. L2 的一次改动可以同时改 θ\theta; L3 可以同时改 θ\theta 和 Σ\Sigma; L4 对 θ\theta, Σ\Sigma, UU 都没有约束, 因为 CC 是最深的组件.

五种典型失败各自对应这一层被改坏的方式. L0 的自我确认: 模型用自己的判断检查自己的输出, 错误被当成正确保留下来. L1 的模型坍塌: 在自己生成的数据上反复训练, 分布尾部变窄. L2 的脚手架过拟合: 提示, 技能或工作流贴合了用来挑选它的那几个任务或那个判官, 换任务就失效. L3 的指标捕获: 改进器学会了产出内部指标高分的后代, 后代的真实质量没有同步提高. L4 的准则漂移: 评判标准本身被改, 分数上涨可能只是标准变了.

3.2. 归类规则

按被改的对象归类, 不按产生改动的算法归类. 反思, 训练, 搜索, 强化学习, 进化算法都可以出现在好几个层级. 只是在运行时用到某个对象, 或者把它存下来, 都不构成改写.

一次转移改了好几个目标, 按其中最深的那个, 并且它的语义变化要真的起作用. 现有证据不足以确认这个作用时, 归类记为「有条件」.

保留下来的数据, 按它实际改变了哪个最深组件的后续行为来归类.

如果一个系统实际完成的转移低于 L4, 但它生成或使用了和评判标准有关的产物, 却没有改变实际生效的评判语义, 称它 L4-facing.

层级描述改动对象的控制深度. 时间先后、能力大小、实现复杂度和可靠性需要另外记录. 往上走一级, 最深的演化目标以及审计形式与时长随之变化; 证据强度没有随编号自动增加. 一个 L1 更新拿到的新鲜执行结果, 可能比一个 L0 修改所用的未校准自评更有信息量.

3.3. 怎么判断是不是 L3

L3 最容易被误判, 综述给了一个操作性的测试. 先忽略这一轮产出的答案, 算法或任务求解器. 再问: 因为这一轮保留下来的东西, 下一轮提出, 选择, 提交或回滚改动的方式会不会不同?

如果下一轮仍由同一套更新程序控制这些动作, 就按实际被改的保留目标归类: 改了模型状态是 L1, 装上了新的运行结构是 L2, 可保留状态没变是 L0. 可保留状态之外的独立产物, 本身不构成 L3 转移.

自指 (self-reference) 指的是一种功能关系, 不是系统的名字. 递归调用自己, 或者编辑自己的源代码, 都不足以说明存在自指. 只有当前改进器参与修改了自己的后继, 并且保留下来的修改影响了之后的更新轮次, 才算. 需要的证据是: 之后的更新方式发生了保留下来的因果变化.

RSI:按这套结构定义, 递归自改进 (recursive self-improvement, RSI) 从 L3 开始: 一次保留下来的改动触及了改进器. RSI 在 L4 扩展到评判标准. 这个边界本身不意味着系统在变好, 也不意味着改进在加速.

L3 的条件可以和一种常见的写法对上. 用 SS 表示系统, II 表示改进器, 一次改进是 S′=I(S)S' = I(S). 单轮改进允许 II 在 SS 外面, 比如训练脚本, 冻结的教师模型, 或者按合并按钮的人. 递归要求改完的系统里还带着改进器 I′I', 并且 I′I' 能再作用一次:

I′⊆S′,S′′=I′(S′)  有定义.I' \subseteq S', \qquad S'' = I'(S') \;\text{有定义}.

I′⊆S′I' \subseteq S' 对应「改进器在可保留状态里」. S′′=I′(S′)S'' = I'(S') 有定义, 并且 I′I' 和 II 的行为不同, 对应 L3 的「保留下来的改动改变了之后的更新方式」. 如果 I′≡actII' \equiv_{\mathrm{act}} I, 改进器只是被带着走, 深度仍按被改的组件算.

这个写法里的 SS 和第 1.2 节的 A\mathcal{A} 是同一个东西, II 就是 UU. 用第 3.1 节的记号重写, L3 要求 Uk+1̸≡actUkU_{k+1} \not\equiv_{\mathrm{act}} U_k, 而且 Uk+1U_{k+1} 是在 UkU_k 参与下产生的. 后一半就是第 3.3 节说的自指.

和相邻概念的边界:术语约定. 本库用「自演化」指 L0–L4 的任何改动, 用「RSI」只指 L3 和 L4. 「改进」只在改进主张有外部审计支持时使用.

Test-Time Training (TTT) 在推理时针对当前查询更新 θ\theta. 按第 3.2 节的规则推下来: 如果查询结束后参数恢复原状, 可保留状态跨任务不变, 这次改动是任务内的, 落在 L0; 如果更新后的参数保留下来并影响之后的独立任务, 落在 L1. 综述没有单独讨论 TTT, 这个归类是按它的保持条件推出来的.

持续学习 (continual learning) 研究的是顺序学新任务时旧能力会不会掉. 在这套阶梯里, 它对应 L1 审计中的保持和干扰测试. 一个 L1 系统如果发生灾难性遗忘, 之后的改动建立在已经丢掉部分能力的模型上.

产物 (artifact) 指 Agent 状态之外的输出, 比如搜出来的算法, kernel 或论文. 产物变好不等于 Agent 演化了. 产物被装进 Σ\Sigma (比如编进工具集 T\mathcal{T}) 才是 L2; 被用来训练 θ\theta 并保留下来, 才是 L1.

4. 用归类规则走一遍代表系统

4.1. L0: Self-Refine 与 AREX

下面每个系统都按同一个顺序问: 这一轮保留下来的是什么; 它影响的是之后的执行, 之后的更新, 还是之后的评判; 外层哪些部分固定不变. 归类和事实依据都来自综述对这些系统的描述.

先看 L0. Self-Refine 让模型对自己当前的回答给出反馈, 再按反馈改写回答. 改写只作用于这个任务的输出, 下一个独立任务开始时模型, 提示和流程都和原来一样. 可保留状态 A\mathcal{A} 没变, 是 L0.

AREX 更容易误判. 它逐条检查当前答案满足了哪些约束, 对还没解决的论断发起有针对性的追加研究. 它的外层循环, 置信度阈值, 工具和更新规则都固定, 这个循环修改的是当前答案和任务内的研究状态. 系统里另外训练过一个压缩工具, 但那是流水线组件, 不是这个循环产出的保留改动, 所以不会把深度抬到 L0 以上. 论文把这个循环称为 recursive self-improvement, 用法比 L3 的定义宽: 按定义, 它只到 L0.

这两个例子说明一件事: 任务内迭代再多轮, 只要可保留状态没变, 就是 L0. 论文用了什么名字不影响归类.

L1: Self-Rewarding 与 RLCER:Self-Rewarding Language Models 让正在演化的模型自己当判官, 给自己的回答打分, 构造偏好对, 再做迭代对齐训练. 判官就是被训练的模型本身, 它的打分能力随权重一起变. 按第 1.3 节的约定, 可学习的评估器参数记在 θ\theta, 这一轮保留下来的改动在 θ\theta, 外层训练流程固定, 是 L1.

RLCER 让同一个模型既当推理者, 又当 rubric 的制定者. 训练流程固定, 验证器冻结, 它在更新模型参数的同时生成针对具体任务的评分规则. 关键在这些规则有没有被保留下来, 并支配之后的评判. 如果没有, 实际完成的转移是 L1, 评分规则只起反馈作用, 按第 3.2 节称为 L4-facing; 如果规则被保留并支配之后的评判, 最深的改动就到了 L4.

RLCER 未修改「怎样提出候选」这条改进规则, 因此不属于 L3. 它生成的产物服务于评判: 产物只用于训练参数时落在 L1; 产物被保留并改变后续评判语义时直接进入 L4. 这条路径不经过 L3.

L2 与 L3 的分界: Promptbreeder:Promptbreeder 同时进化两类提示: 任务提示, 以及控制之后如何变异任务提示的变异提示. 两类改动深度不同. 保留下来的任务提示影响之后的任务执行, 是 L2. 保留下来的变异提示改变了之后提出任务提示候选的方式, 动的是 UU, 是 L3.

同一个系统在同一轮里可以同时产生 L2 和 L3 的改动, 按第 3.2 节取最深的. 这也是第 1.3 节那条约定的具体例子: 都是提示, 作用不同, 归到不同组件.

L3: STOP, Gödel Machine, DGM:STOP (Self-Taught Optimizer) 把一个种子改进器当作输入程序交给它自己去改进, 再用改进后的脚手架改进器去做之后的程序生成. 语言模型, 效用函数和外层的自我应用流程固定. 改动落在「怎么生成改进」这一层, 是 L3.

Gödel Machine 在固定的公理和固定的效用函数下搜索对自身的改写, 只有在证明「这个改写的期望效用高于继续搜索」之后才执行它. 证明搜索器本身也是可改写程序的一部分, 所以机器既能改任务策略, 也能改寻找和认证之后改动的那个过程. 这正是 L3 的逻辑: 改进器在可保留状态里, 并且可以被它自己改. 它的保证是有条件的: 公理漏了相关事实, 或者效用函数没写对目标, 形式结果就推不出部署中的收益; 证明系统在预算内找不到证明时, 它什么也不改. 安装规则绑定在一个固定的标准上, 所以它是 L3, 不是 L4.

Darwin Gödel Machine (DGM) 从一个档案库里挑一个父 Agent. 父 Agent 读自己的基准测试日志, 提出一个功能改动, 编辑自己的代码. 新 Agent 先在编程基准上评测, 再进入档案库, 之后它也可以当父 Agent 产生新 Agent. 保留下来的代码改变的是之后的自我修改, 不只是某个任务的输出, 所以是 L3. 档案管理, 父代选择公式, 基础模型, 以及 SWE-bench, Polyglot 这些基准都固定. 因此它报告的证据只支持一个限定在这些基准, 这些预算, 这些选择规则下的主张, 不支持测试领域和评估时长之外的改进主张.

Huxley–Gödel Machine 在 DGM 的基础上改了挑选规则: 不只看当前编程得分, 还看一个谱系里多个后代的总体表现, 用来估计这条谱系之后产出高分后代的能力. 这能保住当前得分一般但后劲好的父代. 这个估计和候选选择共用同样的固定基准和搜索预算, 所以它是内部选择信号, 不是外部审计证据.

不构成 L3: AlphaEvolve:AlphaEvolve 保留的是由任务专用评估器选出的算法和基础设施产物, 它的外层搜索程序保持固定. 产物可以用可执行或形式化的证据检查, 但这些证据回答的是「这个产物好不好」, 不是「改进器有没有变好」. 按第 3.3 节的测试, 忽略产物以后, 下一轮提出和选择候选的方式没变, 所以它不构成 L3.

L3 的改进主张要回答的是另一个问题: 候选改进器在声明的外部目标下, 用匹配的模型, 工具, 上下文, 算力和停止规则, 是否比在任的改进器产出更好的后续改动. 只报告最好产物的系统回答不了这个问题.

L4: Red Queen Gödel Machine:Red Queen Gödel Machine (RQGM) 改的是评估器. 每个 epoch 内, 在任评估器冻结; 一个挑战者评估器在固定的留出真值集上测试, 只有在统计上显著更好时才被安装, 之后由它支配下一个 epoch 的搜索. 被替换的是支配之后评判的 CC, 是 L4.

它的保证只在单个 epoch 内成立. 编程, 论文写作和评分三类实验表明, 替换评估器能改变搜索前沿, 但证据只覆盖较短的搜索时长. 「留出真值集固定」是它能做 L4 的前提: 新旧评估器要放在同一组不受更新影响的样本上比, 否则分数上涨可能只是标准变了.

走查后的几条结论:六个小节得到四条结论.

第一, 论文的命名不决定深度. AREX 自称 RSI, 只到 L0; Gödel Machine 的名字里没有 recursive, 却是 L3 的标准例子.

第二, 「同一个模型既当选手又当裁判」不自动等于 L4. Self-Rewarding 的判官能力在权重里, 是 L1; RLCER 要看评分规则是否保留并支配之后的评判.

第三, 产物可验证不等于改进器变好. AlphaEvolve 的产物经得起严格检查, 但外层程序没变.

第四, 每个 L3 和 L4 系统都固定了一部分外层: DGM 固定基准和选择公式, Gödel Machine 固定公理和效用函数, RQGM 固定留出真值集. 被固定的那部分, 正是它的改进主张能成立的范围.

5. 外部审计与更新边界

5.1. 更新边界

更新边界 (update boundary) 划定四件事: 循环可以修改什么, 可以读取哪些证据, 可以用多少资源, 可以授权哪些动作. 两个系统改的是同样的组件, 证据对它们改进主张的支撑强度也可能不同, 因为它们的证据访问, 资源上限或授权范围不同.

外部审计的三个部分都要有版本记录, 并且留在更新边界之外: 外部目标, 证据源 SS, 验收策略 GG. 审计是不是外部的, 看它由谁控制, 不看它在哪里运行. 如果改动能挑选证据, 或者能反复查询审计结果, 审计的独立性就会削弱.

外部审计和两个角色不同. 环境只提供观察和原始反馈. 内部评判标准 CC 用奖励, 排序, 指标或约束来引导更新. 外部审计则用留出测试, 可执行检查, 对照实验, 形式验证或人工审核, 去评估改动的结果.

已经向候选生成或内部选择公开过的证据, 称为开发证据. 一份证据一旦指导过这两步之一, 就不应再作为同一次改动唯一的最终审计证据. 第 4.4 节 Huxley–Gödel Machine 的谱系估计就是这种情况: 它参与了选择, 所以只能算开发证据.

5.2. 各层需要什么证据

层级越深, 改动能影响的范围越大, 审计需要的独立证据也不同:

层级 外部审计证据 采纳后的控制
L0 执行结果, 检索来源, 环境观察, 人工审核 任务内的采纳, 拒绝或上交
L1 新任务上的迁移, 保持和干扰测试 采纳前的外部验收
L2 新任务上, 匹配预算, 与在任版本的端到端对比 受保护的谱系记录和测试过的回滚路径
L3 后代系统在未见任务上的表现 密封评测和独立的恢复权限
L4 受保护的结果度量和新旧标准的交叉比较 外部授权和受保护的约束

可靠的自演化不取决于深度本身, 而取决于评估和监督是否独立于对应的更新边界, 并且覆盖了相关的任务, 条件和约束. 第 5 部分按层展开这张表.

6. 定义的边界与实验落点

6.1. 状态、权限与层级判定

后面各章讲到一个系统, 都按下表记录. 论文没有报告的格子留空.

字段 记什么
深度 L0–L4, 证据不足时标「有条件」, 有评判相关产物但未改生效评判时标 L4-facing
改动对象 具体改了 θ\theta, Σ\Sigma 的哪个分量 (pp, mm, T\mathcal{T}, gg), UU 还是 CC
信号由谁产生 模型自己, 对手副本, 教师, 种群, 环境
内部筛选 CC 里用来选候选的规则: 奖励, 判官, 测试, 投票
外部证据 更新边界之外的证据是什么, 有没有被开发过程用过
外层固定了什么 基准, 选择公式, 基础模型, 公理, 留出集
保持证据 改动有没有在之后的独立任务或更新上起作用

「外层固定了什么」一栏是第 4.7 节第四条结论的直接用法: 它划出了这篇论文的改进主张成立的范围.

状态等价不能按文件判断:两个 Agent 版本包含不同文件, 不一定代表状态发生了有效变化. 定义行为等价关系 A≡actA′\mathcal A\equiv_{\mathrm{act}}\mathcal A': 对目标任务分布中的任意历史 hh, 两者诱导的动作分布和状态转移相同. 重命名变量、调整注释、保存一份从未读取的记忆, 都可能保持这种等价. 自演化要求新旧状态在实际作用上不等价.

严格验证所有历史上的行为等价通常不可行, 实验中使用可观测近似. 先检查新状态是否进入运行路径, 再对一组能触发该路径的任务做干预. 若删除新技能、替换新记忆或恢复旧改进器以后行为没有变化, 保持性主张缺少因果证据. 文件差异只能证明写入发生, 不能证明系统获得了新状态.

反方向也成立: 文件完全相同, 有效状态仍可能变化. 外部向量库、缓存、数据库、环境权限和服务端模型版本都能改变 Agent 行为. 因而 A=(θ,Σ,U,C)\mathcal A=(\theta,\Sigma,U,C) 是逻辑分解, 不是仓库目录列表. 做版本比较时, 这些外部依赖要么固定, 要么作为状态的一部分记录.

等价关系还依赖任务范围. 两个版本在数学题上等价, 在代码任务上可能不同; 在短上下文里等价, 长上下文里可能触发新记忆. 所以更精确的写法是 ≡actP,B\equiv_{\mathrm{act}}^{P,B}, 表示在任务分布 PP 和预算 BB 下无法区分. 论文声称的改动深度, 也只在它实际覆盖的 P,BP,B 范围内得到支持.

更新边界是一个权限闭包:将系统能读的对象集合记作 RR, 能写的对象集合记作 WW, 能执行的动作集合记作 AA, 资源预算记作 BB. 更新边界可写成 B=(R,W,A,B)\mathcal B=(R,W,A,B). 候选程序的直接写权限只是 WW 的一部分; 如果它能通过工具调用另一个服务修改评分数据, 这个间接效果也属于边界.

因此要取权限闭包. 若对象 x∈Wx\in W, 修改 xx 会触发服务写入 yy, 那么 yy 也在有效可写集合中. 候选不能编辑检测函数, 却能删掉检测函数依赖的日志标记, 等价于它能影响检测结果. 只审查文件 ACL 会漏掉这种跨组件通道.

读取权限同样会沿反馈扩张. 候选看不到隐藏测试, 每次提交却收到逐项失败信息, 它就在交互中读取了测试的部分信息. 可以把反馈通道视为从隐藏状态 zz 到消息 mm 的映射, 多轮查询积累互信息 I(z;m1:q)I(z;m_{1:q}). 更新边界要记录反馈粒度和查询次数, 不只记录能否打开文件.

资源也是边界. 一个允许无限候选、无限评测查询的系统, 能通过暴力搜索拟合固定测试; 限制预算会改变可达状态集合. 比较两个改进器时, 若 BB 不同, 更高分可能来自更大的搜索半径. 归类深度不受预算大小影响, 改进证据却必须把预算写进条件.

权限闭包使「外部」成为控制概念. 审计器和候选运行在同一台机器也可以外部, 前提是候选无法通过直接或间接通道改变它; 人类给出的标签也可能不外部, 如果候选能够选择展示哪些样本、怎样措辞或何时请求标签, 从而操纵反馈分布.

五层可以写成最小变化条件:令投影 Πj(A)\Pi_j(\mathcal A) 取出第 jj 个组件, 并把当前输出记作 yy. L0 的最小条件是 yk+1≢yky_{k+1}\not\equiv y_k, 而所有可保留组件在任务结束后恢复原值. L1 要求 θk+1̸≡actθk\theta_{k+1}\not\equiv_{\mathrm{act}}\theta_k, 更深组件保持等价. L2 要求 Σk+1̸≡actΣk\Sigma_{k+1}\not\equiv_{\mathrm{act}}\Sigma_k, U,CU,C 保持. L3 与 L4 依次要求 UU 或 CC 的有效语义改变.

「按最深变化归类」可以形式化为

L(Ak,Ak+1)=max⁡{j:Πj(Ak)̸≡actΠj(Ak+1)}.L(\mathcal A_k,\mathcal A_{k+1})=\max\{j:\Pi_j(\mathcal A_k)\not\equiv_{\mathrm{act}}\Pi_j(\mathcal A_{k+1})\}.

这里的次序是 y<θ<Σ<U<Cy<\theta<\Sigma<U<C. 它表示控制关系的深度, 不表示实现难度或效果大小. 一次更新可以同时改变参数和脚手架, 取最大值 L2; 一个复杂的程序搜索只改变当前输出, 仍是 L0.

这个定义给出必要条件, 还需要保持条件. 若 Uk+1U_{k+1} 与 UkU_k 不同, 但下一轮仍调用旧 UkU_k, 有效改进器没有变化. 因此 L3 还要求存在后续轮次 t>kt>k, Uk+1U_{k+1} 对候选分布或选择产生因果影响. L4 同理要求新 CC 真正参与后续评分或决策.

层级对观测证据是单调变难的. 证明 L0 只需展示当前输出变化; 证明 L1 要定位生效参数与跨任务行为; 证明 L2 要追踪外部状态的写入和读取; 证明 L3 要比较后续候选分布; 证明 L4 要证明评判语义改变并与外部锚校准. 深层主张自动包含更多因果链, 不能只用一张最终分数表支撑.

L3 的必要条件与常见假阳性:L3 第一步要求改进器是可识别对象. 如果论文只说「Agent 从经验中变得更会改进」, 却没有指出产生候选、分配预算、选择父代或决定提交的哪条规则变化, 就无法检验. 改进器可以是代码、提示、策略网络或模型参数的一部分, 形式不限, 功能必须落在产生与提交更新上.

第二个条件是更新发生在跨轮状态中. 当前任务里模型先反思「应该换一种修复策略」, 随后用新策略完成同一道题, 属于 L0 的任务内搜索. 新策略被保存并在下一道独立任务中使用, 才可能到 L2 或 L3. 它若只是任务策略, 属于 Σ\Sigma; 若决定以后怎样修改任务策略, 才属于 UU.

第三个条件是自指闭环闭合. 改进器 UkU_k 参与产生 Uk+1U_{k+1}, 后者又进入下一轮更新. 人工离线重写 program.md, 再让 Agent 按新说明研究, 变化由人产生, 不构成系统自身的 L3 转移. 模型提出修改、人审核并提交时, 是否算 L3 取决于研究对象: 可以说混合人机系统的改进器改变了, 不能把全部变化归给模型.

自动研究产物是最常见的假阳性. 系统找到更快 kernel、更好网络或新算法, 产物质量很高, 但运行自动研究的候选生成、实验分配和选择规则保持固定. 它证明系统会改外部对象, 没有证明会改自己的改进器. 产物随后被装回研究 Agent, 并改变后续怎样研究时, 才需要继续判断落在 θ,Σ\theta,\Sigma 还是 UU.

大量循环也不会自动抬高层级. 同一提示连续运行一万轮, 每轮用新数据训练目标模型, 仍可以是固定 UU 驱动的 L1. 递归描述依赖函数依赖关系, 不依赖循环次数. 要画出的关键箭头是 Uk→Uk+1→Uk+2U_k\to U_{k+1}\to U_{k+2}, 而非 ak→ak+1a_k\to a_{k+1} 重复了多少次.

L4 的对象是生效语义:评判标准 CC 不等于一份 rubric 文本. 它包括目标函数、权重、阈值、聚合规则、测试协议和把结果映射为接受决定的逻辑. 修改 rubric 措辞但评分行为不变, 属于语义等价; 不改 rubric, 却把通过阈值从 0.9 降到 0.6, 生效标准已经改变.

评判器参数更新是否属于 L4, 也看功能. 训练一个更准的奖励模型并用于以后选择, 改变了 CC; 训练奖励模型但只作为报告产物, 没有进入决策, 不构成 L4. 同一个模型既生成答案又给答案打分, 只是角色复用; 只有评分规则或评分能力被持久更新并继续控制选择, 才发生 L4 转移.

标准更新可能保持目标语义, 例如修复判官对长度的偏好, 让它更接近固定人类目标; 也可能改变目标, 例如重新权衡安全与帮助性. 两者都属于 L4, 证据不同. 前者可用冻结真值集检验校准改善, 后者需要治理层明确认可新权衡, 不能只用旧标准证明新标准正确.

当 CC 可改时, 内部分数跨版本不可直接比较. C0(a0)C_0(a_0) 与 C1(a1)C_1(a_1) 同时改变对象和尺度. 至少要计算交叉矩阵 Ci(aj)C_i(a_j), 再用外部目标 J(aj)J(a_j) 校准. 若没有共同样本或外部锚, 「分数连续上涨」只是一串不同量纲的数.

L4-facing 用来标记接近这条边界却未闭合的系统. 系统生成 rubric、测试或奖励程序, 这些产物面向评判层; 若它们没有被保留并用于后续选择, 实际转移仍按生效组件归类. 这个标签保留研究方向信息, 同时避免把潜在用途写成已经发生的状态变化.

状态是否充分决定循环能否复现:写成 Ak+1=F(Ak,Hk)\mathcal A_{k+1}=F(\mathcal A_k,H_k) 隐含一个条件: Ak\mathcal A_k 与本轮历史 HkH_k 已经包含预测下一轮所需的信息. 若系统还依赖未记录的人工判断、服务端缓存或外部数据库, 这个状态表示不充分. 相同检查点重新运行得到不同更新路径, 差异可能来自采样噪声, 也可能来自遗漏状态.

满足 Markov 性时,

P(Ak+1∣A0:k,H0:k)=P(Ak+1∣Ak,Hk).P(\mathcal A_{k+1}\mid\mathcal A_{0:k},H_{0:k})=P(\mathcal A_{k+1}\mid\mathcal A_k,H_k).

真实 Agent 往往只能近似满足. 长期历史被压进模型参数、记忆摘要和日志索引, 压缩会丢信息; 工具服务也随时间变化. 这个等式能暴露哪些历史被认为已经进入状态, 哪些外部变化被当作环境.

状态遗漏会制造虚假的自我改进. 例如实验人员在每轮手动删除坏记忆, 论文只记录 Agent 自动写入的部分; 后代稳定运行的原因来自未建模的人类过滤. 又如基础 API 静默升级, 后期分数提高被归因于技能积累. 保存模型版本、人工操作和外部依赖快照, 才能把这些混杂项纳入 HkH_k 或固定环境.

非 Markov 系统仍可研究, 只是结论要带上历史. 将完整谱系 GkG_k 加入状态, 写成 (Ak,Gk)(\mathcal A_k,G_k), 可以表达开放式档案和父代选择; 将环境版本 eke_k 加入, 可以表达工具变化. 状态越完整, 复现成本越高, 但至少知道一次更新依赖哪些条件.

参考文献

  1. Kaiqi Wang, Wenjin Hou, Yuchen Yan, Hongrui Jia, Zhisheng Zhong, Botao Ren 等 (2026). Diving into Reliable Self-Evolving Agents: A Survey. 腾讯混元, 浙江大学, 北京大学, 清华大学. §1 引言 (含 Self-Refine), §2.1–§2.3 定义与阶梯, §4.1.2 Self-Rewarding, §6.1 Gödel Machine / DGM / Huxley–Gödel Machine, §6.2.2 STOP / Promptbreeder / RLCER / AREX, §6.3 AlphaEvolve, §7.1.2 Red Queen Gödel Machine, §8.1 可靠性阶梯. 项目页: Awesome-Reliable-Self-Evolving-Agents.
  2. Zhe Ren, Yimeng Chen, Dandan Guo 等, Jürgen Schmidhuber (2026). Self-Improvements in Modern Agentic Systems: A Survey. 脚手架四分量 (p,m,T,g)(p, m, \mathcal{T}, g).
  3. I. J. Good (1965). Speculations Concerning the First Ultraintelligent Machine. Advances in Computers, 6: 31–88.
  4. J. Schmidhuber (2003). Gödel Machines: Self-Referential Universal Problem Solvers Making Provably Optimal Self-Improvements.

上一篇: 1.1.1 · 导读与证据规则

下一篇: 1.1.3 · 证据, 接受与控制