一句话定义
CoT(Chain-of-Thought)是让模型在给出答案前写出中间推理步骤的提示方法;Self-Consistency 则采样多条推理链,对最终答案做多数投票。
为什么需要它
多步数学、逻辑和规划题,直接给答案容易跳步出错。把推理展开,模型能分配更多计算到中间步骤;多条链投票可以降低单条链的随机错误。
怎么工作
- Zero-shot CoT:加一句“请逐步推理”,让模型自己展开。
- Few-shot CoT:给几个带步骤的示例,约束推理格式。
- Self-Consistency:同一问题采样多条链,对答案投票/聚合。
- 使用边界:简单事实题不需要;高风险场景要验证推理是否忠实。
提示词可以先列已知/未知,再分步计算,最后检查。Few-shot 示例要覆盖题型,避免模型照抄。对事实题,CoT 可能放大幻觉,要配合 RAG/工具。不要盲信步骤,评测要看忠实度,先小规模验证。
关键取舍
- CoT 增加 token、延迟和成本;简单任务可能得不偿失。
- 推理链看起来合理,不代表真的忠实或正确。
- Self-Consistency 用采样换稳健性,成本随链数上升。
- 对需要外部事实的题,CoT 不能替代工具/RAG。
常见误区
- CoT 一定提升准确率:取决于任务和模型。
- 写出的步骤就是模型真实计算:可能只是事后合理化。
- 链越长越好:冗长会增加错误累积。
- Self-Consistency 等于验证:投票只选多数,不保证正确。
用在哪里
- 数学、逻辑、多跳推理、规划。
- 需要可解释中间步骤的场景(但要标注“非严格证明”)。
- 与 ReAct、工具调用结合做复杂任务。