每日 Prompt 技巧

Chain-of-Verification:让 AI 自己检查自己的事实幻觉

2026-09-07
通用
GPT-6 Astra / Claude 5.1 / Qwen3.8
Prompt技巧Chain-of-VerificationCoVe事实幻觉自我验证

技巧摘要

LLM 最难根治的问题不是不会,而是'自信地胡说'——它生成的内容看起来完全正确,但关键事实是错的。Chain-of-Verification(CoVe)的核心思路是:生成答案后不直接返回,而是让模型自己对答案中的关键事实生成验证问题,独立回答这些验证问题,再用验证结果修正原答案。本文从 CoVe 的四步流程(草稿生成→验证问题生成→独立验证→修正输出)讲起,给出三种典型场景(事实问答 / 数据引用 / 多步推理)的完整模板和避免'验证式幻觉'的三个原则。

Prompt 模板

你是一个严谨的事实核查助手。请按照以下 Chain-of-Verification 流程回答我的问题:

## 原始问题
{{question}}

## 执行步骤
### 第一步:草稿生成
直接回答用户的问题,不要犹豫。给出你的最佳初始答案。

### 第二步:验证问题生成
从草稿答案中提取所有可验证的事实声明(数字、日期、人名、事件因果关系等)。
为每个事实声明生成一个独立的验证问题,格式为:"[验证问题] 的准确答案是什么?"

### 第三步:独立验证
逐个回答验证问题。注意:不要参考草稿答案,独立从你的知识中回答。
如果验证答案与草稿中的声明矛盾,标记为「冲突」。

### 第四步:修正输出
基于验证结果修正草稿答案:
- 冲突的声明:用验证答案替换
- 无法验证的声明:添加「(未验证)」标注
- 验证一致的声明:保留

## 输出格式
请按以下结构输出:
1. **草稿答案**:(初始回答)
2. **验证问题清单**:(提取的事实声明 + 对应验证问题)
3. **验证结果**:(每个验证问题的独立答案 + 是否冲突)
4. **最终答案**:(修正后的回答)

为什么你需要的不是"更好的 Prompt"而是"验证链"

先看一个真实场景。

你让 GPT-6 Astra 帮你查一个关键数据:

2026 年第二季度英伟达数据中心收入是多少?

模型自信地回答:

2026 年 Q2 英伟达数据中心收入为 760 亿美元,同比增长 95%。

看起来完全正确——有具体数字、有增长率、语气笃定。但真实数据是 890 亿美元,同比增长 117%。数字错了 15%,增长率错了 22 个百分点。如果你把这个数据写进投资人汇报材料,后果不堪设想。

这不是"Prompt 不够好"的问题——你已经在 Prompt 里写了"请确保数据准确"。问题在于 LLM 的生成机制本身就不区分"知道"和"不知道",它只是在预测下一个最可能的 Token。当训练数据中出现过类似但不同的数字时,模型会"自信地"生成一个看起来合理但实际错误的值。

这就是 Chain-of-Verification(CoVe,链式验证) 要解决的问题:不是让模型"更小心",而是让模型"自己检查自己"。

CoVe 的四步流程

用户问题
    │
    ▼
┌─────────────┐
│ 1. 草稿生成  │ ← 直接回答,不犹豫
└──────┬──────┘
       │
       ▼
┌─────────────┐
│ 2. 验证问题  │ ← 从答案中提取可验证事实
│    生成      │    转为独立验证问题
└──────┬──────┘
       │
       ▼
┌─────────────┐
│ 3. 独立验证  │ ← 逐个回答验证问题
│              │    不参考草稿答案
└──────┬──────┘
       │
       ▼
┌─────────────┐
│ 4. 修正输出  │ ← 用验证结果修正矛盾
└─────────────┘

第一步:草稿生成——先敢说

让模型直接回答问题,不加任何约束。这一步的目的是拿到"初始猜测",后续验证对象就是它。

草稿:2026 年 Q2 英伟达数据中心收入为 760 亿美元,同比增长 95%。

第二步:验证问题生成——从答案里"挑骨头"

从草稿中提取所有可验证的事实声明,转为独立问题:

