让模型自我检查,比让它一次写对更靠谱
约 3 分钟1 阅读
我以前写提示词,总想让它一次写对。
逻辑很朴素:模型强了,一次过不就省事了吗。于是我会在提示词里堆要求:「请确保准确」「请仔细检查」「请避免错误」。堆完发现没用,该错还是错,而且我连它错在哪都不知道——它一口咬定自己是对的。
后来我换了个思路,效果立刻不一样了。
把一次任务拆成两段
我不再要求它一次写对,而是让它分两步:第一步先写出初稿,第二步自己复审初稿、挑出问题、改一版给我。
就这一个动作,质量明显上一个台阶。错率降了,而且更关键的是,它的输出里多了一段「自评」,告诉我它改了哪里、为什么改。这些信息比最终答案还值钱——我能看见它的判断过程,错了好定位,对了也好确认。
为什么两段比一段强
后来我想了想这事为什么有效。
第一段,模型在「写」;第二段,模型在「审」。这是两种不同的模式。写的时候它在生成,审的时候它在挑刺。同一个模型,让它一边写一边自检,它倾向于放过自己;让它写完再回头审,它会切换成一个相对挑剔的视角。
这跟人一样。你写完一篇文章当时看,看不出毛病;放半小时再读,满眼都是问题。模型也需要那个「放一下再读」的距离。
一个细节决定成败
但有两段式要生效,第二步的提示词有个关键:不能只说「请检查并修改」,要让它说出改了什么、为什么。
我试过两种写法:
- 「请检查初稿并修改」→ 它改了,但说不清改了啥,等于给我个新答案让我自己 diff。
- 「请逐条检查初稿的问题,说明每处修改的理由,再给出修订版」→ 它会列出一二三处问题、每处为什么、怎么改,清晰得多。
第二种让我能审计它的修改。它偶尔会「改错」——把对的改成错的,但因为有理由可查,我能抓出来。第一种它改错了我也看不出来。
成本和取舍
两段式会贵一倍,因为跑两次。所以不是所有任务都值得。
我的用法:
- 错了代价高、需要可审计的任务(方案、对外文案、有逻辑判断的输出)→ 两段式。
- 机械任务、错了无所谓重跑就行(格式转换、批量抽取)→ 一次过。
一个反直觉的收尾
很多人觉得「一次写对」是高级用法,两段是退而求其次。我的体感正相反:承认模型一次写不好,让它自查,是比逼它一次写对更聪明的用法。
前者把模型当神,结果被它的自信骗;后者把模型当人——一个写完需要复核的人。后者更贴近它的真实能力,也让你对产出更有底。
