思维链(CoT):让推理显式化
一句话定义
思维链(Chain-of-Thought, CoT)通过让模型在给出答案前先输出中间推理步骤,把一次"凭感觉"的生成变成多步"有路径"的生成,显著提升需要推理的任务的正确率。
为什么重要
直接问答案是让模型一步登天;CoT 把问题变成逐级下台阶。它是提示工程中被验证最充分、收益最大的技法之一,并且派生了整族方法(自洽性 自洽性(Self-Consistency):用多次采样投票换稳定、ReAct ReAct:推理与行动交织的提示模式、任务分解 任务分解与规划提示)。同样重要的是知道它的边界:对简单任务无效、对纯感知任务无效、且推理步骤可能是"事后合理化"——理解这两面才能不滥用。
前置知识
- 零样本、少样本与示例工程:CoT 示例本质是"推理过程的少样本";
- 采样参数与输出随机性:提示为何"时灵时不灵:评估 CoT 收益必须多次采样,单次验证不可信。
直观类比
小学数学老师逼你"写过程"不是刁难:写过程强迫每一步落到纸面,跳步立刻暴露。模型同理——"只写答案"时它用直觉一步跳,"写过程"时每步都有草稿可依。
图示
直接问答: 问题 ──────────────→ 答案 (一步跳跃,易错)
CoT: 问题 → 步骤1 → 步骤2 → 步骤3 → 答案 (每步都是简单续写)
↑ 每步输出追加进上下文,成为下一步的条件核心概念
- 零样本 CoT:一句咒语式追加,如"请一步一步思考,再给出最终答案"。成本最低,收益不稳。
- 少样本 CoT:示例本身就包含完整推理过程(问题 → 推理步骤 → 答案),教学效果最稳。
- 中间步骤(Intermediate Steps):显式写出的推导节点;它们进入上下文,成为后续生成(含最终答案)的条件。
- 结构化 CoT:规定推理的固定框架(如"先列已知条件 → 再列公式 → 代入 → 检查"),把自由推理变成流程执行。
- 推理-答案分离:输出中明确标记推理区与最终答案区,便于程序解析(与 输出格式控制三件套:指令、示例与结构 配合)。
原理与机制
为什么"先写推理再写答案"更准?主流解释:每生成一个 token 都会追加进上下文(分词与上下文:模型如何"读"你的话),写出中间步骤相当于把模型自己的"草稿"变成后续步骤的条件——用生成换算力,把单步难以一次算对的问题拆成一串容易的续写。由此得到工程推论:
- 推理链必须留在上下文里才有效——让模型"心里想但不写"无法实现(除非模型有隐藏推理能力,那属于模型特性而非提示技法);
- 推理步骤质量决定答案质量——错误的中间步骤会自信地导出错误结论(错误传播);
- CoT 的叙述可能是事后合理化:答案正确不代表推理真实,涉及安全、合规的场景不能把 CoT 当作可审计的解释(重要伦理边界,见 内容边界、越狱与数据卫生)。
公式或模型
本节不适用——CoT 是提示模式而非数学模型;其收益的量化来自论文中的基准对比,工程上用 评估集构建:黄金样本与失败分类 评估集实测自身任务的提升幅度。
实例或案例
案例:订单费用核算的 before/after。
before:
用户买了 3 件单价 89 元的商品,用了一张减 30 的券,另收运费 8 元,
会员再打 95 折。请计算实付金额。症状:直接给一个数,折扣与券的抵扣顺序常错。
after(少样本 CoT + 结构化步骤):
按以下步骤计算并展示每步:
第一步:小计 = 单价 × 数量
第二步:按券规则抵扣(券只作用于商品金额)
第三步:对抵扣后的金额按会员折扣打折
第四步:加运费,得出实付
问题:{订单描述}
请依次写出第一步到第四步的计算,最后用「实付 = X 元」结尾。操作步骤:① 判断任务是否需要多步推理(算数、比较、多条件规则、因果链)——简单改写、翻译不需要 CoT;② 设计固定步骤框架而非开放式"想想看";③ 要求答案区与推理区分离;④ 用评估集验证收益(通常算术/规则类提升明显,简单任务无差异甚至变啰嗦)。
排错清单:
- 症状:推理对了答案抄错 → 在提示中加"最后重读你的推理,单独给出最终答案"的自检步骤;
- 症状:步骤自由发挥导致路径漂移 → 把"一步一步思考"升级为编号的固定框架;
- 症状:输出过长、成本上升 → CoT 有 token 代价,只在推理密集任务启用,简单任务退回零样本。
常见误区
- 万金油化:所有提示都加"请一步步思考"——对模式匹配型任务无效,还稀释注意力与预算;
- 把 CoT 当可审计依据:推理文本可能是事后合理化,合规场景需要独立校验而不是相信模型的解释;
- 忽略错误传播:不检查中间步骤,错误会一路传导到最终答案且看起来头头是道;应加自检步骤或抽验中间步骤。
自测题
- 为什么 CoT 要求模型"写出"而不是"想着"推理?
答:生成逐 token 进行,只有写出的 token 才进入上下文成为后续条件;不写出来就没有"草稿效应"。
- 哪类任务加 CoT 无效甚至有害?
答:单步感知/模式匹配任务(翻译、简单改写、直接分类)——无需多步推理,徒增输出长度与漂移风险。
- 为什么不能把模型的 CoT 输出直接当作合规解释?
答:推理文本可能是对既成答案的事后合理化,与真实内部过程无保证一致。
与其他知识点的关系
自洽性(Self-Consistency):用多次采样投票换稳定 用多次 CoT + 投票对冲单条推理链的随机错误;ReAct:推理与行动交织的提示模式 在 CoT 中插入行动步骤;任务分解与规划提示 把 CoT 升级为显式任务分解;CoT 的 token 成本要计入 上下文窗口与注意力预算 的预算。
延伸阅读
- 论文:Chain-of-Thought Prompting Elicits Reasoning in Large Language Models(Wei et al., 2022)——CoT 的奠基实证。
来源
- Chain-of-Thought Prompting Elicits Reasoning in Large Language Models (Wei et al.
- 2022)