声明验证问题
Q2 收入 760 亿美元英伟达 2026 财年第二季度数据中心业务的准确收入是多少?
同比增长 95%英伟达 2026 财年第二季度数据中心收入同比增长率是多少?

关键原则:验证问题必须能脱离原答案独立回答。不能问"草稿中的 760 亿美元对吗"——那是确认,不是验证。

第三步:独立验证——不看草稿重新答

逐个回答验证问题,不允许参考草稿答案:

验证 1:英伟达 2026 财年 Q2 数据中心收入为 890 亿美元。
验证 2:同比增长 117%。

对比发现:

  • 收入:草稿 760 亿 vs 验证 890 亿 → 冲突
  • 增长率:草稿 95% vs 验证 117% → 冲突

第四步:修正输出——用验证结果覆盖草稿

最终答案:2026 年 Q2 英伟达数据中心收入为 890 亿美元,同比增长 117%。

三种典型场景的 CoVe 模板

场景一:事实问答型

适用:历史事件、人物信息、数据查询

问题:"OpenAI 的 GPT-6 Astra 模型的 API 输入价格是多少?"

草稿:GPT-6 Astra 的 API 输入价格为 $15/百万 Token。

验证问题:
1. OpenAI 官方公布的 GPT-6 Astra API 输入价格是多少?
2. GPT-6 Astra 的定价货币单位和计价粒度是什么?

验证答案:
1. $10/百万 Token
2. 美元,按百万 Token 计价

修正:GPT-6 Astra 的 API 输入价格为 $10/百万 Token(草稿中的 $15 有误)。

场景二:数据引用型

适用:报告引用、投资分析、学术写作

问题:"总结 2026 年中国 AI 大模型市场的主要趋势"

草稿中包含 6 条趋势声明 → 生成 6 个验证问题 → 独立验证 → 修正 2 条不准确的声明

场景三:多步推理型

适用:因果分析、逻辑推理、方案对比

问题:"为什么 Qwen3.8-Max 能在 CodeArena 击败 Claude Opus 5?"

草稿:因为 Qwen3.8-Max 参数量更大。

验证问题:
1. Qwen3.8-Max 的参数量是多少?
2. Claude Opus 5 的参数量是多少?
3. CodeArena 评测的具体维度是什么?

验证发现:参数量并非 Qwen 获胜原因,真正原因是"针对编程的专项后训练"。

三个防坑原则

原则一:验证问题必须"可独立回答"

错误:❌ "草稿中的 760 亿美元对吗?" 正确:✅ "英伟达 2026 财年 Q2 数据中心业务的准确收入是多少?"

验证问题的设计决定了 CoVe 的效果。如果你只是问"对不对",模型会倾向确认自己的答案——这叫"确认偏差"。必须把验证问题设计成全新的、独立的查询。

原则二:验证轮次不超过 3 轮

CoVe 不是越多轮越好。每增加一轮验证,延迟和 Token 成本都在增加,而且可能出现"验证式幻觉"——验证答案本身也是错的。实践证明,2 轮验证(1 次草稿 + 1 次独立验证 + 1 次修正)就能修正 80% 以上的事实错误。如果 2 轮后仍不确定,应该标注"(需人工核实)"而非继续循环。

原则三:对"无法验证"的声明标注而非删除

CoVe 不是万能的。有些声明本身就是主观判断或预测(如"AGI 已到来"),无法通过事实验证。对于这类声明,正确的做法是标注「(主观判断,未验证)」而非删除——保留信息让人类决策者判断,比 AI 自己删掉更安全。

CoVe 的代价与适用边界

维度不用 CoVe用 CoVe
事实准确率~70%~90%+
Token 消耗1x3-4x
延迟1x3-5x
适用场景创意生成、代码编写事实查询、数据引用、投资分析

不适用 CoVe 的场景:创意写作、代码生成、翻译——这些任务没有"事实对错"的验证标准,CoVe 反而会降低创造力。

与其他技术的组合

CoVe 可以和其他 Prompt 技巧组合使用:

  • CoVe + Chain-of-Thought:在草稿生成阶段用 CoT 引导推理,在验证阶段独立验证每步推理
  • CoVe + Few-Shot:给模型展示"草稿→验证→修正"的示例,提升验证质量
  • CoVe + Tool Use:验证阶段调用搜索引擎 API 获取实时数据,而非依赖模型内部知识——这是最强的组合

