青蛙小白

Reflexion(反思)

Reflexion 由 Noah Shinn 等人于 2023 年提出(论文《Reflexion: Language Agents with Verbal Reinforcement Learning》,中文译名《语言智能体的语言强化学习》)。核心思想是在 ReAct 的执行循环外加一层语言自评估(verbal self-reflection):每次尝试失败后,Agent 不直接重试,而是先用自然语言回顾"哪里出了问题、下次怎么做不一样",把这段反思写入情节记忆(episodic memory),再次尝试时将反思作为额外上下文读入,避免重蹈覆辙。

这种机制不依赖梯度更新权重,而是依赖语言推理在上下文内完成"试错 → 总结 → 改进"的闭环——本质上是把人类"做完一遍、复盘、再来"的学习模式编码进 Agent Loop。

三个角色分工

Reflexion 框架在内部引入三个独立角色:

  1. Actor(执行者):基于当前策略执行 ReAct 循环,产生行动轨迹
  2. Evaluator(评估者):判断 Actor 的轨迹好不好——是否达到目标
  3. Self-Reflection Model(自省模型):根据 Evaluator 的信号生成语言反思,将反思追加到情节记忆

三者形成外层循环:Actor 执行 → Evaluator 评分 → 若失败则 Self-Reflection 生成反思 → Actor 带着反思重试。

与 ReAct 的关系

维度ReActReflexion
推理轨迹Thought-Action-Observation同上(ReAct 作为内层循环)
失败处理继续下一步 Thought先反思失因,写入情节记忆
跨轮记忆把反思结果带入下一轮尝试
适合场景大多数工具调用任务试错密集型任务(搜索、代码调试)

Reflexion 不是 ReAct 的替代,而是在 ReAct 循环外加了一个"复盘层"。

典型应用场景

Reflexion 在以下场景比纯 ReAct 更有优势:

  • 多步决策任务:如 AlfWorld(交互式文字游戏环境),Reflexion 相较基础 ReAct 有显著提升
  • 代码生成与调试:失败用例 → 反思错误 → 修改代码,比盲目重试效率更高
  • 搜索密集型推理:每次搜索结果不理想时总结信息缺口,引导下一次更精准的查询

局限性

Reflexion 依赖模型能生成有效的反思内容。如果模型本身无法准确判断失败原因,反思质量低,积累的情节记忆反而引入错误前提,导致后续尝试越偏越远。此外,每轮都追加反思记忆会快速扩大上下文,带来 Context Rot(上下文腐烂) 风险。

在循环演进中的位置

Reflexion 属于第二代(Gen 2,2022–2023)Agent Loop(智能体循环) 架构,与 ReActPlan-and-Execute(规划与执行) 同属这一代的代表性模式。三者各自探索提升多步 Agent 循环质量的不同路径:ReAct 引入显式推理轨迹,Reflexion 引入跨轮自我校正,Plan-and-Execute 引入执行并行化。

相关概念

参考来源
  1. 1. https://arxiv.org/abs/2303.11366
  2. 2. http://datasciencedojo.com/blog/agentic-loops-explained-from-react-to-loop-engineering-2026-guide/
评论