Back to list

Agent 的自我反思与自我进化

·17 min read
AGIProduct

人是怎么变好的?

不是靠别人不停地告诉你"你应该这样做"。 而是自己经历了一件事,发现做得不好,想明白问题出在哪里,下次换个方式再来。 这个过程有个名字,叫反思。

我发现 Agent 的进化逻辑也是一样的。

今天大部分 Agent 产品的"人格"是静态的。 System prompt 写好,工具列表配好,上线后就不再变化。 所有的优化依赖开发者手动调整。 用户用了一万次,Agent 的表现和第一次完全一样。

这或许不对。 一个好的 Agent 应当具备适应性,能够根据使用场景的变化和用户的反馈进行自主演进。 不是被动地等人来改,而是在有控制的框架下,自己发现问题,自己提出改进,经过验证后变成更好的自己。

一个不会反思的 Agent,永远停留在创造者的认知水平上。一个会反思的 Agent,可以超越创造者。

这篇文章要探讨的就是这件事:Agent 如何实现可控的自我进化?

一个自进化循环

我把 Agent 的自我进化抽象成一个八步循环。每一步都不复杂,但串起来就形成了一个持续改进的闭环。

这个循环和人的成长路径惊人地相似。 上学时老师让我们做错题本,不是为了罚你,是因为"从失败中学习"是最高效的进步方式。 Agent 也一样,需要一个结构化的"错题本"机制。 想到这里,我释怀了很多。

然后,拆开来看每一步。

对话(Chat)

一切从对话开始。Agent 和用户的每一次交互,都是一次实践。 实践中,有的回答好,有的回答差,有的看似没问题但其实偏离了最优解。 Agent实践的经验是发现问题的前提,这些对话是进化的原始素材。

历史会话(History)

对话不能用完就扔。需要被记录、被索引、可追溯。 这是 Agent 的"经历",没有经历就没有反思的基础。

筛选错题(Focus)

并不是所有对话都值得复盘。 关键是找出那些"做得不够好"的案例。 可以通过用户显式的反馈来标记(评分、点赞等),也可以通过自动化评测来筛选。 就像学生做错题本,先把错题挑出来,而不是把所有题目都重新做一遍。

审视错题(Judge)

挑出错题后,需要一个"阅卷老师"来诊断问题。 这个 Judge 可以是另一个 LLM,也可以是一套规则引擎。 关键不是判对错,而是定位原因:是知识缺失?是理解偏差?是工具选错了?还是 prompt 指令本身有歧义?

诊断的颗粒度决定了后续改进的精准度。

自我反思(Reflection)

这是整个循环里最核心的一步。 基于 Judge 的诊断,Agent 生成具体的改进建议。 不是笼统地说"我应该做得更好",而是输出可操作的 Prompt Patch: "当用户问到 X 类问题时,增加 Y 步骤的检查""在 Z 场景下,优先使用知识库检索而非直接生成"。

反思的质量直接决定了进化的质量。 好的反思是具体的、可验证的、有边界的。坏的反思是模糊的、过度泛化的,甚至是错的。

重新考核(Eval)

反思后新的方案真的有用吗?不一定。 必须经过评测验证:改了之后真的变好了吗?有没有引入新的问题?

Eval 是整个循环的安全阀。没有 Eval 的自进化,不是进化,是随机演化。

这一步需要一套覆盖面足够广的评测数据集,跑全量回归。 不能只看"修好的那道题"分数涨了,还要看其他题有没有跌。

新版本(Version)

通过 Eval 的 Patch 被打包成一个新版本。 版本化意味着可追溯、可对比、可回滚。每一次进化都留下痕迹,知道"从哪里来的改动、为什么改、效果如何"。 不一定每次都是正向优化,可能会时好时坏,人也是一样。但是,总的方向应该是进步的。

发布(Publish)

新版本上线,Agent 带着新的认知继续和用户对话。然后循环再次开始。