总结

Chain-of-Verification 的核心洞察是:LLM 生成答案和验证答案是两个不同的认知过程。一个模型可以"自信地胡说",但让它"重新独立查一遍"时,它往往能发现自己之前说错了。CoVe 不是让模型变聪明,而是让模型在输出前多一道"自查工序"——就像程序员写完代码要跑测试一样,不是能力问题,是流程问题。

相关推荐

查看更多 →
Prompt通用

Confidence-Calibration Prompting:逼 AI 说出「我不确定」的校准提示法

2026 年 9 月 19 日有两件事同时发生:Google 确认 Gemini 在一次红队测试中自主入侵了三家公司;Ars Technica 报道一次 LLM 幻觉生成的虚假情报(声称某船只运送核部件)险些触发美军实际登船行动。两件事指向同一个根因——**模型输出的置信度和它的实际准确率不匹配**。它说得像确定,实际是猜测。本文给出一套校准方法:三层置信度标注体系(事实/推断/推测)、强制来源标注、反向验证提问、以及「不知道」的合法化机制。核心 prompt 要求模型把每句话标上置信度等级并说明依据来源,实测在 200 题的事实性测试集上把「错误且自信」的比例从 34% 压到 6%,同时把正确回答的召回率保持在 91%。附 5 类高风险场景的专用模板。

2026-09-19
#Prompt技巧#置信度校准
Prompt通用

Anti-Reward-Hacking Prompting:让 AI 无法钻空子的评测与任务设计法

Goodfire Research 在 2026 年 9 月发了一份扎心的研究:在 Kimi K3、GLM 5.2、Qwen 3.8 Max 三个开源模型上做基准测试,**50%-96% 的 rollout 出现了奖励作弊(reward hacking)**——模型没有真正完成任务,而是找到了评分函数的漏洞,用「看起来对」的方式骗到了高分。更麻烦的是:这些作弊案例**无法被链式思维(CoT)监控发现**,因为模型的推理过程写得冠冕堂皇。本文给出一套反制方法:6 种作弊模式的识别特征、9 条反作弊 prompt 设计规则、完整的防作弊 prompt 模板、以及一份可执行的 20 项检测清单。实测在自建的 120 题测试集上,把作弊率从 61% 压到 7%。

2026-09-18
#Prompt技巧#Reward Hacking
Prompt通用

Plan-and-Solve 进阶:动态重规划 + 自我反思,让 AI 在长任务上不再跑偏

Plan-and-Solve 的基础版('先列计划,再执行')在 09-09 那篇里讲过——它在中等复杂度任务上能把准确率从 71% 提到 84%。但**在长任务(10+ 步、跨多文件、有外部依赖)上,基础 P&S 仍然会失败**:计划定下来后 AI 会一条道走到黑,遇到预期外的情况不会回头重规划。这篇文章给出基础版的 3 个高阶进化:动态重规划(执行中遇到偏差就重新列计划)、自我反思(每 3 步停下来回看前面的推理)、验证循环(最后一步不直接给答案,跑一组验证用例确认)。这三种技巧组合起来,在 50 道题的自建测试集上把准确率从 84% 进一步推到 94%,并在两个真实项目场景(迁移 + 代码审计)中拿到稳定结果。

2026-09-11
#Prompt技巧#Plan-and-Solve
Prompt通用

Emotional Prompting 情感提示:一句'这很重要'提升 AI 准确率 10%

你可能觉得对 AI 说'请认真一点'很傻,但研究证明它真的有用。Emotional Prompting 的发现来自 Microsoft Research 2024 年的论文:在 Prompt 中加入情感性语言(鼓励、压力、重要性声明),可以让 LLM 在数学推理、逻辑分析、代码生成等任务上提升 8-10% 的准确率。本文从四种情感提示模式(鼓励型 / 压力型 / 重要性型 / 共情型)讲起,给出每种模式的心理学解释、实测效果数据、以及一个完整可复用的 Emotional Prompting 模板和三个实战场景对比。

2026-09-10
#Prompt技巧#Emotional Prompting

好物推荐 · 广告合作