1. Self-Refine 的工作机制
Self-Refine 由 Madaan 等人于 2023 年提出,是最基础的自我修正框架。它让同一个 LLM 依次扮演三个角色:
- 生成器(Generator):针对任务创建初始草稿
- 批判器(Feedback):评估自身输出并提供具体的改进建议
- 精炼器(Refiner):利用反馈重写输出
这个"生成-反馈-修正"的循环可以重复多次,平均在 7 类任务上实现了约 20 个百分点的性能提升。整个过程不需要额外训练、不需要外部工具,完全通过推理阶段的提示词控制。
2. 关键差异对比
反思式推理(特指 Reflexion 框架)与 Self-Refine 的核心区别体现在三个方面:
- 反思对象不同:Self-Refine 只修改答案本身,不反思推理过程;Reflexion 会深度复盘"为什么出错"的过程层面反思,并改进后续策略
- 工具调用能力不同:Self-Refine 不涉及外部工具调用,纯粹是文本层面的迭代优化;Reflexion 可以与工具和环境交互,在行动-观察循环中进行反思
- 记忆持久性不同:Self-Refine 的反思仅在当前任务的迭代中生效,任务完成后即丢弃;Reflexion 将反思写入情景记忆,跨任务和跨会话持续发挥作用
3. 选型建议
根据任务特性选择合适的反思方案:
- 任务简单明确、只需提升单次输出质量 → Self-Refine 足够
- 任务需要调用外部工具、涉及多步骤执行 → Reflexion 更合适
- 任务可重复执行且能从历史经验中受益 → Reflexion 的记忆机制带来额外价值
- 对延迟和成本高度敏感 → Self-Refine 更加轻量
在实际工程中,这两种方法经常被组合使用:Self-Refine 用于单轮输出的质量打磨,Reflexion 用于跨轮次的策略优化和经验积累。