自反思提示(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)」与「零样本提示」教程
本文累计阅读