每日 Prompt 技巧

Self-Consistency 自洽性:让模型多次采样投票,把单次推理的准确率提升 20%

2026-08-07
分析
Claude / GPT-4
Prompt技巧Self-Consistency自洽性推理增强

技巧摘要

CoT 让模型线性推理,但单次推理可能走错路径。Self-Consistency 让模型对同一问题生成多条推理链,再对最终答案投票取多数,用'群体智慧'抵消单次偏差。本文拆解 Self-Consistency 与 CoT、ToT 的差异,给出采样参数调优、投票策略选择与适用场景判断。

Prompt 模板

请用「Self-Consistency」策略解决以下问题。你需要生成多条独立的推理链,再对答案投票。

## 执行步骤
1. 对问题生成 5 条独立的推理链(每条用不同思路)
2. 每条推理链必须完整:前提 → 推理 → 答案
3. 5 条推理链之间不要互相参考
4. 统计 5 个答案,取出现次数最多的作为最终答案
5. 若出现平票,列出并列答案并说明选择理由

## 输出格式
### 推理链 1
思路:...
答案:...

### 推理链 2
思路:...
答案:...

(...共 5 条)

### 投票结果
答案分布:A ×2, B ×2, C ×1
最终答案:...

## 问题
{在此填入你的问题}

为什么需要 Self-Consistency

我们已经讲过 CoT(线性推理)、ToT(多路搜索)、Step-back(抽象)、Prompt Chaining(流水线)、Few-shot(示例学习)。它们都在增强推理质量,但有一个共同盲区:

单次推理即使用了 CoT,也可能在某一步走错,导致最终答案错误。

Self-Consistency(Wang et al., 2022, Google Brain)的思路极其朴素:

让模型对同一问题独立推理多次,取多数答案作为最终结果。

这本质上是把"一个人的判断"变成"一群人的投票",用群体智慧抵消个体偏差。论文显示,在 GSM8K 数学题上,Self-Consistency 把 CoT 的准确率从 56% 提升到 74%。

与 CoT、ToT 的本质差异

维度CoTSelf-ConsistencyToT
推理路径1 条N 条独立树形搜索
路径关系互相独立有分支关系
答案选择直接取唯一答案投票取多数自评选最优
计算成本N×(通常 5-10×)3-5×
适合任务通用推理有唯一解的任务创意/决策
准确率提升基线+15-20%+10-15%

关键区别:CoT 是"想一次",Self-Consistency 是"想多次再投票",ToT 是"边想边评估边剪枝"。三者可叠加:每条推理链内部用 CoT,多条链之间用 Self-Consistency。

核心原理

Self-Consistency 基于两个假设:

  1. 正确答案比错误答案更容易被达到:对数学题,正确答案只有一种,错误答案五花八门。5 次推理中正确答案出现 3 次的概率远高于任一错误答案出现 3 次。
  2. 高温采样能生成多样推理路径:temperature=0.7-1.0 时,模型每次走不同推理路径,增加覆盖正确路径的概率。
问题:一个班 32 人,男生比女生多 4 人,女生多少人?

推理链 1(正确):(32-4)/2 = 14
推理链 2(正确):女生 x,男生 x+4,x+x+4=32,x=14
推理链 3(错误):32-4 = 28
推理链 4(正确):32/2 - 4/2 = 16-2 = 14
推理链 5(错误):32-4*2 = 24

投票:14 ×3, 28 ×1, 24 ×1 → 最终答案 14

3 条正确路径胜过 2 条错误路径,投票结果正确。

采样参数调优

Self-Consistency 的效果取决于采样多样性:

参数推荐值说明
temperature0.7-1.0太低(<0.5)路径重复无意义,太高(>1.2)推理质量下降
top_p0.95配合 temperature 控制多样性
采样次数 N5-10N=5 性价比最高,N>10 收益递减
max_tokens足够长推理链需完整,截断会导致答案缺失

调优经验

  • 数学/逻辑题:temperature=0.7,N=5
  • 常识问答:temperature=0.5,N=3(答案空间小,不需太多采样)
  • 复杂推理:temperature=1.0,N=10(路径差异大,需更多采样覆盖)

三种投票策略

策略 1:多数投票(Majority Vote)

最简单,取出现次数最多的答案:

from collections import Counter
answers = [14, 14, 28, 14, 24]
result = Counter(answers).most_common(1)[0][0]  # 14

适合:数学题、分类题等有唯一解的任务。

策略 2:加权投票(Weighted Vote)

根据推理链的"置信度"加权:

推理链 1:答案 A,置信度 0.9(推理逻辑严密)
推理链 2:答案 B,置信度 0.5(推理有跳跃)
推理链 3:答案 A,置信度 0.7

加权得分:A = 0.9+0.7 = 1.6, B = 0.5 → 最终答案 A

适合:开放性问答,答案质量比数量更重要。

策略 3:一致性过滤(Consistency Filter)

只保留推理链间一致的答案:

5 条推理链 → 答案分布 A×2, B×2, C×1
若无绝对多数(≥50%),标记"低置信度",需人工介入

适合:高风险场景(医疗、法律),宁可不答也不答错。

实战示例:用 Self-Consistency 做数学应用题

请用 Self-Consistency 解决以下数学题。生成 5 条独立推理链。

