自我反思与修正(Self-Reflection)
别名:自我修正反思循环ReflexionSelf-Correction自我批评
| 分类 | 🧠 基础概念 |
| 阅读时间 | ⏱️ 16 分钟 |
| 更新时间 | 📅 2026-07-16 |
| 条目编号 | ENC-CONCEPT-23-self-reflection |
自我反思指 Agent 在产出后对自身结果进行审视、发现错误并修正的能力。它把「一次生成」升级为「生成-批评-改进」的迭代循环,是提升复杂任务成功率的核心机制。
关键要点 ✦
- 自我反思把「一次生成」升级为「生成-批评-改进」循环
- 经典范式 Reflexion:用反馈记忆驱动下一轮修正
- 反思可由同一模型、另一模型或外部工具(测试/编译)提供
- 迭代次数需设上限,避免无限循环与成本失控
- 反思显著提升代码、数学等可验证任务的成功率
反思循环如何工作
典型流程:Agent 先给出初稿 → 进入批评阶段,由反思者(可以是同一模型换角色、一个专门 critic 模型,或外部验证工具)指出缺陷 → Agent 基于批评修订 → 再次评估,如此迭代。
Reflexion 框架把批评写入「反思记忆」,使后续尝试避免重复错误,形成经验积累。
反思的反馈来源
① 模型自评:让 LLM 扮演挑剔 reviewer;② 异模型互评:用更强/不同模型交叉审查;③ 工具验证:用编译器、单元测试、网页渲染结果作为客观反馈——这是代码场景最可靠的一种;④ 人类反馈:把人工纠正作为反思信号。
工程权衡
反思提升质量但有代价:每多一轮就多一份 token 与延迟。需设最大迭代次数与收敛判据(如测试通过即停)。经验上,2–3 轮反思在成本与收益间最平衡。
🎯 应用场景
代码生成
生成后跑测试,失败则自我修正直到通过。
数学/逻辑题
反思步骤正确性,定位并纠正推理漏洞。
长文写作
先写后审,检查事实、结构与重复再润色。
✅ 最佳实践
- 为反思循环设置迭代上限,防无限循环烧钱
- 优先用客观工具(测试/编译)作反思信号
- 把「批评」与「修订」解耦,避免自圆其说
- 保留每轮反思轨迹,便于复盘与质量分析
🔮 未来展望
反思将从显式循环演进为模型的「内禀能力」——推理模型在单次生成中即完成多角度自检;同时多 Agent 互审(辩论式)会成为高利害任务的质量标配。
📖 相关条目
🛠️ 相关产品
🏷️ 标签自我反思Self-Reflection反思自我修正Reflexion迭代