promptgarten 🌱
🌍 DE
Prompt 模式●●○5 分钟 · +40 XP

自我批评循环(Self-Critique Loop):让模型检查自己的输出

另起一轮独立的检查,比在同一次回答中要求“仔细一点”能发现更多错误。

原理

在自我批评循环(先批评后修订,Critique-then-Revise)中,你让模型先在一个单独的步骤中评估自己给出的方案——然后才进行修改。这与在一次提示中要求“仔细解决这个任务”不同,它分成有意识的几个步骤:先生成,再检查,然后改进。

为什么分开进行效果更好

如果你在同一次请求中既要方案又要求仔细检查,模型往往会在生成方案的同一条思路里评估自己的输出——某个特定思维方向导致的错误通常就发现不了。而另起一轮、以全新的视角审视已完成的输出,反而更容易发现生成过程中本身看不见的错误。

一个实践示例

用全新上下文进行审查:你在一个新的请求中只提供最终代码(不包含之前的思考过程),并明确要求查找错误。由于不记得自己之前的“论证过程”,模型审查代码时会更中立。

局限:自我确认

自我批评循环并不能保证结果没有错误。如果对任务本身存在根本性的误解,模型往往会在自己的检查中重复同样的误解。要获得真正独立的判断,需要借助第二个模型或人工作为审查方。

示例

步骤1(新请求):“写一个校验日期格式为DD.MM.YYYY的函数。” 步骤2(另起一个全新请求,只输入最终代码作为输入):“这是一个日期校验函数。请查找其中的错误和边缘情况,不需要知道它是如何或为什么这样写的。” 步骤3:“根据这些反馈修改这个函数。”

🛠️ 练习——自己动手试试

为一个小型编程任务搭建一个两阶段的自我批评循环。

  1. 让模型写一个小函数(例如日期校验)。
  2. 开启一个全新的独立请求,只输入最终代码、不包含之前的对话记录,并要求“找出这段代码中的错误和边缘情况”。
  3. 让模型根据反馈写出修改后的版本。
  4. 比较最初版本和修改后的版本。

自查清单

  • 全新的检查轮次是否发现了最初编写时没有注意到的问题?
  • 如果在同一轮回答中只说“仔细一点”,是否也能得到同样的结果?

小测验

为什么另起一轮独立检查,往往比在同一次回答中要求“仔细一点”能发现更多错误?

分享:𝕏in💬

来源

相关主题

Human-in-the-Loop(人工介入):agent 流程里,人应该在哪里把关 ●●○Multi-Agent Patterns(多智能体协作模式) ●●●用 AI 做 code review:全新视角,而不是自我打分 ●●○Evals——系统化测试 prompt 与模型 ●●○