🎲 Self-Consistency
自一致性采样

多条推理路径,多数答案获胜 | Wang et al. 2022

Reasoning Sampling Evaluation

📖 定义

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说:"天下推理,唯多不错。"——跑得越多,越不容易错。

⚙️ 采样可视化

同一个问题,采样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只适用于答案空间有限、可统计的场景。对于开放式生成(如创意写作),多数投票不适用。

🔗 相关术语

📚 延伸阅读