核心框架:Agent 配置 At = (θt, Σt) —— 基础模型参数 + 脚手架(prompt / memory / tool / control logic)。自改进 = 通过自身执行信号对 θ 或 Σ 施加持久更新。
项目页:selfimproving-agent.github.io · GitHub 仓库
一、为什么这篇综述值得读
十年前聊 AI 安全,人们还只当是科幻设定。而今天,自改进 Agent 已经从研究原型走向部署系统——Code Agent 自己改自己代码,Computer Use Agent 自己迭代策略,甚至多 Agent 群体彼此教导、共同进化。
这篇综述的独特之处在于它的历史纵深。最后一作者 Jürgen Schmidhuber 1987 年就提出了自指涉元学习框架——系统生成并评估自己的修改版后代——2003 年又给出了 Gödel Machine 的理论天花板。由这些人来写自改进 Agent 的综述,带着一种「从 1790 年代 Laplace 的决定论一路贯通到 2026 年的 GPT Agent」的思想史气质。
二、自改进的「两个引擎」
这篇综述最核心的贡献,是把自改进 Agent 统一到了一个形式框架上。Agent 被定义为:
At = (θt, Σt)
其中 θt 是基础模型参数,Σt 是脚手架——include prompt 模板、记忆系统、工具集和控制逻辑。
在这个框架下,自改进被定义为:Agent 通过自身执行产生的信号,对 θ 或 Σ 施加的持久性更新。关键在于"持久"——临时的工作记忆不算,必须改的是 Agent 的自身结构。
这就自然分出了两条路线:
路线 A:基础模型改进(改 θ)
通过模型自身生成的信号来调参。分为三个子类:
- 内在生成示范(Intrinsic Generative Demonstrations):模型自己合成训练数据——指令-响应对、推理轨迹、执行日志——然后用这些数据做 SFT 或 RL。本质是把数据获取的瓶颈从昂贵的人工标注转移到了生成策略和过滤机制的设计上。
- 内在评估反馈(Intrinsic Evaluative Feedback):模型对自己的输出打分、偏好排序、纠错改写,形成 AI Feedback 的闭环。RLAIF、Constitutional AI、自我对弈都在这个范畴。
- 外在探索经验(Extrinsic Exploratory Experience):Agent 与真实环境(或世界模型模拟的环境)交互,从交互轨迹中学习。这最接近传统 RL 的范式。
改 θ 的好处是能力内化——学会的东西跨任务迁移。代价也很明显:慢、贵、出了错难追踪。烂 prompt 可以瞬间回滚,但已经蒸馏进模型权重的坏习惯要清除就费劲了。
路线 B:脚手架改进(改 Σ)
不动模型权重,直接修改 prompt、记忆、工具或整体逻辑。分为四个目标:
- Prompt 优化:标量反馈搜索、质性反馈精炼、种群进化、文本梯度——用 LLM 自己来调 prompt
- 记忆进化:结构优化(flat → hierarchical → graph)和处理优化(CRUD 策略、经验整理、记忆压缩)
- 工具治理:动态工具路由、迭代工具精炼、自主工具创建
- 全栈脚手架:整体重构 Agent 的运作架构
改 Σ 的特点是快、可逆、开销小,但"天花板低"——prompt 再怎么写也改不了模型本身的推理能力。
三、时间不对称性:快适应 vs. 慢巩固
论文反复强调的一个设计 insight:脚手架是快速适应环,参数是慢速巩固环。
在噪声大的环境里,更新应该先落在 Σ 里,通过充分的执行测试验证。参数级的固化(蒸馏、微调)应该等到行为在脚手架层面跑稳了再做。
这个逻辑很像认知科学里的「系统 1 / 系统 2」——Scaffolding 是灵活但浅层的系统 2 调整,Model 是深层但缓慢的系统 1 内化。好的自改进 Agent 应该同时跑两个环,分层收敛。
四、历史纵深:1790 年代到现在
这篇综述花了整整一节做历史梳理,在 AI 综述里不算常见,但在这里是必要的——因为自改进的思想线本身就是理解当前技术格局的关键。
| 时期 | 关键思想 |
|---|---|
| 1790s–1960s | Laplace 因果决定论 → von Neumann 自复制自动机 → Good 1966:「第一台超智能机器是人类需要的最后一项发明」 |
| 1960s–1980s | 符号主义的启发式自修改系统 |
| 1980s–2000s | 连接主义 + 元学习。Schmidhuber 1987 自指涉学习框架;1991-1993 Fast Weight Programmers(可视为现代线性 Transformer 前身) |
| 2000s–2020s | 形式化自改进。Gödel Machine(2003):系统在能数学证明改进时才重写自身代码——给出理论天花板 |
| 2020s–至今 | 大规模 FM + Agent 框架。ReAct → Reflexion → RLHF → RLAIF → 自改进变成嵌套循环:参数层和脚手架层同时进化 |
五、安全:把 Agent 当不可信代码跑
论文里有一句很尖锐的话:「一个自改进 Agent 应该被视作不可信代码,在受保护运行时环境里执行。」
因为自改进天然是自指涉的,瞬态的 prompt 注入可以演变成持久架构漏洞——被污染的 memory 或工具逻辑作为稳定更新提交后,就嵌入系统了。
所以安全不能只靠基础模型的对齐。需要分层门控:任何结构性更新在提交前,必须通过验证器检查——功能正确性、工具权限边界、对随机状态扰动的鲁棒性。改进只允许发生在明确定义、持续审计的安全边界内。
六、六大未来方向
| 主题 A:终身适应的算法范式 | |
| 1. 测试时持续适应 | 打破训练/部署分离,让模型在执行过程中动态更新检索、路由和记忆策略。关键是防止局部更新侵蚀长期全局性能。 |
| 2. 主动探索与好奇心 | Agent 应该自主寻找有价值的经验,而非被动接受人类策划的任务。在稀疏反馈域中尤为关键。 |
| 3. 安全可控的自修改 | 自修改须在可验证安全边界内进行——改进前提是证明式验证通过。 |
| 主题 B:基础设施与评估 | |
| 4. 统一评估为持续过程 | 从静态 benchmark 转向持续追踪:学习轨迹、迁移能力、开销成本、回归指标。 |
| 5. 多 Agent 集体智能 | 专业化 Agent 群体共享可复用工件(回归测试、成功 patch、改进的工具封装)共同进化。 |
| 6. 在开放世界漂移中生存 | 放弃静态排行榜,改用非稳态模拟器——API 持续变更、UI 重设计、对抗性输入——逼 Agent 发展抗遗忘和非稳态能力。 |
七、我的看法
这篇综述的好不在于它提出了什么新方法——综述的核心价值在整理。但它做对了几件关键的事:
第一,把自改进从模糊的 buzzword 变成了可操作的数学运算符。At = (θt, Σt) 这个形式化看起来简单,却有效地把 200+ 篇论文的方法归到了同一套语言下。这是综述真正难做的部分——不是罗列,而是统一。
第二,θ vs Σ 的二分比「system 1 / system 2」或「fast / slow weights」在工程上更可用。它直接对应到系统的部署组件——你把改进打在模型权重里,还是改 prompt/记忆/工具配置?这决定了部署策略、安全策略和回滚策略。
第三,安全部分没有停留在宣言层面。分层门控、结构化验证、权限边界审计——这些是可落地的工程约束,不是「我们要做负责任的 AI」这样的 PPT 语言。
一个遗憾:综述对「自改进的度量和基准」部分虽然列出了不少 benchmark,但没有给出一个足够有说服力的统一评估框架。这也反映了领域的现状——如何衡量「自我改进」本身仍然是一个开放问题。
八、三句话总结
1. 自改进 Agent = 两个引擎(θ 改参数 + Σ 改脚手架)× 多种信号(生成示范 / 自我评估 / 环境交互)
2. Scaffolding 改得快但浅,Model 改得慢但深——好的系统双层并跑,分层收敛
3. 安全不能靠预对齐——任何自修改提交前必须过验证器