📖 定义
Self-Consistency(自一致性)是一种推理增强技术:采样N条独立的Chain-of-Thought推理路径,统计各答案出现频次,取多数答案作为最终输出。
来源:Wang et al., "Self-Consistency Improves Chain of Thought Reasoning in Language Models", ICLR 2023
🎲 通俗比喻
就像考试时不确定答案,你把同一道题做了5遍——如果3次算出42,2次算出43,你选42。为什么?因为"多数人走的路,大概率是对的"。
这也是"三个臭皮匠顶个诸葛亮"的AI版——单个推理路径可能出错,但多条路径一起投票,正确答案更容易脱颖而出。
周星驰电影里说:"天下武功,唯快不破。"但Self-Consistency说:"天下推理,唯多不错。"——跑得越多,越不容易错。
这也是"三个臭皮匠顶个诸葛亮"的AI版——单个推理路径可能出错,但多条路径一起投票,正确答案更容易脱颖而出。
周星驰电影里说:"天下武功,唯快不破。"但Self-Consistency说:"天下推理,唯多不错。"——跑得越多,越不容易错。
⚙️ 采样可视化
同一个问题,采样5条推理路径:
路径1: 思考A → 思考B → 答案 = 42
路径2: 思考C → 思考D → 答案 = 42
路径3: 思考A → 思考E → 答案 = 42
路径4: 思考F → 思考G → 答案 = 43 ❌ 少数
路径5: 思akingH → 思考I → 答案 = 42
统计结果:42出现4次,43出现1次
最终答案:✅ 42(多数获胜)
N=5-40
推荐采样次数
+15-30%
算术准确率提升
N×Token
Token成本倍数
🎯 OpenClaw实战应用
# OpenClaw Self-Consistency Skill 示例
name: self_consistency_solver
description: 自一致性采样解决数学/推理问题
parameters:
num_samples: 10 # 采样次数
temperature: 0.7 # 需要较高温度产生多样性
steps:
- name: sample_reasoning_paths
action: llm_batch
repeat: {{num_samples}}
prompt: |
使用Chain-of-Thought解决以下问题:
{{problem}}
请给出详细的推理步骤。
- name: aggregate_answers
action: aggregate
method: majority_vote
inputs: "{{sample_reasoning_paths.outputs}}"
- name: final_result
action: llm
prompt: |
通过{{num_samples}}次独立采样,多数答案为:{{aggregate_answers.winner}}
出现次数:{{aggregate_answers.count}}/{{num_samples}}
确信度:{{aggregate_answers.confidence}}%
✅ 适用场景
- 算术计算:多位数乘除、复杂运算
- 逻辑推理:多步骤逻辑题
- 选择题:答案空间有限的场景
- 代码输出:需要一致性输出的代码生成
⚠️ 注意:Self-Consistency只适用于答案空间有限、可统计的场景。对于开放式生成(如创意写作),多数投票不适用。
🔗 相关术语
📚 延伸阅读
- 原论文:Self-Consistency Improves CoT Reasoning
- Anthropic/OpenAI评估套件中Self-Consistency是标配技术