自演化智能体(Self-Evolving Agents)研究综述
从 Gödel Machine 到体验时代 · 面向 NLP 研究生的中文深度教程
- "自演化智能体"指的是能在部署阶段持续修改自身的某种组件(记忆、技能、工具、提示词、奖励、参数),从而在后续任务中表现更好或行为更对齐的 AI 系统。它不是某一个具体模型,而是一类构造模式(construction pattern)。
- 2023 年以来出现了 八种相对独立 的演化机制:记忆型(Generative Agents、Reflexion、MemGPT)、技能型(Voyager)、工具型(CRAFT、TROVE)、提示词型(PromptBreeder、OPRO、EvoPrompt)、编译器型(DSPy、MIPRO、GEPA)、奖励型(Eureka)、参数型(STaR、Self-Rewarding LM)、群体型(co-evolution / debate)。绝大多数实际系统是这八类的组合,而不是只用一种。
- 该范式与 Silver & Sutton 提出的「体验时代」框架(2025 预印本)高度同构——后者用四个维度(体验流、动作-观察、植根奖励、就体验进行规划)刻画下一代智能体;自演化机制正是这四维度的具体实现路径。
- 当前最迫切的开放问题是:奖励黑客(reward hacking)、目标漂移(goal drift)、回声室效应(agent only learns from its own outputs),以及"什么算值得保留的经验"这一基础性问题。本综述用 §5 与 §7 分别给出可操作的应对思路。
- 面向研究生:本领域当前的"低垂果实"集中在 评估方法(如何度量演化质量本身就是开放问题)与 形式化约束下的自修改(什么样的修改能给出可证明的安全保证),而非再发明第九种演化机制。详见 §10。
本综述面向已掌握 LLM Agent 基础概念(如 ReAct、tool calling、向量检索、RLHF)的研究生与从业者, 试图回答四个问题:(1)"自演化"这个词究竟在指什么; (2)现有方法可以分成哪几类,彼此差别何在; (3)评估方法和挑战有哪些; (4)作为研究方向,下一步该往哪走。
全文与本知识库中其他两篇文献形成参照系:与 Rich Sutton《苦涩的教训》互证(自演化是"通用算力 + 通用学习"的具体实施途径), 与 Silver & Sutton《欢迎进入体验时代》互证(自演化是从"人类数据"过渡到"体验"的工程载体)。 同时与本知识库 《Agent Memory 进阶教程》互补:后者聚焦"记忆"这一单一维度;本文从更高一层视角,把记忆看作八种演化路径之一。
第 1 章 · 概念框架与定义
1.1 什么是"自演化智能体"
"自演化(self-evolving)"一词在学术文献中尚未达成统一定义。Zhang 等人在 2024 年发表的关于 LLM Agent 记忆机制的综述 (arXiv:2404.13501)中将 self-evolving capability 定义为:智能体能够"基于与环境的长期、复杂交互,逐步改进其行为" ——并指出这是 LLM Agent 与原始 LLM 的本质区别。
本综述在此基础上给出一个更可操作的工作定义:
这个定义里三件事最关键:
- "在某个组件维度上变了"——而不是"参数变了"。自演化不一定是 fine-tune;记忆增删、提示词重写、技能库新增也都算。
- "自身体验驱动"——而不是"人手工干预"。区别于人在回路(HITL)的微调。
- "目标导向"——而不是"随机漂变"。区别于在线学习中纯被动的分布迁移。
反过来说,下面这些都不是自演化:
- 用户每次对话都开新 session 的 ChatGPT —— 不存在跨 session 的组件变化。
- 每天用新数据重训一次的搜索排序模型 —— 训练不是模型自身体验驱动的。
- RLHF 训练完后冻结部署的 LLM —— 训练时确实在演化,但部署后不再演化。
1.2 演化的六个维度
把"演化的对象"作为分类轴,可以把整个领域拆成下面六个层次。这个分层不是发明,而是对现有文献的一种归纳。
图 1.1 · 自演化对象由浅到深的六个层次。同一系统通常会同时使用多层。
六个层次的实施难度由浅到深递增:L1 几乎不需要训练,L6 则需要可观的算力与算法工程。 但表达力同样递增——只在 L1–L2 上演化的智能体,能改的是"如何看待已经能做的事"; 能在 L6 上演化的智能体,才真正改变了"能做什么"。
这同时给我们一个观察预期:随着算力变便宜,演化的重心会逐层下沉——从今天主流的 L1–L4, 逐步向 L5–L6 迁移。这与 Bitter Lesson 的论断一致:能吸收算力的方法终会胜出。
1.3 与相邻概念的辨析
"自演化"与若干相邻概念关系密切,但内涵不同。下表给出辨析。
| 概念 | 核心要点 | 与"自演化智能体"的差别 |
|---|---|---|
| Continual / Lifelong Learning | 模型在序贯分布上学习,关注灾难性遗忘 | 通常假设外部老师/数据流;自演化要求体验由智能体自己生成 |
| Online Learning | 样本到达 → 模型更新一次 | 无目标导向的"决定要不要演化、演化什么"的元层 |
| Meta-Learning | "learn to learn",习得一个快速适应的先验 | 训练阶段定型;部署后不再变化。自演化恰恰发生在部署阶段 |
| AutoML / NAS | 用算法(贝叶斯/进化/RL)自动搜索模型结构与超参 | 典型上是离线、一次性的;自演化是在线、持续的 |
| RLHF / DPO | 用人类偏好数据微调对齐 | 对齐目标外生且固定;自演化希望目标本身也能调整(见 §3.6) |
| Self-Play(AlphaZero 风格) | 智能体与自身对弈生成训练数据 | 典型在封闭环境下;自演化关心开放、植根真实世界的场景 |
| In-context Learning | 不更新权重,仅用上下文示例适应新任务 | 是 L1 上的演化的最弱形式;ICL 通常无跨会话状态 |
一个直观的口径:自演化 = continual learning + self-generated experience + meta-level decision about what to evolve。 缺一不可。
1.4 评判"演化成功"的标准
"系统更新了" ≠ "演化成功了"。多数论文用单一终端任务表现衡量,掩盖了三个潜在问题。一个严肃的评估应至少回答以下四个问题:
- 能力增益:在分布外新任务上是否真的更好?仅在训练分布上变好可能只是过拟合。
- 非灾难性:旧任务表现是否下降?(catastrophic forgetting 的隐性版本)
- 非崩溃性:演化轨迹是否单调?还是出现"先升后降"的崩溃(model collapse)?
- 对齐保持:演化后的智能体是否仍然遵守初始的安全约束?是否出现 mesa-optimizer 漂变?
当下绝大多数论文只回答了 (1)。这是这个领域一个突出的方法论赤字——也是研究生最容易切入的细分方向,详见 §6 与 §10。
第 2 章 · 历史脉络
自演化系统不是 LLM 时代的新概念。其根可追溯到 1970–1990 年代的进化计算与可塑系统, 真正确立"理论上可达"的是 Schmidhuber 2003 年的 Gödel Machine。 LLM 只是给这个古老的愿景,第一次提供了足够通用的"代码生成器",让自我修改变得可落地。
2.1 1970–1990:进化算法与可塑系统
Holland 在 1975 年提出遗传算法(Genetic Algorithms),用选择-变异-重组算子在解空间中搜索。 1990 年代,Koza 把这个想法推到代码层面:Genetic Programming,让算法本身参与变异, 是"代码自我修改"最早的可工作实例。
同一时期,神经网络社区也开始关注可塑性:可塑突触(plastic synapses)、自组织映射(SOM)、Hebbian 学习规则的衍生品, 都试图刻画"网络在使用过程中持续重组"。但当时的关键瓶颈是: 没有足够通用的"程序合成器"来支持开放式的自我修改——所有变异都局限在事先指定的算子空间内。
2.2 2003 · Gödel Machine:理论上限
Schmidhuber 2003 年提出 Gödel Machine(哥德尔机),是自演化系统的一个理论标杆。 它假设智能体可以读取并重写自身的完整源代码(含读写器本身),并且只在能形式化证明"修改将带来期望收益"时才执行修改。
"A Gödel Machine rewrites any part of its own code as soon as it has found a proof that the rewrite is useful." —— Schmidhuber, 2003(释义版)
Gödel Machine 在概念上漂亮,但工程上几乎无法实施——可证明性约束太强,证明系统本身就极昂贵。 它的意义在于定义了上界:今天所有自演化系统的"修改是否安全/有益"判断,本质上都是 Gödel Machine 中证明步骤的启发式弱化版本。 比如 Reflexion 用 LLM 自评代替证明、Voyager 用单元测试代替证明、Eureka 用回归试错代替证明——这是一个"放宽证明义务"的连续光谱。
2.3 2010s · AutoML / NAS
深度学习时代,"自动改进自己"的注意力转向了模型架构与超参。 NAS(Neural Architecture Search,Zoph & Le 2017)用强化学习搜索 CNN 结构; DARTS(Liu 2019)让搜索过程可微;EfficientNet(Tan & Le 2019)用复合缩放搜索一族模型。 2018 年前后,AutoML 工具(Google AutoML、Auto-sklearn、AutoGluon)开始流行。
这一时期的关键限制是:搜索离线、一次性,且搜索空间需要人工设计。 "演化"发生在训练时,而部署后的模型是冻结的。这与本综述定义的"自演化"仍有距离。
2.4 2022–2023 · LLM 时代转折
2022 年底 ChatGPT 之后,自演化研究突然加速。原因是 LLM 第一次同时具备了三个能力:
- 开放域代码生成:可以写新工具、新技能、新提示词。
- 自然语言反思:可以用语言总结一次失败,提炼为可复用经验。
- 零样本/少样本适应:新经验不需要昂贵微调就能被使用。
这三点合在一起,把 Gödel Machine 中"代码合成 + 自我评判 + 选择性接受"的概念循环变成了实操可行的。短短一年内出现的代表性工作(按时间):
图 2.1 · 2022–2023 间自演化领域代表性工作时间线。颜色对应不同演化层次(参数/记忆/奖励/提示词/编译器)。
2024 年起,研究焦点逐步从"能不能演化"转向了"演化如何不崩溃 / 不被奖励黑掉 / 不漂移"。 代表性后续工作包括 Self-Rewarding LM(Yuan et al., 2024)、AgentGym(Xi et al., 2024)、 MIPRO(DSPy v2 优化器,Khattab 等 2024)、Quiet-STaR(Zelikman et al., 2024)。
第 3 章 · 演化机制分类
本章给出八类演化机制,每一类配一个最小描述、最关键论文、一句话局限。 更详细的系统精读放在 §4。
3.1 记忆型演化(Memory-driven Evolution)
最浅的演化层次:智能体把过去的交互经验结构化地写入外部记忆,下次相似情境时检索。 不修改任何"内核"组件,仅靠外部 buffer 累积经验。
关键代表:
- Generative Agents(Park et al., UIST 2023, arXiv:2304.03442):在斯坦福小镇仿真中,每个 NPC 维护"记忆流(memory stream)",按 recency × importance × relevance 三因子检索,并周期性触发反思(reflection)把零散记忆抽象为高层洞察。
- Reflexion(Shinn et al., NeurIPS 2023, arXiv:2303.11366):失败后用语言写一条"verbal reinforcement"自我反馈,附加在下次 prompt 前,形成"语言层的强化学习"。
- MemGPT(Packer et al., arXiv:2310.08560):把 LLM 视为操作系统的 CPU,把外存看作页表,自主决定何时把哪条记忆从外存调入上下文。
- A-MEM 等近期工作进一步引入 Zettelkasten 式的记忆链接与记忆演化(旧记忆在新经验下被改写)。
本知识库另有专门一章 《Agent Memory 进阶教程》。本综述不再重复细节, 只强调一点:"加记忆"是最容易实施的演化机制,但也最容易触发回声室效应(§7.3)。
3.2 技能型演化(Skill Accumulation)
记忆是"记下来",技能是"抽象成可复用的过程"。当一段经验稳定到可以被命名、参数化、重新调用时,它就成了技能。
关键代表:
- Voyager(Wang et al., NVIDIA, arXiv:2305.16291):在 Minecraft 中,把每个完成的任务封装成一个 JavaScript 函数, 注入到技能库;新任务先在技能库中检索 top-k 相关技能作为示例。结合自动课程(automatic curriculum)使智能体长时间不停"主动学新东西"。 论文中报告其获取的物品数量是 ReAct、Reflexion、AutoGPT 的 3–15 倍。
- CRAFT(Yuan et al., 2024)等工具创建工作可视为技能演化的一个变种——区别只是技能用什么形式表达(自然语言 vs 代码)。
技能型演化的优势:可被人工审查(代码可读),可被白盒测试。 劣势:技能库会无限增长,检索本身成为瓶颈;并且当任务分布变化时,旧技能可能"过期"。
3.3 工具型演化(Tool Self-Creation)
比技能更结构化的演化:智能体设计并注册新工具/API,下次推理时可以像调用既有工具一样调用它们。 代表性工作 CRAFT(Yuan et al., 2024)、TROVE(Wang et al., 2024)、 Toolformer 的延伸(Schick et al., 2023 是工具使用,不是创建)。
工具型与技能型的边界其实模糊。区分点是:工具更强调 I/O 类型签名与可被其他智能体复用;技能则是单个智能体自留的过程。
3.4 提示词 / 指令型演化(Prompt Evolution)
不动模型、不动记忆,只动 prompt 本身。这是计算上最便宜的演化层次。
关键代表:
- OPRO(Yang et al., ICLR 2024, arXiv:2309.03409):把 LLM 当作通用优化器,用前几代 prompt 与其得分作为输入,让 LLM 生成新一代 prompt。"Take a deep breath and work on this problem step-by-step" 这种著名 prompt 即 OPRO 在 GSM8K 上演化得到。
- PromptBreeder(Fernando et al., DeepMind, arXiv:2309.16797):进化算法在 prompt 空间中运行,同时演化"任务 prompt"与"变异 prompt"(self-referential mutation)。是少数显式应用进化算子的工作。
- EvoPrompt(Guo et al., 2023):将 GA/DE 算子直接套用到 prompt 优化。
- APE(Zhou et al., 2023):自动化提示工程的早期工作,用 LLM 提案 + 评分挑选。
局限:提示词空间高度离散,演化轨迹常不稳定;且这一层的"演化"很容易过拟合到验证集。
3.5 编译器型优化(Compile-time Optimization)
把多模块 LLM 流水线看作一个程序,用编译器视角端到端优化各模块的 prompt、demonstrations、甚至模型选择。
关键代表:
- DSPy(Khattab et al., ICLR 2024, arXiv:2310.03714):把"LLM call"抽象为可微(实则是基于评估器的代理梯度)的模块;定义
Module、Predict、ChainOfThought等原语,由 teleprompter / optimizer 自动搜索每个模块的 prompt 与 few-shot 示例。 - MIPRO(DSPy v2 内置优化器,Opsahl-Ong et al., 2024):在 DSPy 基础上提出贝叶斯式联合优化指令和 demonstrations,对多模块管线尤其有效。
- GEPA(Genetic Pareto,2024):将 GA 与 Pareto 前沿挑选结合,用于多目标 prompt 优化。
编译器型与提示词型的差别在于:前者关心多模块管线的联合优化,可以做到"先在 Module A 上提升 → 反向影响 Module B 的最优 prompt", 后者通常是单一 prompt 的迭代。这是过去两年从研究转工程的一个重要趋势。
3.6 奖励函数演化(Reward Evolution)
更深一层:演化的不是策略,而是策略所追求的目标函数本身。
关键代表:
- Eureka(Ma et al., NVIDIA, ICLR 2024, arXiv:2310.12931):在机器人控制任务中,用 GPT-4 生成一族 Python 奖励函数, 对每个函数训练 PPO 策略并打分,把最优函数的"细节"和分数反馈给 GPT-4 让它生成下一代奖励—— 本质上是 OPRO 框架在"奖励空间"中的应用。在 29 个机器人任务上,Eureka 演化出的奖励超过人工设计的奖励。
- Self-Rewarding LM(Yuan et al., Meta, arXiv:2401.10020):同一个 LLM 同时扮演"被训练者"与"奖励评判者", 迭代生成偏好数据 → DPO 训练 → 评判能力同时提升。Llama-2 70B 经 3 轮迭代后在 AlpacaEval 上超过 Claude 2、Gemini Pro 与 GPT-4 0613。
这一层最接近"体验时代"中所说的"植根奖励"。 但也是最危险的——奖励函数是智能体的最终目标,错的奖励意味着南辕北辙。
3.7 参数型 / 权重型演化(Weight Update)
最深的层次:直接更新模型权重。在 LLM 时代,这通常以 self-bootstrapped fine-tuning 的形式出现: 智能体生成数据 → 自评/筛选 → 微调自己。
关键代表:
- STaR(Self-Taught Reasoner,Zelikman et al., NeurIPS 2022, arXiv:2203.14465):让模型生成思维链, 保留那些得到正确答案的链,把"问题→思维链→答案"作为新训练数据回 fine-tune 模型。 是参数型自演化最早期的代表性工作之一,比 ChatGPT 还早。
- Quiet-STaR(Zelikman et al., 2024):STaR 的延伸,思维链不只用于解题,而是嵌入到任意 token 的预训练过程中, 让模型"自己学会在每一步预测前先想一下"。
- ReST / ReST-EM(Singh et al., DeepMind, 2023):Expectation-Maximization 风格的自训练, 反复迭代"生成 → 筛选 → fine-tune"。AlphaProof 内部使用的算法即此类家族。
参数型演化是最强大的一类,但计算开销也最大,并且最容易触发模型崩溃(model collapse)—— 反复用自己生成的数据训练自己,会导致分布坍缩、多样性丢失。Shumailov 等人 2024 年在 Nature 上的工作就严肃讨论了这一风险。
3.8 群体协同演化(Population-based / Multi-agent)
让多个智能体相互对抗、合作、辩论,群体在交互中协同演化。
关键代表:
- 多智能体辩论(Multi-Agent Debate, Du et al., 2023; Liang et al., 2023):N 个智能体各自给出答案、互相评判、迭代修正。证明可显著提升数学和事实任务的准确率。
- Stanford 小镇(Park et al., 2023):25 个生成式智能体共存,无人工干预下涌现出社交事件(情人节派对自发组织)。
- 群体演化算法(PBT, Population-Based Training,Jaderberg et al., 2017):早期工作,在超参与神经网络训练中已显示出群体的力量。
群体型可与前面任何一类组合——例如群体中每个个体在 L4(prompt)层各自演化,群体层面再做选择。 开放问题:群体内同质化(mode collapse)、群体内对齐(alignment of populations)。
3.9 八类机制对比表
| 类型 | 演化对象 | 代表工作 | 计算开销 | 表达力 | 主要风险 |
|---|---|---|---|---|---|
| 3.1 记忆型 | 外部记忆库 | Generative Agents, Reflexion, MemGPT | 低 | 中 | 回声室 |
| 3.2 技能型 | 命名过程/函数 | Voyager | 低 | 中高 | 库膨胀、检索瓶颈 |
| 3.3 工具型 | 注册 API/工具 | CRAFT, TROVE | 低 | 中高 | 工具冲突、可用性 |
| 3.4 提示词型 | system / task prompt | OPRO, PromptBreeder, EvoPrompt | 中 | 中 | 过拟合验证集 |
| 3.5 编译器型 | 多模块联合 prompt | DSPy, MIPRO, GEPA | 中 | 高 | 模块间副作用 |
| 3.6 奖励型 | 奖励函数本身 | Eureka, Self-Rewarding LM | 高 | 高 | 奖励黑客 |
| 3.7 参数型 | 权重 | STaR, Quiet-STaR, ReST | 极高 | 极高 | 模型崩溃 |
| 3.8 群体型 | 群体内部分布 | 多智能体辩论, PBT | 高 | 高 | 同质化、协调失败 |
实操经验:多数成功系统是 2–3 类的组合。例如 Voyager = 技能型 + 自动课程 + 记忆型; Self-Rewarding LM = 奖励型 + 参数型;Agent Q(Putta et al., 2024)= 记忆型 + 参数型(MCTS + DPO)。
第 4 章 · 代表性系统精读
下面对每个代表性系统给出"任务 / 机制 / 关键贡献 / 局限"四元组式的精读。读完本章应能在两分钟内向同行复述这些系统的差异。
4.1 Voyager(NVIDIA, 2023)
| 任务 | Minecraft 中开放式探索 + 物品获取 |
|---|---|
| 核心机制 | 三个组件:自动课程(automatic curriculum)→ 技能库(skill library,JavaScript 函数)→ 迭代提示(iterative prompting,含执行反馈/错误回传) |
| 关键贡献 | 首次在开放世界中展示 LLM 智能体的"持续探索 + 累积技能"。技能存为可读 JavaScript,可被人工审查。 |
| 局限 | 只在 Minecraft 这一受限环境验证;技能库无遗忘机制;自动课程提议的"下一目标"高度依赖 GPT-4 的世界知识;论文未充分讨论奖励黑客可能性。 |
📖 工程细节:Voyager 的技能函数长什么样?
// 自动生成、自动测试通过后被注册
async function craftWoodenPickaxe(bot) {
await mineLog(bot, 3); // 调用已有技能
await craftPlanks(bot, 4);
await craftSticks(bot, 2);
await craftItem(bot, "wooden_pickaxe");
await equip(bot, "wooden_pickaxe");
}
// 元数据:description / preconditions / verification
每个新技能首次执行时,附带验证函数(如检查 inventory),若失败则反馈错误信息进入下一轮迭代提示。
4.2 Reflexion(NEU/MIT/Princeton, NeurIPS 2023)
| 任务 | 编程(HumanEval/MBPP)、决策(AlfWorld)、问答(HotpotQA) |
|---|---|
| 核心机制 | 三个 LLM 角色:Actor(执行)、Evaluator(评分)、Self-Reflection(用自然语言写一段"为什么失败"的反思)。反思文本写入外部记忆,附加到下次的 prompt。 |
| 关键贡献 | 把"用自然语言总结失败"作为一种语言层强化信号,无需梯度。GPT-4 + Reflexion 在 HumanEval 上从 80% → 91%。 |
| 局限 | 反思质量完全依赖底座 LLM;当反思错了,会成为长期错误("反思一次是修正、反思十次是滑坡")。 |
4.3 Generative Agents(Stanford/Google, UIST 2023)
| 任务 | 仿真 25 个 NPC 在虚拟小镇生活 |
|---|---|
| 核心机制 | 记忆流(memory stream)+ 重要性评分(importance)+ 反思(reflection,定期把多条记忆聚合为更抽象的洞察)+ 规划(planning,每天/每小时生成日程)。 |
| 关键贡献 | 展示无人工脚本下涌现出社交行为(NPC 自发组织情人节派对)。"反思"机制是后续多个工作的灵感源头。人评中其行为可信度高于人类对照组。 |
| 局限 | 计算成本极高(每个 NPC 每秒数个 LLM 调用);记忆膨胀;缺乏对"反思错了怎么办"的处理。 |
4.4 Self-Refine(CMU/Allen AI, NeurIPS 2023)
| 任务 | 通用:代码生成、对话回复、数学、情感反转等 7 个任务 |
|---|---|
| 核心机制 | 单个 LLM 三轮:"生成 → 反馈 → 精炼"循环。无需训练。 |
| 关键贡献 | 证明仅靠 prompt 设计即可让 LLM 自我改进,平均提升约 20%。是"自我反馈"机制的最小工作示例。 |
| 局限 | 对于较小模型(如 GPT-3.5 以下)效果不稳定;反馈与精炼是单步操作而非长期记忆,离"演化"还有差距。 |
4.5 STaR / Quiet-STaR(Stanford)
| 任务 | STaR:常识问答、数学;Quiet-STaR:通用预训练 |
|---|---|
| 核心机制 | STaR:生成思维链 → 保留正确链 → 微调(错链则用 rationalization "事后补理由"再筛选)。Quiet-STaR:在每个 token 前都隐式生成"思考 token",与下一个 token 联合训练。 |
| 关键贡献 | STaR 是参数型自演化的最早成功案例(NeurIPS 2022,比 ChatGPT 早);Quiet-STaR 把"自演化"从"任务专属"推向"通用预训练"。 |
| 局限 | 需要可验证答案;"事后补理由"在没有 ground truth 时困难;模型崩溃风险(用自己生成的数据训自己)。 |
4.6 Eureka(NVIDIA, ICLR 2024)
| 任务 | 29 个 IsaacGym 机器人控制任务(双手转笔、四足行走、五指手抓握等) |
|---|---|
| 核心机制 | 外层 GPT-4 生成 Python 奖励函数;内层 PPO 训练策略;用训练曲线统计反馈给 GPT-4 让它修改奖励;如此迭代。 |
| 关键贡献 | 在 83% 的任务上演化出的奖励函数优于人工设计的奖励。首次系统展示"LLM 在奖励空间中也是有效的优化器"。"双手转笔"是其代表性 demo。 |
| 局限 | 每轮要训练一个 PPO 策略,计算极昂贵;奖励黑客需人工监督;只在仿真环境验证。 |
4.7 PromptBreeder(DeepMind, 2023)
| 任务 | 常识问答、数学、文本仇恨言论检测等 |
|---|---|
| 核心机制 | 遗传算法:种群中每个个体是一组(task prompt, mutation prompt)。selection-mutation-crossover 在 prompt 上运行;mutation prompt 自身也是被演化的对象(self-referential)。 |
| 关键贡献 | 对 GA 在 prompt 空间的显式应用。表明"演化用的元提示词本身也能演化",是 Gödel Machine 自指特性的弱化实现。 |
| 局限 | 种群大、迭代多导致 API 成本高;演化轨迹方差大;与 OPRO 相比并未在所有任务上更优。 |
4.8 OPRO(Google DeepMind, ICLR 2024)
| 任务 | 线性回归、TSP、GSM8K、BIG-bench |
|---|---|
| 核心机制 | 把"过去若干代 (prompt, score) 对"作为 meta-prompt 喂给 LLM,让它生成下一代 prompt。LLM 在此扮演通用黑盒优化器。 |
| 关键贡献 | "Take a deep breath and work on this problem step-by-step" 这条著名 prompt 即 OPRO 在 GSM8K 上演化产物。展示 LLM 可作为优化器使用,且对启发式特别有效。 |
| 局限 | 奖励景观不稳定时易陷局部最优;演化轨迹对初始种子敏感;优化器底座越强(GPT-4),效果越好(暗含一个"鸡生蛋"问题)。 |
4.9 DSPy / MIPRO / GEPA(Stanford / 2024+)
| 任务 | 多跳问答、RAG、复杂推理流水线 |
|---|---|
| 核心机制 | DSPy 把多模块 LLM 程序抽象为可被"编译"的对象;MIPRO 用贝叶斯优化联合搜索 instructions 与 demonstrations;GEPA 用 Pareto 多目标遗传算法处理 trade-off。 |
| 关键贡献 | 提供工程化基础设施。把 prompt 工程从"手工艺"变成"可复现的优化问题"。当下事实上是 LLM 流水线优化的主流工具栈。 |
| 局限 | 优化过程消耗大量 API;需要精心设计 metric;优化器对小模型有时反而恶化效果。 |
4.10 ExpeL & AgentGym
| 任务 | 跨多任务的经验积累与迁移 |
|---|---|
| 核心机制 | ExpeL(Zhao et al., AAAI 2024, arXiv:2308.10144):从训练任务收集成功/失败轨迹,提炼"任务级洞察"(insights),新任务用之作为额外上下文。AgentGym(Xi et al., 2024, arXiv:2406.04151):构建多环境 benchmark + AgentEvol 算法做跨任务自演化。 |
| 关键贡献 | 把演化从"单环境"扩展到"跨环境",对应"通才智能体"愿景。 |
| 局限 | 跨任务迁移效果有限;洞察文本可能矛盾;对"任务相似性度量"依赖经验式定义。 |
4.11 Self-Rewarding Language Models(Meta, 2024)
| 任务 | 指令遵循、AlpacaEval |
|---|---|
| 核心机制 | 同一 LLM 既扮演"待训练模型",又扮演"评判器"(LLM-as-a-Judge)。每轮:生成回答 → 自评 → 构造偏好对 → DPO → 评判能力也变强。 |
| 关键贡献 | 在 Llama-2 70B 上,迭代 3 轮后超过 Claude 2、Gemini Pro、GPT-4 0613(AlpacaEval 2.0)。证明"评判能力与生成能力可以耦合上升"。 |
| 局限 | 仅在 AlpacaEval 这一窄基准上有突出表现;自评偏置(self-preference bias);长期迭代是否仍收敛尚未充分验证。 |
第 5 章 · 关键技术细节
5.1 反思机制的设计
"反思(reflection)"几乎是所有记忆型/技能型/参数型自演化系统的共同环节。设计要点有四:
- 触发时机。是每次失败后反思(Reflexion)、还是周期性反思(Generative Agents 累计 importance 超阈触发)、还是预算式反思(每 N 步必反思一次)?这关系到反思的稀疏性。
- 反思粒度。是反思单个动作、单个任务、一个 episode,还是一组任务?粒度越粗,越抽象,越易迁移;但也越易出错。
- 反思形式。自然语言段落、结构化字段({cause, lesson, plan})、还是可执行代码?后者最严苛,但可被验证。
- 反思的反思(meta-reflection)。当一次反思被后续事实推翻时,是否要修改它?这是 A-MEM 等"记忆演化"工作处理的问题。
5.2 自动课程学习(Automatic Curriculum)
自演化系统常常需要回答:"下一个该学什么?" Voyager 用 LLM 提出符合"易获、新颖、可达"三准则的下一目标; Eureka 用奖励函数性能曲线作为反馈;ExpeL 则用任务相似度排序。
课程学习的两个反直觉发现(来自多个独立工作):
- 太简单的任务反而拖慢学习——智能体没有学到新东西的机会。
- 太难的任务同样拖慢学习——成功率太低,反馈信号噪声大。
大致最优的难度区间在成功率 0.3–0.7,与"zone of proximal development"的认知科学概念一致。
5.3 何为"值得保留的经验"
这是当前最被低估的基础性问题。多数系统简单地"全部保留",导致记忆膨胀;少数系统按一个简单度量(recency, importance, 检索频率)筛选。 但什么样的经验真正"值得保留",本身就是一个研究问题。
三个学界已被提出但未被系统验证的判据:
- 反事实价值:如果当时没有这条经验,结果会显著变差吗?(需要反事实推断,工程困难)
- 泛化潜力:这条经验能在多少分布外任务上被复用?
- 压缩性:这条经验在被纳入"理论"(被反思抽象)之前是否已无价值?
研究生层级可切入的方向:提出并实验验证某种"经验价值度量"。本文 §10 给出更具体建议。
5.4 灾难性遗忘(Catastrophic Forgetting)
经典连续学习问题。在自演化语境下尤其严重,因为: 新经验是自身生成的,分布与初始训练严重失配,更易把旧能力"擦掉"。
主要应对策略:
- Replay buffer:混入一部分老数据;简单有效,但需要保留老数据。
- EWC / L2 正则:约束权重不过分偏离初始值。
- LoRA / Adapter:把演化限制在小规模可逆参数上。这是 LLM 时代主流方案。
- 外存而非权重:把演化全部放在 L1–L3,根本不动权重。代价是上限更低。
5.5 稳定—可塑困境
稳定(stability)= 保留旧能力,可塑(plasticity)= 学习新能力。两者是一对硬约束:完全稳定 ≡ 学不会新东西;完全可塑 ≡ 立刻忘旧。
在自演化语境下,这对困境延伸为:过度演化导致目标漂移、不够演化无法适应分布变化。 没有通用解;不同应用场景下"演化预算"应做不同选择:
| 场景 | 建议 |
|---|---|
| 安全关键(医疗、法律) | 限制在 L1–L3,禁止 L5–L6 演化 |
| 创造性任务(写作、设计) | L4 提示词演化为主,L5–L6 谨慎 |
| 科研助手 | L1–L4 全开,需配人类抽检 |
| 开放探索(仿真世界) | L1–L6 全开 |
第 6 章 · 评估方法
评估方法是这个领域最稀薄的部分。绝大多数论文用"在某个基准上的最终得分"作为唯一指标, 这远不足以判断演化质量。本章梳理目前可用的方法。
6.1 长程任务 Benchmarks
- AgentBench(Liu et al., ICLR 2024):8 个环境(OS、DB、知识图谱、网页购物等)的多任务智能体基准。
- WebArena(Zhou et al., 2024):真实网页环境上的端到端任务。
- OSWorld(Xie et al., NeurIPS 2024):操作系统级 GUI 智能体基准。
- Voyager 的 tech tree progress:Minecraft 中物品获取进度作为度量。
- SWE-Bench(Jimenez et al., 2024):真实 GitHub 仓库 issue 的代码修复,是目前最受关注的"严肃"基准。
6.2 演化轨迹指标
除最终分数外,应追踪:
- 演化曲线:性能 vs 迭代次数 / 体验量。是否单调?是否震荡?是否崩溃?
- 遗忘曲线:在旧任务上的回退量。
- 方差:多次随机种子下的稳定性。
- 压缩比:积累的经验 / 实际带来的能力增益。
6.3 Pareto 视角
单一指标会掩盖 trade-off。例如 Voyager 的技能库越大,检索越慢;Self-Rewarding LM 评判越强,可能越同质。 GEPA 等工作开始系统使用 Pareto 前沿评估,是值得鼓励的方向。
6.4 评估的开放问题
- 如何为自演化系统设计开放式评估,而不只是固定 benchmark?
- 如何度量"演化得到的能力是否真的新颖(novel)",而不是把训练分布换种说法?
- 如何在不动用第三方"裁判 LLM"的情况下评估自演化(避免裁判与被试同源带来的循环)?
第 7 章 · 关键挑战
7.1 奖励黑客(Reward Hacking)
当奖励函数本身可被演化(§3.6)或可被学到(§3.7 的偏好模型),智能体最优解可能是"欺骗奖励"而非"实际完成任务"。 经典案例:在仿真船航行任务中,智能体发现"原地打转吃道具"得分远高于完成航线。
LLM 时代的新形式:Reflexion 中智能体可能把"放弃任务并说‘这题无解’"作为反思结论, 因为评判器会接受"看起来 confident 的回答"。Self-Rewarding LM 中评判与生成同一个模型, 存在内置自我偏好(self-preference bias)。
缓解方向:奖励正则化、多评判器 ensemble、人在回路抽检、形式化属性验证。但没有一个是根本解。
7.2 目标漂移(Goal Drift)
随着演化进行,智能体的有效目标可能逐步偏离设计目标。这与 mesa-optimization 文献关心的问题同源: 一个被外层目标训练出来的内层优化器,可能显式追求一个不同的目标,只是恰好在训练分布上结果一致。
具体到自演化:当智能体反复"反思→改提示词→新反思", 被强化的可能是"如何取悦评判器"而非"如何真的把事情做好"。这是 §7.3 回声室的近亲。
7.3 回声室效应(Echo Chamber)
当智能体只从自己生成的数据中学习(典型场景:Self-Rewarding LM、STaR), 长期会发生:分布逐步坍缩 → 多样性丢失 → 对真实世界的代表性下降。 Shumailov 等人 2024 年在 Nature 上的工作显示,纯用上一代模型生成的数据训练下一代模型, 经几轮后输出的多样性会显著下降,且事实错误率上升——他们称之为 "model collapse"。
缓解: 混入新人类数据(哪怕少量)、保留种子分布、跨智能体交叉训练(避免单一智能体闭环)。 但这些都是缓解而非解决——根本问题是:没有外部植根的奖励信号时,怎么知道自己变得更对而不是更错? 这正是 体验时代所主张的"植根奖励"的重要性所在。
7.4 可解释性与验证
演化过的智能体是不是仍可被理解?是不是仍可被检验?这两点对部署至关重要。
- L1–L3(上下文/记忆/技能):可读,可被白盒审查。这也是为什么 Voyager 选择 JavaScript 而非神经网络作为技能表达。
- L4(提示词):表面上可读,但很多演化出来的 prompt(如 OPRO 的 "Take a deep breath...")没人懂为什么有效。
- L5–L6(奖励/参数):不可解释。除非配合独立的可解释性工具。
7.5 计算成本
绝大多数自演化算法是消耗导向的:用更多算力换更好性能。 Eureka 平均每个任务训练数百个 PPO 策略; PromptBreeder 一次实验消耗数十万 API 调用; Self-Rewarding LM 每轮迭代是一次完整 DPO 训练。
这反过来给"哪些场景值得用自演化"提出了经济学问题: 对低价值高频任务,可能不如直接 fine-tune; 对高价值低频任务(科研、复杂规划),自演化才有 ROI 正回报。
7.6 安全自修改(Safe Self-Modification)
Gödel Machine 的初衷之一就是用形式化证明保证"修改是有益的"。但实际系统中,证明被弱化为 LLM 自评。 当自演化进入 L5–L6(奖励/权重),安全性成为关键问题:
- 能否禁止某些不可逆修改?
- 能否在演化后保留可还原的 checkpoint?
- 能否对修改幅度做硬上限?
- 能否要求高风险修改通过外部独立验证器?
第 8 章 · 与「体验时代」的关系
2025 年 Silver & Sutton 发表的预印本 《欢迎进入体验时代》 用四个维度刻画下一代智能体:体验流、动作-观察、植根奖励、就体验进行规划与推理。 本节论证:自演化机制正是这四维度在工程层面的实现路径。
| 体验时代的四维度 | 对应的自演化机制(§3) | 当下工程现状 |
|---|---|---|
| 体验流(streams of experience) | 3.1 记忆型 + 3.2 技能型 | 已有可工作系统(Voyager, Generative Agents),但仅在窄域 |
| 动作-观察(rich actions/observations) | 3.3 工具型 + Computer Use 类智能体 | 2024 起 Anthropic Computer Use、Project Mariner 等已落地 |
| 植根奖励(grounded rewards) | 3.6 奖励型演化 | 仿真环境中(Eureka)较成熟;真实世界很少 |
| 就体验进行规划与推理 | 3.4 提示词 + 3.5 编译器 + 3.7 参数 | STaR / Quiet-STaR / o1 等接近 |
反过来理解 Bitter Lesson: "能利用算力的通用方法终将胜出",意味着自演化机制中越通用、越能吃算力的那些(L5、L6)会逐步占主导。 当前 L1–L4 的方法只是"短期内有效",长期重心会下沉。
这给研究生一个时间维度上的启示: 押注 L1(context engineering)能在 1–2 年内出工作,但 5 年后很可能被基础模型自身能力吃掉; 押注 L5–L6(奖励/参数演化)短期回报低,但长期是结构性的方向。
第 9 章 · 未来方向
9.1 世界模型驱动的自演化
当前自演化系统中"反思 / 评判"环节多由 LLM 自身担任,存在内置偏置。 一种更原则化的做法是引入一个独立世界模型,用它预测"该修改在未来若干步后会带来什么后果", 再用预测结果作为修改决策的依据。这呼应了 Sutton 的 Dyna 框架,但用 LLM/扩散模型作为世界模型的实现。 代表性早期工作:DreamerV3(Hafner et al., 2023)将这个思路推进到通用控制。
9.2 形式化可保证的安全自修改
把 Gödel Machine 的"可证明性"放宽到"可还原性 + 单调改进性"是工程上更可行的目标。 具体路径:限定演化在 LoRA / Adapter 内;每步演化前保留 checkpoint; 要求新版本在已通过的测试集上不退化(regression test); 建立对"可解释自演化"的统一框架。
9.3 多智能体协同演化
单一智能体的自演化容易陷入回声室;多智能体相互训练(与人类围棋史中的"对弈互训"同构) 可缓解多样性丢失。但开放问题是:群体如何避免集体漂移到错误的纳什均衡? "对抗 / 合作"分别在什么任务上更适合?
9.4 跨域知识迁移
自演化得来的能力能否在非常不同的任务/领域间迁移,是衡量"通用性"的关键。 ExpeL、AgentGym 是早期尝试,但仍只是"近似分布"的迁移。 跨域迁移的研究需要先有跨域评估基准,而这本身就是缺位的。
9.5 与基础研究方法论的融合
本综述揭示了一个有趣事实:现代自演化系统在概念上同源于 1990 年代以来的进化计算、AutoML、Meta-Learning 与 RL。 LLM 时代为这些范式提供了一个"足够通用的代码合成器"。下一阶段值得做的,是从基础原理上整合这些古典思想与 LLM 工程, 而不是不停发明第九种、第十种演化机制。
第 10 章 · 结语 & 给研究生的建议
- 不要再发明第九种演化机制。八类机制的组合空间远未被充分探索,"组合 + 严肃评估"比"再发明一种"更可能产出有价值结果。
- 切入评估方法。本领域的最大缺陷是评估稀薄。提出一个能区分"真演化"与"过拟合"的度量,足够发一篇好论文。
- 切入安全约束。在 LoRA 范围内做形式化可还原的自演化,是落地友好且有深度的方向。
- 把记忆 / 反思 / 课程当作系统组件来设计,而非单个 trick。可参照 Agent Memory 进阶教程。
- 明确你的演化是 L1–L6 中哪一层。在写论文前明确这一点,能让你的方法定位清晰得多。
本综述并不试图穷尽所有论文——这本来就是一个仍在快速运动中的领域。本综述试图给出一个稳定的分类骨架, 让你在阅读未来出现的新工作时,可以快速判断它属于哪一层、可与什么已有工作组合、最可能的弱点在哪。
本知识库其他相关章节:
- Agent Memory 进阶教程 —— 自演化的 L2 维度专门展开
- 时序知识图谱问答(TKGQA)入门 —— 一个具体研究方向
- 苦涩的教训 —— 自演化的方法论根基
- 欢迎进入体验时代 —— 自演化的目的地
- CS224N L10 · RAG 与 Language Agents —— 课堂版基础
- CS224N L12 · 大模型推理(上) —— 与 §3.7 参数型演化密切
参考文献
本综述涉及的主要工作(按章节顺序,含 arXiv 编号便于检索):
- Schmidhuber, J. (2003). Gödel machines: Fully self-referential optimal universal self-improvers. Technical Report, IDSIA.
- Zoph, B., & Le, Q. V. (2017). Neural architecture search with reinforcement learning. ICLR.
arXiv:1611.01578 - Jaderberg, M., et al. (2017). Population based training of neural networks.
arXiv:1711.09846 - Zelikman, E., Wu, Y., Mu, J., & Goodman, N. D. (2022). STaR: Bootstrapping reasoning with reasoning. NeurIPS.
arXiv:2203.14465 - Yao, S., et al. (2023). ReAct: Synergizing reasoning and acting in language models. ICLR.
arXiv:2210.03629 - Shinn, N., Cassano, F., Berman, E., Gopinath, A., Narasimhan, K., & Yao, S. (2023). Reflexion: Language agents with verbal reinforcement learning. NeurIPS.
arXiv:2303.11366 - Madaan, A., et al. (2023). Self-Refine: Iterative refinement with self-feedback. NeurIPS.
arXiv:2303.17651 - Park, J. S., O'Brien, J. C., Cai, C. J., Morris, M. R., Liang, P., & Bernstein, M. S. (2023). Generative agents: Interactive simulacra of human behavior. UIST.
arXiv:2304.03442 - Wang, G., et al. (2023). Voyager: An open-ended embodied agent with large language models. NVIDIA.
arXiv:2305.16291 - Yao, S., et al. (2023). Tree of Thoughts: Deliberate problem solving with large language models. NeurIPS.
arXiv:2305.10601 - Zhao, A., Huang, D., Xu, Q., Lin, M., Liu, Y. J., & Huang, G. (2024). ExpeL: LLM agents are experiential learners. AAAI.
arXiv:2308.10144 - Yang, C., et al. (2024). Large language models as optimizers (OPRO). ICLR.
arXiv:2309.03409 - Fernando, C., Banarse, D., Michalewski, H., Osindero, S., & Rocktäschel, T. (2023). Promptbreeder: Self-referential self-improvement via prompt evolution. DeepMind.
arXiv:2309.16797 - Khattab, O., et al. (2024). DSPy: Compiling declarative language model calls into self-improving pipelines. ICLR.
arXiv:2310.03714 - Packer, C., et al. (2023). MemGPT: Towards LLMs as operating systems.
arXiv:2310.08560 - Ma, Y. J., et al. (2024). Eureka: Human-level reward design via coding large language models. ICLR.
arXiv:2310.12931 - Yuan, W., Pang, R. Y., Cho, K., Sukhbaatar, S., Xu, J., & Weston, J. (2024). Self-Rewarding Language Models. Meta.
arXiv:2401.10020 - Zelikman, E., et al. (2024). Quiet-STaR: Language models can teach themselves to think before speaking.
arXiv:2403.09629 - Liu, X., et al. (2024). AgentBench: Evaluating LLMs as agents. ICLR.
arXiv:2308.03688 - Zhang, Z., et al. (2024). A survey on the memory mechanism of large language model based agents.
arXiv:2404.13501 - Xi, Z., et al. (2024). AgentGym: Evolving large language model-based agents across diverse environments.
arXiv:2406.04151 - Opsahl-Ong, K., et al. (2024). Optimizing instructions and demonstrations for multi-stage language model programs (MIPRO).
arXiv:2406.11695 - Putta, P., et al. (2024). Agent Q: Advanced reasoning and learning for autonomous AI agents.
arXiv:2408.07199 - Hafner, D., Pasukonis, J., Ba, J., & Lillicrap, T. (2023). Mastering diverse domains through world models (DreamerV3).
arXiv:2301.04104 - Shumailov, I., Shumaylov, Z., Zhao, Y., Gal, Y., Papernot, N., & Anderson, R. (2024). AI models collapse when trained on recursively generated data. Nature.
- Singh, A., et al. (2023). Beyond human data: Scaling self-training for problem-solving with language models (ReST-EM). DeepMind.
arXiv:2312.06585 - Du, Y., Li, S., Torralba, A., Tenenbaum, J. B., & Mordatch, I. (2023). Improving factuality and reasoning in language models through multiagent debate.
arXiv:2305.14325 - Holland, J. H. (1975). Adaptation in natural and artificial systems. University of Michigan Press.(经典原典)
- Silver, D., & Sutton, R. S. (2025, preprint). Welcome to the Era of Experience. To appear in Designing an Intelligence, MIT Press. 中文翻译稿
- Sutton, R. (2019). The Bitter Lesson. 中文翻译稿
最后更新:2026-05-20 · NLP 研究生知识库 · 返回主页