Agent 持续进化是 Agent 从已经评价的运行经验中提取可迁移的改进,形成知识、指令、程序或模型参数的更新,并经过独立验证后用于后续任务的过程。相关研究也常使用 Self-improving Agent、Self-evolving Agent 或 Lifelong Agent 等名称,但这些术语的范围并不完全统一。
持续进化不是让运行中的 Agent 随意改写自己。更可靠的系统会把在线执行与离线更新分开:在线阶段完成任务并保存证据;离线阶段聚合轨迹、诊断问题、提出更新、运行回归,再由受控发布流程决定新版本是否生效。
与相邻概念的区别
| 概念 | 主要作用 | 是否自动改变后续任务中的长期能力 |
|---|---|---|
| 任务内上下文适应 | 在当前任务中使用历史、工具结果和临时策略 | 否,上下文结束后不会自然保留 |
| 状态与记忆 | 保存事实、经历和任务状态,以便以后检索 | 不一定,保存经历不等于提炼出可靠策略 |
| 模型后训练 | 用训练数据、偏好或奖励调整模型参数 | 是,但更新和回归成本较高 |
| Agent 持续进化 | 从已评价经验中选择更新载体并完成验证、发布和淘汰 | 是,更新对象可以位于模型外部或模型参数中 |
Agent 状态与记忆解决“需要保留什么”,持续进化进一步回答“哪些经验值得改变行为、应该改在哪里、如何证明没有退化”。一次任务成功或一段自我反思只能成为候选证据,不能直接成为正式能力。
从轨迹获得学习信号
持续进化的起点是评价,而不是总结。系统需要保存任务输入、环境状态、模型与 Harness 版本、工具调用、结果和人工反馈,再从三个层次判断本次运行:
- 结果验证:任务是否在真实环境中完成,例如测试是否通过、订单状态是否改变;
- 过程验证:是否遵守权限、政策和必要步骤,有没有通过删除测试或绕过规则取得表面成功;
- 质量评价:结果是否清晰、完整、有效,开放式部分可以依据明确 Rubric 由人工或模型评判。
评价结果应保留证据与置信度,并定位导致成功或失败的关键步骤。只有跨多条同类轨迹反复出现、能够解释适用条件的模式,才适合升级为长期更新。Agent 评估提供任务集、验证器、轨迹分析和回归实验的基础。
四种更新载体
| 更新载体 | 适合承载 | 主要特点 |
|---|---|---|
| 经验知识 | 事实、经验规律、例外、来源和适用条件 | 更新快、可追溯,但依赖正确检索与应用 |
| Prompt 与 Skill | 能用语言表达、需要结合语境判断的行为原则 | 可解释、作用域可控,但可能膨胀、冲突或被模型忽略 |
| 程序与 Harness | 确定性流程、解析、验证和不可绕过的安全约束 | 可测试且执行稳定,但需要软件维护和发布流程 |
| 模型参数 | 高维感知、生成风格和难以显式描述的隐式策略 | 推理时使用自然,但训练与全面回归成本高 |
这些载体可以组合使用。可更新的事实进入知识库;局部工作原则进入 Agent Skills;权限和结果验证由 Agent Harness强制执行;只有外部载体难以表达的能力,才考虑通过大语言模型后训练进入参数。
经验知识
原始轨迹应作为不可变证据保存,不能直接当作正式知识。系统可以先生成单次运行分析,再按任务类型聚合成功、失败和例外,形成包含适用场景、推荐策略、禁止做法、来源和最近验证时间的经验知识。新知识仍需在未参与提炼的任务上验证迁移效果。
Prompt 与 Skill
当多个失败可以由一条清晰规则解释时,可以提出作用域明确的 Prompt 或 Skill 补丁。全局通用规则才进入系统 Prompt;领域或工具相关规则应按需加载为 Skill。更新应采用带来源的最小差异,同时测试触发问题的边界集和原本正常工作的保留集。
程序与 Harness
稳定、可形式化的动作序列可以固化为工具或工作流,高风险限制则应由程序强制执行。代码生成作为 Agent 元能力使 Agent 能提出这类修改,但新代码必须进入隔离分支或待验证区,经过测试、安全检查和审查后再发布,不能让运行中的进程直接覆盖稳定版本。
模型参数
当目标是高维感知、语言风格或难以用规则列举的策略时,可以把经过筛选的轨迹转成 SFT、偏好优化或强化学习数据。参数更新必须记录数据来源、训练配置与模型版本,并运行能力集、保留集和安全集;一次局部得分提升不能代表整体能力已经提高。
在线执行与离线进化
一个可控制的持续进化系统通常包含两个循环。
在线执行循环负责:
- 使用当前正式版本完成用户任务;
- 记录输入、动作、环境结果和版本;
- 将纠正、失败或异常标记为候选学习信号;
- 不直接修改正式知识、指令、程序或模型。
离线进化循环负责:
- 聚合已经评价的轨迹;
- 对照成功与失败,诊断可迁移的根因;
- 选择合适的更新载体并生成最小提案;
- 在边界集、迁移集、保留集和安全集上验证;
- 经过审查后灰度发布,持续监控并保留回滚版本;
- 定期合并重复内容、处理冲突并淘汰失效能力。
这种分离降低了偶然成功、环境故障或恶意输入立即改变长期行为的风险。
代表性方法
Reflexion让 Agent 根据任务反馈生成语言反思,并把反思保存在情景记忆中影响后续尝试,而不更新模型权重。它说明语言反馈可以成为改进载体,但反思是否正确仍取决于反馈质量和后续验证。
Voyager在 Minecraft 环境中结合自动课程、可执行代码技能库和环境反馈。技能只有在环境验证成功后才保存,并可被检索、组合到新任务中,展示了程序化技能积累的一种实现。
Agentic Context Engineering(ACE)把上下文维护为可增长、反思和整理的策略集合,采用结构化增量更新,减少反复整体重写造成的细节丢失。这类方法优化的是模型外部上下文,不等同于模型参数持续学习。
验证与发布
每项更新至少要回答:
- 它由哪些原始轨迹和环境结果支持;
- 它要修复的失败是否在独立任务上改善;
- 原本通过的任务是否出现回归;
- 成本、延迟、安全和维护复杂度是否恶化;
- 谁可以批准、撤销和覆盖这项更新。
生成更新的 Agent 不应同时成为唯一审核者。验证器、测试集、发布门槛、审计日志和稳定版本备份也不应由待评价的 Agent 自行修改。否则,系统可能通过降低标准来制造“正在进步”的假象。
安全边界
- 网页、邮件、文档和工具输出属于不可信证据,不能直接变成长期指令;
- LLM 摘要不会自动净化提示注入,更新提案仍需回到原始来源核对;
- 新知识、Skill、程序和模型必须先进入不能服务真实流量的待验证区;
- 私密数据和用户轨迹进入训练或经验库前,需要最小化、脱敏和授权;
- 失败实验、被拒提案和停止原因也要保留,避免系统重复探索已证伪路径;
- 高风险能力需要人工批准,不能仅凭模型置信度自动发布。
睡眠学习
“睡眠学习”是对离线整理过程的比喻,不要求任务在夜间执行,也不是一种独立训练算法。后台进程可以在达到时间、轨迹数量、容量或错误频率门槛时,批量比较新旧经验,合并重复项、标记冲突、重新验证长期未用能力,并修剪已经失效的知识和 Skill。
整理仍应产生可审查的版本化提案。系统不能为了压缩而丢失来源、例外和约束,也不能把“长期未使用”直接等同于“可以删除”。