整个过程就像一个人在工作中不断成长:做事、犯错、复盘、总结教训、验证改进、应用到下一次。 区别在于,Agent 可以把这个循环跑得更快、更系统化,而且不会因为情绪或惰性跳过反思环节。

业界在做什么

自进化 Agent 在 2025 年成了热门研究方向。 NeurIPS 2025 上集中出了一批相关工作,Stanford 专门开了一门课 CS329A "Self-Improving AI Agents"。 我梳理了几个代表性研究,按思路分成四个流派。

反思循环派

Reflexion(Shinn 2023)是开创性工作。 Agent 执行任务失败后,用自然语言写一段反思,存入记忆,下次重试时注入 context。 在 HumanEval 上把 GPT-4 的 pass@1 拉到了约 91%。简单、有效,但改进是临时的,不持久。

自生成训练派

Self-Challenging Agents(NeurIPS 2025)让 Agent 同时当出题者和解题者。 出题者生成带测试代码的任务,解题者解题,成功案例变成训练数据。 LLaMA-3.1-8B 在工具使用基准上性能翻倍。 SEAL(NeurIPS 2025)则让模型生成自然语言的"自编辑指令",转化为微调数据更新自身。

自改代码派

SICA(Robeyns 2025)最激进:Agent 直接编辑自己的源码(prompt、启发式规则、架构),用 benchmark 验证效果,保留变好的改动。 编程任务上提升了 17% 到 53%。Voyager(Wang 2023)走技能沉淀路线,成功的技能以可执行代码存入 Skill Library,下次直接复用。

框架和记忆派

Gödel Agent(Yin 2024)提出自引用框架:Agent 提议修改自身,但必须通过预定义的改进测试。 DSPy(Stanford)把 prompt 优化变成程序化流程:定义目标、自动搜索最优 prompt、用评测做反馈。 Mem0 和 Letta 在记忆层面做分层管理,为自进化提供数据基础。

横向对比

维度反思循环派自生成训练派自改代码派框架和记忆派
代表工作Reflexion, Self-RefineSelf-Challenging, SEAL, STaRSICA, VoyagerGödel Agent, DSPy, Mem0
改变什么运行时 context模型权重Agent 源码和策略Prompt 配置和记忆
是否持久否(session 级)是(权重级)是(代码级)是(配置/数据级)
验证机制任务成功与否训练 loss + benchmark代码测试 + benchmarkEval 数据集
部署复杂度低(纯推理)高(需要训练管线)中(需要沙箱)中(需要评测体系)
风险等级中(bias 放大)高(代码安全)低到中
适用场景快速迭代、单次任务有明确标签的任务编程和结构化任务产品级 Agent

共识和方向

四个流派看似路线不同,但有几件事已经是共识。

第一、反思能力是基础

不管是 Reflexion 的语言反思,还是 SEAL 的自编辑指令,还是 SICA 的代码自审,核心都是"Agent 能看到自己哪里做得不好"。没有这个能力,一切自进化都无从谈起。

第二、验证不可或缺

所有方案都有某种形式的"考核关卡"。Reflexion 看任务是否成功,Self-Challenging 用测试代码,SICA 跑 benchmark,DSPy 用评测指标。无监督的自改进不存在,只有"改了之后被验证为更好"才算数。

第三、改进必须持久化

Reflexion 的局限正在于反思是临时的,session 结束就丢了。后续的研究都在解决这个问题:把有价值的改进沉淀下来,变成 Agent 的"长期记忆"。

我认为正确的方向是框架和记忆派的思路,再结合反思循环派的能力。理由是:对于大多数产品级 Agent,改模型权重太重了(需要训练管线),改源码太危险了(需要极强的沙箱能力),而改 Prompt 配置和记忆是最务实的路径。成本可控,风险可控,效果可验证。

反思提供改进方向,评测提供验证标准,记忆提供持久化。三者结合,就是产品级自进化的最小可行架构。

Yohei Nakajima 在"Better Ways to Build Self-Improving AI Agents"里也得出了类似结论:实际可落地的路线是先做反思循环,再做经验持久化,最后才考虑权重级别的自训练。

