标准回答
核心机制
Reflexion 在 ReAct 等行动循环之上加一层自我反思:一次任务尝试结束后,根据评估结果(成功/失败、单测是否通过、奖励高低),让模型用自然语言总结「这次为什么没做好、下次应该怎么调整」,把这段反思作为文本反馈写入记忆。下一次重试时,把反思一并放进上下文,引导模型避开同样的错误。
为什么有效且特别
它不更新模型权重,纯靠语言反馈在上下文中「学习」,是一种无梯度的自我改进,迭代成本低、可解释。本质是把失败经验显式化、可复用化。
依赖与边界
需要一个评估信号才能反思,因此适合答案可验证、允许多次重试的任务(解题、代码、交互式任务)。局限是反思本身可能判断错误而误导后续、受上下文长度和重试预算约束,且经验难跨任务长期保留(除非外接长期记忆)。
常见误区
⚠️ 常见踩坑
别说 Reflexion「重新训练了模型」——它不改权重,只把反思文本放进上下文/记忆;也别忽视它依赖可靠的评估信号,没有成败反馈时模型会反思出一堆似是而非的「教训」反而帮倒忙。
追问
追问 1:Reflexion 和直接微调相比有什么优劣?
优势是无需梯度更新、即时生效、成本低、可解释;劣势是经验只活在上下文里,受窗口限制、难长期累积,泛化不如把大量经验真正训练进权重。两者可互补。
追问 2:反思内容存哪里、怎么复用?
短期放进当前任务上下文供本轮重试;想跨任务复用则写入外部长期记忆(如向量库),下次遇到相似任务时检索相关反思注入 prompt。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。