1. 背景
一句话理解:Reflection 的出现,是因为单轮 LLM 和 ReAct 都会犯错,而 Agent 需要像人类一样“停下来想一想,哪里不对,怎么改”。
1. 单轮 LLM 的局限:快但容易错
单轮 LLM 已经能完成很多任务,但在复杂、多约束、需要长程一致性的场景下,它的问题显而易见:
- 幻觉:生成看似合理但错误的事实、代码或数据。
- 局部最优:只根据当前 prompt 做“一次性”回答,无法回头修正。
- 忽略约束:面对长 prompt 中的某条细则,模型可能遗漏或理解偏差。
- 无法自检:模型不会主动说“我刚才可能错了”,除非 prompt 明确要求。
这些局限在代码生成、数学推理、法律文书、医学问答、复杂规划等场景尤为致命。
2. ReAct 也会犯错:行动不等于反思
ReAct(Reasoning + Acting)通过“思考 → 行动 → 观察”循环,让 Agent 可以调用工具、获取外部信息。但它仍然存在明显盲区:
| 问题 | 说明 |
|---|---|
| 错误传播 | 早期一步推理错误,后续行动会沿着错误方向继续。 |
| 工具误用 | 选错工具、填错参数、误读返回结果,ReAct 往往不会主动回溯。 |
| 过早终止 | 一旦得到“看起来合理”的答案,Agent 就停止,不会回头验证。 |
| 无质量评估 | ReAct 循环里没有显式的“质量打分”环节,无法量化当前答案有多好。 |
ReAct 让 Agent “能动起来”,但没有让 Agent “能审视自己的动作”。Reflection 填补的正是这一环。
3. 人类元认知的启发
人类的专家在解决复杂问题时,往往不是一次到位,而是经历一个“草稿—检查—修改”的过程:
生成初稿 → 发现漏洞 → 评估严重程度 → 定向修改 → 再次检查这就是元认知(metacognition):对自己的思考过程进行思考。Agent Reflection 正是把这套机制工程化:
| 人类行为 | Agent Reflection 对应 |
|---|---|
| 写完后通读一遍 | Critic 生成批判意见 |
| 判断错误是否严重 | Evaluator 打分或分类 |
| 根据反馈修改 | Revision Controller 驱动 Generator 修订 |
| 改完再检查 | 下一轮 Reflection Loop |
| 不确定时请教他人 | Human-in-the-Loop / 外部验证工具 |
4. Reflection 的演进阶段
Reflection 从简单到复杂,大致经历了以下几个阶段:
| 阶段 | 核心特征 | 代表 |
|---|---|---|
| Prompt 级反思 | 通过 system prompt 或 few-shot 要求模型检查 | 手写 prompt |
| Self-Refine | 同一个模型轮流担任生成者和批判者 | Self-Refine |
| 记忆化反思 | 把反思结论写入长期记忆,影响未来任务 | Reflexion |
| 工具化反思 | 调用编译器、搜索引擎、数据库等外部工具验证 | CRITIC |
| 群体反思 | 多个 Agent 互相审阅、投票、合并意见 | AutoGen Reflect、Multi-Agent 审稿 |
| 内隐反思 | 模型在内部进行长链推理与自我修正 | OpenAI o1 / o3、DeepSeek-R1 |
| 状态化/训练式反思 | 反思结论被结构化沉淀、演化,或经 RL 直接训练进模型 | A-Mem、ACE、SCoRe、PreFlect |
5. 典型应用场景
Reflection 在以下场景中价值最大:
代码生成
- 生成代码后,用静态分析、编译器、单元测试做外部验证。
- Critic 检查是否遗漏异常处理、边界条件、类型安全。
内容创作
- 写作完成后,检查事实准确性、结构清晰度、风格一致性。
- Evaluator 按“可读性、信息量、语法”打分,Generator 定向润色。
规划与决策
- 生成计划后,Critic 检查是否违反约束、资源是否超限、依赖是否闭环。
- Plan Reflection 在抽象层面修正,而非等到执行失败才重试。
工具使用
- 调用外部 API 后,Critic 检查返回结果是否与预期一致。
- 参数错误、权限错误、返回格式异常时,Revision Controller 驱动重试或换工具。
数学与逻辑推理
- 每一步推理后验证中间结论。
- Tree of Thoughts 结合 Reflection 在搜索空间中剪枝。
6. 为什么 Reflection 不是“多采样一次”
有人可能认为:让模型多生成几次选最好的,不就等于反思了吗?其实不然:
| 多采样 | Reflection |
|---|---|
| 并行生成多个答案 | 串行生成—批判—修订 |
| 依赖外部选择器挑最好的 | 内部有明确的打分与修订逻辑 |
| 不解释为什么更好 | Critic 输出具体修改理由 |
| 不积累经验 | 反思结果可写入 Memory |
| 没有外部验证 | 可调用工具获取客观反馈 |
Reflection 的核心价值在于可解释、可量化、可迭代、可沉淀。
7. 2025-2026:反思范式的三次转向
2025 年以来,reasoning models 的爆发和 agentic memory 的成熟,让显式反思(Reflexion 式外部循环)的定位发生了明显变化。业界和学界大致形成了三个共识:
转向一:内隐反思规模化,prompt 级自批判收益收窄
OpenAI o1(2024-09)和 DeepSeek-R1(2025-01)证明了:用强化学习(R1 采用 GRPO)在可验证奖励上直接训练基座模型,模型会自发涌现出自我验证、回溯修正等反思行为——R1-Zero 训练中的“aha moment”模型学会了主动重新评估初始思路。反思从“外部系统编排的循环”部分下沉为“模型权重里的能力”。
但同期研究也给出了一针见血的现实检验:
- SCoRe(Kumar et al., ICLR 2025):仅靠 prompt 要求模型自我纠正基本无效,甚至会让正确答案改错;只有用多轮 on-policy RL 才能训出真正的自纠错能力(MATH +15.6%、HumanEval +9.1%)。
- 《Revisiting the Role of Reflection in Reasoning Models》(2025-10):对 8 个 reasoning model、5 个数学数据集的 rollouts 分析发现,推理模型内部的“反思”大多是确认性的——模型很少真正改变自己的初始答案;反思型训练数据主要提升的是首次作答正确率,而非纠错率。
2026 年,SCoRe 开创的“训练式反思”路线收敛为几条可操作的工程方案:Agentic Critical Training(ACT,2026-03)用 RLVR 训练模型直接判断两个候选动作孰优(平均比模仿学习高 5.85 分);ICRL(2026-05)从共享基座同时训练 solver 与 critic,把自我批判的收益内化进 solver 本体(比 GRPO 平均高 6.4 分,8B critic 以更少 token 比肩 32B);ReflexiCoder(2026-03)在代码生成上验证了 RL 训练“自反思 + 自纠错”的闭环。
同期一项机制研究给出了“为什么同一模型自批判效果差”的解释:《The Self-Correction Illusion》(2026-06,v2 修订于 2026-07)发现,模型难以标记自己推理链中的错误,很大程度上是 chat template 角色标注的产物,而非纯能力缺陷——把同一条错误主张从模型自己的 <thought> 改标为用户消息、工具返回或 <memory> 记忆块,显式纠错率提升 23~93 个百分点(12 组设置中 10 组显著),且最优角色标签随领域变化。这从机制层面解释了独立 Critic、外部化反馈为什么有效。
结论:对前沿推理模型,单纯再加一层“请你检查一遍”的 prompt 循环,收益已经很薄;显式反思的剩余价值集中在外部工具接地(编译器、检索、执行反馈)和跨任务经验沉淀这两件事上。
转向二:从回顾式到前瞻式反思
Reflexion、Self-Refine 都是回顾式(retrospective):先执行、失败、再反思补救。但失败之后再改,代价已经付出:有些错误不可逆,反思过程还会污染轨迹和记忆。2026 年的 PreFlect 等工作提出**前瞻式(prospective)**反思:在执行之前,先对“计划”做批判与修订——在认知窗口内拦截错误,而不是在行动之后追悔。实验上 PreFlect 在 GAIA 基准上超过多个更复杂的 agent 框架,且成本更低。
转向三:反思从“文本”进化为“状态”
Reflexion 把反思写成自然语言塞进记忆,但记忆本身不会生长。2025 年的两条工作改变了这一点:
- A-Mem(NeurIPS 2025):受 Zettelkasten 卡片盒启发,把记忆笔记的构建、链接、演化都做成 agentic 过程,记忆条目会随新经验自主更新关系和摘要。
- ACE(Agentic Context Engineering)(2025-10):把上下文视为一本持续生长的“playbook”,通过“生成 → 反思 → 精选”循环做结构化增量更新,避免传统摘要的上下文坍缩;在 agent 基准上带来约 +10.6% 的提升,小模型(DeepSeek-V3.1)借此在 AppWorld 上追平 GPT-4.1 级别的生产 agent。
同时,agentic 搜索领域(如 Search-R1,2025-03)用 RL 训练模型自主交替“推理与检索”,并涌现出“下结论前再多检索一轮做自我验证”的行为——反思与外部验证在训练时就被融为一体。
本章小结
Reflection 的背景可以追溯到单轮 LLM 的幻觉与 ReAct 的错误传播问题。人类元认知提供了“生成—批判—评估—修订”的直觉框架。工程上,Reflection 从 prompt 级反思逐步演进到 Self-Refine、Reflexion、CRITIC、群体反思与 reasoning models 的内隐反思,并在 2025-2026 年进一步走向状态化记忆(A-Mem、ACE)、前瞻式反思(PreFlect)与 RL 训练式自纠错(SCoRe、ACT、ICRL);2026 年的机制研究(Self-Correction Illusion)与有界推理时反思(EvoResearcher)则分别从“为什么自批判失效”和“如何让反思有界可控”两端补全了图景。它在代码、写作、规划、工具使用、数学推理等需要高正确率的场景中尤为关键。
参考来源
- Self-Refine: Iterative Refinement with Self-Feedback
- Reflexion: Self-Reflective Agents with Verbal Reinforcement Learning
- CRITIC: Large Language Models Can Self-Correct with Tool-Interactive Critiquing
- Tree of Thoughts: Deliberate Problem Solving with Large Language Models
- ReAct: Synergizing Reasoning and Acting in Language Models
- DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning
- SCoRe: Training Language Models to Self-Correct via Reinforcement Learning
- Revisiting the Role of Reflection in Reasoning Models
- PreFlect: From Retrospective to Prospective Reflection in LLM Agents
- A-Mem: Agentic Memory for LLM Agents
- Agentic Context Engineering: Evolving Contexts for Self-Improving Language Models
- Search-R1: Training LLMs to Reason and Leverage Search Engines with RL
- Agentic Critical Training
- ICRL: Learning to Internalize Self-Critique with Reinforcement Learning
- The Self-Correction Illusion: Role Relabeling Gates Explicit Error Flagging in LLMs
- Training-Free Inference-Time Self-Reflection and Cost-Bounded Early Stopping (EvoResearcher)
- Beyond Corrected Actions: Training LLM Agents on Textual Critiques (CAFT)
- LangGraph Blog — Reflection Agents