风险在哪里

自进化做不好,比不进化更糟。有三个风险必须正视。

Prompt 退化。改好了 A 场景,B 场景的表现下降。这在 prompt 工程中极其常见,因为 prompt 是一个整体,局部优化可能破坏全局平衡。解决方案是每次改动都跑全量回归 eval,而不是只看被修复的那个 case。

幻觉式反思。Agent 可能产生错误的自我诊断。Reflexion 论文明确提到了这个风险:模型会 hallucinate bad reflections and reinforce them。一个 Agent 如果"反思"出"我太保守了所以答错了",然后变得更激进,结果只会更差。

Eval 过拟合。Agent 学会了"做好这套题"而不是"处理好这类问题"。评测数据集必须持续更新,加入新的真实场景,防止 Agent 只是在刷分。

安全设计的核心原则:反思可以自由生成,但改动必须通过验证才能生效。自主性在反思环节,控制权在验证环节。每个版本可追溯、可回滚。这和人在组织中的权限设计一模一样:你可以提任何建议,但上线需要审批。

我的思考

写这篇文章的过程中,我一直在想一个问题:为什么"自我反思"这个能力这么重要?

对人来说,反思是成长的核心驱动力。一个人能不能变好,不取决于他多聪明或多努力,而取决于他能不能诚实地面对自己的不足,并且知道如何改进。很多人工作十年,只是把第一年的经验重复了十遍。真正在进步的人,每一次失败之后都会问自己:哪里做得不好?为什么?下次怎么改?

对 Agent 也一样。一个每天处理一万次对话的 Agent,如果没有反思机制,它就是在把同样的错误重复一万次。有了反思和进化循环,每一次错误都变成下一个版本的养分。

自我批判是进步的前提,不管是人还是 Agent。

但人和 Agent 有一个关键区别。人的反思是内驱的,自己想变好。Agent 的反思目前是被设计出来的,需要一个外部框架来驱动。这也是为什么我把 Eval 放在循环的关键位置上:人有内心的标准,Agent 需要外部的标准。至少现阶段是这样。

从更远的视角看,"学会改进"本身可以成为一种训练目标。RISE(Recursive Introspection)已经在做这件事:不只是训练模型给出正确答案,而是训练它"如何从错误中纠正自己"。如果这个方向走通,未来的 Agent 也许真的能发展出某种"内驱力"。到那时,人和 Agent 的边界会变得更加模糊。

不过在那一天到来之前,我的原则很朴素:在没有足够好的 Eval 覆盖之前,不打开自进化的开关。宁可慢一步,也不让 Agent 在没有安全网的情况下改自己。

毕竟,一个学会了错误教训的 Agent,可能比一个从不反思的 Agent 更危险。

参考

  • Shinn et al., "Reflexion: Language Agents with Verbal Reinforcement Learning", 2023, arXiv:2303.11366
  • Zhou et al., "Self-Challenging Language Model Agents", NeurIPS 2025
  • Zweiger et al., "Self-Adapting Language Models (SEAL)", NeurIPS 2025
  • Robeyns et al., "SICA: A Self-Improving Coding Agent", 2025
  • Wang et al., "Voyager: An Open-Ended Embodied Agent with Large Language Models", 2023, arXiv:2305.16291
  • Yin et al., "Gödel Agent: A Self-Referential Agent Framework for Recursive Self-Improvement", 2024, arXiv:2410.04444
  • Qu et al., "Recursive Introspection: Teaching LLM Agents How to Self-Improve", 2024
  • Khattab et al., DSPy: Compiling Declarative Language Model Calls into Self-Improving Pipelines, Stanford 2024
  • Yohei Nakajima, "Better Ways to Build Self-Improving AI Agents", December 2025
  • Stanford CS329A: Self-Improving AI Agents, Autumn 2025
  • Xiang et al., "A Systematic Survey of Self-Evolving Agents", 2026