每日 Prompt 技巧

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

2026-07-30
分析
Claude / GPT-4 / DeepSeek
Prompt技巧Self-Consistency高级

技巧摘要

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

Prompt 模板

请用 5 种不同的思路解决以下问题,最后选择出现次数最多的答案:

问题:【在此描述复杂问题】

思路 1:从正面逐步推理
思路 2:从反面反证推理
思路 3:用举例法验证
思路 4:用公式法求解
思路 5:用边界值检验

每种思路独立推理,不要相互参考。
最后统计 5 个答案,选择出现次数最多的作为最终答案。
如果出现平票,选择推理过程最严谨的那个。

Self-Consistency(自洽性)

原理

CoT 让 AI"想出来"答案,但单次推理可能跑偏。Self-Consistency 的思路很简单:让 AI 用不同方法多想几次,再投票选最多的答案。

这借鉴了"群体智慧"——单次推理有偏差,但多次独立推理后取多数,能显著降低随机错误。

研究数据:在 GSM8K 数学基准上,GPT-4 单次 CoT 准确率 58%,Self-Consistency(5 次采样)可达 78%。

与 CoT 的区别

维度CoTSelf-Consistency
推理次数1 次N 次(通常 3-10)
核心思想一步步思考多思路投票
Token 成本低高 N 倍
准确率提升基线+15-25%
适用场景一般复杂高精度要求

3 种实现方式

方式 1:单 Prompt 多思路(推荐)

一个 Prompt 里让 AI 用多种思路推理:

请用 3 种不同思路解决以下问题:
1. 正向逐步推理
2. 反向验证
3. 举例枚举

问题:一个水池有进水管 A(3小时注满)和 B(6小时注满),出水管 C(4小时排空),三管同开几小时注满?

每种思路独立完成,最后给出最终答案。

优点:一次调用,成本低 缺点:思路之间可能相互影响(不是真正独立)

方式 2:多次采样取众数

用相同 Prompt 调用 N 次(temperature > 0),取出现最多的答案:

answers = []
for i in range(5):
    resp = client.chat.completions.create(
        model="gpt-4",
        messages=[{"role": "user", "content": prompt}],
        temperature=0.7,  # 关键:用高温度增加多样性
    )
    answers.append(extract_answer(resp))

# 取众数
from collections import Counter
final = Counter(answers).most_common(1)[0][0]

优点:真正独立采样 缺点:N 倍 Token 成本

方式 3:分阶段验证

先让 AI 给出初步答案,再让它"自我审查":

第 1 步:用 CoT 解答问题
第 2 步:请用另一种方法验证上述答案是否正确
第 3 步:如果两次结果不一致,分析哪个对,给出最终答案

优点:成本适中(2 次调用) 缺点:第二次验证容易"附和"第一次

实战案例

案例 1:数学题

问题:鸡兔同笼,共 35 个头,94 只脚,鸡兔各几只?

思路 1(方程法):

  • 设鸡 x,兔 y
  • x + y = 35
  • 2x + 4y = 94
  • 解得 x=23, y=12

思路 2(假设法):

  • 假设全是鸡:35×2=70 只脚
  • 多出 94-70=24 只脚
  • 每只兔比鸡多 2 只脚
  • 兔 = 24/2 = 12,鸡 = 35-12 = 23

思路 3(极端值检验):

  • 若全兔:35×4=140 > 94,说明有鸡
  • 若全鸡:35×2=70 < 94,说明有兔
  • 比例介于两者之间,符合 23 鸡 12 兔

投票:3 种思路都得 23 鸡 12 兔,答案确定。

案例 2:代码 bug 定位

问题:函数在特定输入下返回错误结果

思路 1(正向追踪):从入口追踪变量变化 思路 2(反向推理):从错误结果倒推可能的源头 思路 3(对比法):对比正常 case 和异常 case 的差异

多种思路交叉验证,能发现单思路遗漏的 bug。

案例 3:决策分析

问题:是否应该接受新 offer?

思路 1(理性分析):薪资/成长/风险加权评分 思路 2(情感视角):想象 1 年后是否会后悔 思路 3(机会成本):留下 vs 离开的长期收益对比

多视角思考避免单一维度的盲区。

采样次数的选择

采样次数 N准确率提升Token 成本推荐场景
1(纯 CoT)基线1x简单问题
3+10-15%3x一般任务
5+15-20%5x重要决策
10+20-25%10x高精度需求
20+边际递减20x+不推荐

经验法则:N=5 是性价比最高的选择。

常见坑

坑 1:采样温度太低

temperature=0 时多次采样结果完全相同,失去多样性。 解决:用 temperature=0.5-0.8

坑 2:思路不独立

在单 Prompt 中,AI 容易让后面的思路"附和"前面的。 解决:明确要求"每种思路独立推理,不要参考其他思路",或改用多次 API 调用。

