跳到主要内容

反思与自修复

从输出级自我精炼、跨 trial 经验积累,到架构级自演化,agent 改进自身的三层机制

核心要点

  • Self-Refine:单模型生成-反馈-改进循环
  • Reflexion:失败转语言反馈存入记忆
  • Self-Debugging:测试反馈 + 代码自解释
  • self-evolve: agent 运行时改自己的 scaffold
  • 能力递进:输出级 → trial 级 → 架构级

本文讲 agent 从错误中改进的机制。这些机制依赖"判断对错"的能力,验证机制本身见 04-验证闭环

agent 怎么不靠外部就改进输出?

核心问题:没有测试、没有人审,模型能自己改好自己的答案吗?

Self-Refine 用单模型的生成-反馈-改进三角色循环,无需外部信号也无需额外训练[1]。同一个模型先生成,再对自己的输出提反馈,再据反馈改进,迭代若干轮。

Madaan et al. 在 7 个任务上报告平均约 20% 的绝对提升。它的适用前提是模型评判自己输出的能力强于一次生成的能力——这正是 04-验证闭环 的生成-验证非对称在自我改进上的体现。局限也在此:模型的系统性盲区无法靠自我反馈发现。

Reflexion 比 Self-Refine 强在哪?

核心问题:一次任务多次尝试,怎么让后面的尝试吸取前面的教训?

Reflexion 把每次失败转成语言反思,存入情节记忆供后续 trial 参考,实现跨尝试的积累[2]。这是与 Self-Refine 的关键区别:Reflexion 依赖外部环境反馈(如测试结果),并跨 trial 累积经验。

机制是:一次 trial 失败后,agent 生成一段语言反思("我错在没检查边界"),写入记忆缓冲区;下次 trial 带着这段反思重试。HumanEval pass@1 达 91%,超越 GPT-4 当时的 80%。可借鉴的设计:把失败显式转成可读的教训并持久化——这与 03-记忆系统 的情节记忆是同一思路,反思即一种写入记忆的经验。

代码怎么自修复?

核心问题:agent 生成的代码有 bug,怎么让它自己调?

Self-Debugging 让模型用单元测试反馈加"代码自解释"(橡皮鸭调试)定位并修复 bug[3]。模型先逐行解释自己生成的代码,再结合测试失败信息修正。

Chen et al. 报告在 Spider 最难问题上 +9%、TransCoder/MBPP 上最高 +12%,且样本效率可匹配 10× 的候选生成。这条路径的关键是有可执行反馈(测试)做锚——纯靠模型自查容易自我确认,接上测试信号才稳(验证机制见 04-验证闭环)。

agent 能改自己吗?

核心问题:反思改的是输出,能不能改 agent 自身?

self-evolve 让 agent 在运行时自主修改自己的 scaffold 和工具,把自我改进从输出级提到架构级[4]。Live-SWE-agent 在解任务过程中改自己的脚手架,无需离线训练,在 SWE-bench Verified 上达 77.4%。

这是三层能力递进的顶端:输出级(Self-Refine 改答案)→ trial 级(Reflexion 跨尝试积累)→ 架构级(self-evolve 改 agent 自身)。越往上自主性越高,但也越难控制和验证。可借鉴的判断:自我改进有层次,先用成熟的输出级/trial 级反思,架构级自演化目前仍是前沿

Takeaway

知识点核心结论
Self-Refine单模型生成-反馈-改进,无需外部信号,约 +20%
Reflexion失败转语言反思存记忆,跨 trial 积累,HumanEval 达 91%(超 GPT-4 80%)
Self-Debugging测试反馈 + 代码自解释,有可执行反馈做锚
self-evolve运行时改 scaffold/工具,架构级自我改进
能力递进输出级 → trial 级 → 架构级,自主性与风险同增

参考资料

  1. Madaan et al. Self-Refine: Iterative Refinement with Self-Feedback. arXiv:2303.17651, 2023. https://arxiv.org/abs/2303.17651
  2. Shinn et al. Reflexion: Language Agents with Verbal Reinforcement Learning. arXiv:2303.11366, 2023. https://arxiv.org/abs/2303.11366
  3. Chen et al. Teaching Large Language Models to Self-Debug. arXiv:2304.05128, 2023. https://arxiv.org/abs/2304.05128
  4. Xia et al. Live-SWE-agent: Can Software Engineering Agents Self-Evolve on the Fly? arXiv:2511.13646, 2025. https://arxiv.org/abs/2511.13646

延伸阅读