## 问题
小明买了一些苹果和橘子,苹果每个 3 元,橘子每个 2 元。
他一共花了 30 元,买了 12 个水果。苹果和橘子各多少个?

## 要求
1. 生成 5 条推理链,每条用不同方法(方程法/算术法/试错法/消元法/图示法)
2. 每条独立完成,不参考其他推理链
3. 最后统计答案并投票

5 条推理链输出后:

### 投票结果
推理链 1(方程法):苹果 6,橘子 6
推理链 2(算术法):苹果 6,橘子 6
推理链 3(试错法):苹果 6,橘子 6
推理链 4(消元法):苹果 6,橘子 6
推理链 5(图示法):苹果 6,橘子 6

答案分布:苹果 6 橘子 6 ×5
最终答案:苹果 6 个,橘子 6 个

5 条全一致 = 高置信度。若 4:1 或 3:2,仍取多数但标注"中置信度"。

何时该用 Self-Consistency

✅ 适合

  • 数学计算:有唯一正确答案,错误路径分散
  • 逻辑推理:前提明确,结论可验证
  • 事实问答:答案唯一,可投票
  • 代码生成:多个实现方案,取最一致的接口设计
  • 分类任务:类别有限,投票有效

❌ 不适合

  • 创意写作:没有"正确答案",投票无意义
  • 开放对话:答案空间无限,投票分散
  • 实时场景:N 次采样耗时 N 倍,延迟敏感场景不适用
  • 成本敏感:N=5 意味着 5 倍 API 费用

与其他 Prompt 技巧的叠加

组合效果适用场景
CoT + Self-Consistency每条链用 CoT,多条链投票数学推理(经典组合)
Few-shot + Self-Consistency示例引导 + 多次采样格式化抽取
Step-back + Self-Consistency先抽象原则,多次采样求解科学推理
Chaining + Self-Consistency某步用 SC 保证准确流水线关键节点

经典组合:CoT + Self-Consistency 是论文原始方案,也是性价比最高的组合。

常见误区

  • 误区 1:采样次数越多越好。N>10 后准确率提升趋平,成本线性增长。N=5 是性价比拐点。
  • 误区 2:temperature 越高越多样。temperature>1.2 时推理质量崩塌,多样性带来的收益被错误率抵消。
  • 误区 3:所有任务都套 SC。创意任务无"正确答案",投票无意义。
  • 误区 4:投票只看数量。加权投票在开放性任务中更优。
  • 误区 5:SC 能修复 Prompt 缺陷。若 Prompt 本身有歧义,多次采样只会放大歧义。

进阶技巧

  • 自适应采样:前 3 次若全一致,提前终止,省 API 费
  • 混合模型:用 GPT-4 和 Claude 各采样 3 次,跨模型投票更鲁棒
  • 验证器投票:训练一个小模型判断推理链质量,只让高质量链参与投票
  • ** Universal SC**:不要求所有链给出相同格式答案,用语义匹配而非字面匹配投票

小结

Self-Consistency 是用算力换准确率的朴素艺术:同一问题多次推理、投票取多数,把单次推理的随机性错误用群体智慧过滤掉。当你面对有唯一解的高价值问题(数学、逻辑、事实问答)时,CoT + Self-Consistency 是最稳的组合拳。

本系列 Prompt 技巧篇至此告一段落。从 CoT 的线性推理,到 ToT 的树形搜索,到 Step-back 的抽象跳跃,到 Chaining 的流水线编排,到 Few-shot 的示例学习,再到 Self-Consistency 的多路投票——这六把武器组合使用,能覆盖 90% 的 LLM 推理场景。下一篇我们将开启新的主题系列。

相关推荐

查看更多 →
Prompt分析

Step-back Prompting 退一步思考:让 LLM 先抽象原则再解题,复杂推理准确率提升 30%

面对复杂问题,模型常陷入细节纠缠而错过底层规律。Step-back Prompting(Zheng et al., 2023)让模型先问一个更高层次的抽象问题,再把普适原则带回原问题求解。本文拆解 Step-back 与 CoT、Self-Consistency 的差异,给出两阶段模板与三类典型场景,并附可直接复用的 Prompt 框架。

2026-08-02
#Prompt技巧#Step-back
Prompt分析

Tree of Thoughts 思维树:让 LLM 学会像专家一样多条路径并行推理

当思维链(CoT)遇到复杂决策、创意发散或博弈类问题时常常一条道走到黑。Tree of Thoughts(ToT)通过让模型同时展开多条思维路径、自我评估并回溯剪枝,把单向推理升级为搜索式推理。本文拆解 ToT 的原理、四步模板与三类典型场景,并给出可直接复用的 Prompt 框架。

2026-07-31
#Prompt技巧#Tree of Thoughts
Prompt分析

Self-Consistency:让 AI 多想几次再投票,准确率再提 20%

CoT 的进阶版。让 AI 用不同思路多次推理,再投票选出现最多的答案。在数学、逻辑任务上比单次 CoT 准确率再提升 15-25%。

2026-07-30
#Prompt技巧#Self-Consistency
Prompt分析

Chain-of-Thought:让 AI 把思考过程写出来,准确率提升 40%

CoT 是让大模型解决复杂问题的关键技巧。本篇讲解 CoT 的 4 种触发方式、适用场景和 3 个实战案例。

2026-07-27
#Prompt技巧#CoT