自反思提示(Self-Refine):让模型自己改自己
Self-Refine 是一种让大模型先产出初稿、再自我批评、再修订的提示策略。它把一次输出拆成「生成—反馈—修订」的循环,在代码、写作、推理等任务上往往能明显提升质量。该方法出自 Madaan 等人的工作(NeurIPS 2023,已核验)。
核心闭环
- 生成:让模型基于任务描述产出第一版答案。
- 反馈:让模型站在评审者角度指出问题,例如逻辑漏洞、语法错误、遗漏要点。
- 修订:让模型根据反馈重写,产出第二版。
- 迭代:可重复 1 到 3 轮,通常前两轮收益最大,之后边际递减。
与 CoT、ToT 的区别
- CoT 是在一次回答内分步推理,线性展开。
- ToT 是树状搜索,探索多条路径并回溯。
- Self-Refine 是单条路径的反复打磨:先写后改,靠自我评估收敛,不额外搜索。
- 三种方法可叠加使用,例如先 CoT 出方案,再 Self-Refine 打磨。
什么时候有效
- 代码与数学:初稿常有小错,反馈环节能定位到具体行。
- 写作润色:语气、结构、说服力的迭代改进明显。
- 有客观或可自检标准的任务收益更大;纯主观创作收益不稳定。
局限与注意
- 模型的自我批评能力是瓶颈:模型强,反思才有用;模型弱,往往自我感觉良好。
- 多次调用成本翻倍,需在质量与延迟之间取舍。
- 反馈阶段应给出明确评审维度,否则修订可能只是措辞变化。
小结
Self-Refine 用「先写再改」的闭环提升输出质量,简单、无需额外训练,但与 CoT/ToT 是互补关系。把它当作默认的多轮修订手段,在高质量任务上收益显著,同时留意成本与自我评估上限。
参考与延伸阅读
- Self-Refine: Iterative Refinement with Self-Feedback,NeurIPS 2023(已核验)
- 本站「思维树(ToT)」与「零样本提示」教程
本文累计阅读 — 次