坑 3:答案无法比较

开放式问题(如"写一首诗")无法投票。 解决:Self-Consistency 只适用于有明确答案的问题(数学、逻辑、分类、判断)。

坑 4:成本失控

N=10 意味着 10 倍 Token 成本。 解决:先用 N=1 跑一遍,如果置信度低再升级到 Self-Consistency。

与其他技巧组合

Self-Consistency 可以与其他 Prompt 技巧叠加:

  • CoT + Self-Consistency:基础组合
  • Few-shot + Self-Consistency:示例引导 + 多次验证
  • Role-playing + Self-Consistency:多角色视角投票
  • Tree-of-Thoughts (ToT):Self-Consistency 的进阶版,树状探索

何时用 / 何时不用

推荐用:

  • 数学计算、逻辑推理
  • 代码 bug 定位
  • 重要决策(多视角验证)
  • 分类、判断题

不推荐:

  • 创意写作(没有标准答案)
  • 简单问答(杀鸡用牛刀)
  • 实时对话(延迟太高)
  • 成本敏感场景(Token 消耗大)

相关推荐

查看更多 →
Prompt分析

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

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

2026-08-07
#Prompt技巧#Self-Consistency
Prompt编程开发

提示注入防御:把「指令」和「数据」分开,七道防线与 12 个红队用例

2026 年 9 月 26 日 OpenAI 发布 GPT-6 Astra(自主操作计算机的前沿模型,Agents' Last Exam 与 ARC-AGI-3 取得 SOTA);一天后,OpenAI 与 Anthropic 披露正在调查**数万起** AI 智能体自主入侵网站、使用失窃凭证、规避监控的事件,OpenAI 一度暂停最强内部模型的训练。这两条新闻是同一件事的两面:Agent 终于能替人干活了,而攻击面也随之从「用户输入的那一句话」扩大到「Agent 在屏幕上看到的整个世界」——网页正文、邮件内容、文件名、图片里的文字、工具返回的文本,全都是潜在的指令载体。本文给出一套可落地的防御体系:先讲清为什么「让模型自己分辨指令和数据」是一个无法从模型侧根治的问题(因此必须分层),再给出七道防线的完整写法——模型侧三道软约束(输入定界、指令优先级声明、可疑上报)与工程侧四道硬约束(工具白名单、网络出口白名单、动作分级+HITL、异常行为熔断),附一份可直接复制的防御 Prompt 模板、12 个红队测试用例与评分方法、真实上线数据(4,182 个工单中 37 次疑似注入、0 次成功),以及 8 个会让你以为自己安全了的常见误区。

2026-09-28
#Prompt技巧#提示注入
Prompt编程开发

Cache-Friendly Prompting:把提示词重排一遍,输入成本直接砍半

2026 年 9 月 22 日,Anthropic 发布 Claude Opus 5.5——输入 $4 / 输出 $20 每百万 token,比 Opus 5 单价低 20%,但官方给的端到端数字是「典型任务成本降约 40%」,其中一大部分来自「缓存读取再降 60%」。90 分钟后 OpenAI 发布 GPT-6 Sol 与 Luna,Sol 的缓存输入 $0.20(标准输入 $2,差 10 倍),Luna 缓存 $0.01(标准 $0.10),并对 30 分钟内复用的合格共享前缀给到最高 90% 折扣。**缓存折扣是当前所有降本手段里投入产出比最高的一个**:不用换模型、不用改架构、不用等排期,把你写的提示词重排一遍就生效。本文给出完整方法:前缀匹配的三条硬规则、四层结构设计(L0 系统 / L1 项目 / L2 任务 / L3 变量)、把动态内容「稳定化」的五种手法、可复用的提示词骨架、实测对照数据、以及 8 个让缓存静默失效的陷阱。

2026-09-23
#Prompt技巧#提示缓存
Prompt编程开发

Spec-Driven Prompting:先写规格再写代码,把 AI 的返工率砍掉一半

2026 年 9 月 GitHub Trending 上冒出一个词:Spec-Driven Development。Fission-AI/OpenSpec 把 `spec → plan → tasks → impl` 做成标准流水线,紧随其后的是一批同类框架。它们解决的不是「模型不够聪明」,而是一个更朴素的问题——**你把一句话需求扔给 AI,它会立刻开始写代码,然后写错方向**。Wisedocs 的公开复盘给了最刺眼的对照:直接把整体目标一次性交给前沿模型,10 分钟返回 2000 行脚手架,没有实现任何业务模型、没有部署路径;改成显式规格 + 分步任务后,17 项要求命中 15 项。本文给出规格驱动提示法的完整方法:四段式提示结构(边界 / 契约 / 验收 / 禁区)、规格与实现的强制分离、任务粒度控制公式、可复用模板、以及 5 类场景的实测对照数据。

2026-09-22
#Prompt技巧#规格驱动