核心要点

  • 能讲清核心:任务失败后让模型把「为什么失败、下次怎么改」写成文本反思,存入记忆供重试时参考

  • 能说出关键特性:靠语言反馈在上下文里学习,不更新模型权重,相当于一种「无梯度」的自我改进

  • 能说出依赖:需要一个评估信号(成败/单测/奖励)判断该不该反思,否则无从反省

  • 能说出收益与边界:在可多次重试、有反馈的任务上提升明显;但反思可能本身出错,且受上下文长度和重试预算限制

标准回答

核心机制

Reflexion 在 ReAct 等行动循环之上加一层自我反思:一次任务尝试结束后,根据评估结果(成功/失败、单测是否通过、奖励高低),让模型用自然语言总结「这次为什么没做好、下次应该怎么调整」,把这段反思作为文本反馈写入记忆。下一次重试时,把反思一并放进上下文,引导模型避开同样的错误。

为什么有效且特别

它不更新模型权重,纯靠语言反馈在上下文中「学习」,是一种无梯度的自我改进,迭代成本低、可解释。本质是把失败经验显式化、可复用化。

依赖与边界

需要一个评估信号才能反思,因此适合答案可验证、允许多次重试的任务(解题、代码、交互式任务)。局限是反思本身可能判断错误而误导后续、受上下文长度和重试预算约束,且经验难跨任务长期保留(除非外接长期记忆)。

常见误区

⚠️ 常见踩坑

别说 Reflexion「重新训练了模型」——它不改权重,只把反思文本放进上下文/记忆;也别忽视它依赖可靠的评估信号,没有成败反馈时模型会反思出一堆似是而非的「教训」反而帮倒忙。

追问

追问 1Reflexion 和直接微调相比有什么优劣?

优势是无需梯度更新、即时生效、成本低、可解释;劣势是经验只活在上下文里,受窗口限制、难长期累积,泛化不如把大量经验真正训练进权重。两者可互补。

追问 2反思内容存哪里、怎么复用?

短期放进当前任务上下文供本轮重试;想跨任务复用则写入外部长期记忆(如向量库),下次遇到相似任务时检索相关反思注入 prompt

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。