一句话定义:思维链(Chain-of-Thought,CoT)是一种提示(prompting)思路——不让模型直接吐答案,而是先让它把中间推理一步步写出来,再给结论。
打个比方
老板问你「这个功能两周能上线吗」。直接答「能」,多半是拍脑袋;如果他说「你先讲讲怎么想的」,你会拆模块、估工时、看依赖,最后给出「能,但要砍两个次要需求」。结论从直觉变成了可检查的推算。
模型同理。它生成每个词(token)时,能用到的「草稿纸」只有自己已经写出来的内容——参数是冻结的,没有额外的记忆区存放中间结果。于是:
- 直接答:所有推理要在极少几个 token 里挤完,一步跳太远,容易摔。
- 写步骤:把一次大跳拆成许多小跳,每一步都能读到前面已生成的内容,误差不易滚成雪球。
这也解释了为什么思维链在数学、多步逻辑、代码调试上收益明显,而问「这首诗的作者是谁」几乎没用——本来就没有可拆的步骤。
它真在「想」吗
要区分两件事。一是写出的步骤确实影响结果:把中间某步改错,答案往往跟着错,说明它不是纯装饰。二是写出的步骤不等于模型内部的真实原因:它可能「结论先定、理由后补」,给出看起来合理却与实际计算路径不符的解释。研究里把这叫思维链的忠实性(faithfulness)问题,目前仍是开放问题。
更贴切的类比是:思维链是模型的计算脚手架,不一定是它的内心独白。脚手架确实承重,但它的形状不等于建筑真实的受力图。
和相邻概念的区别
| 概念 | 做什么 | 典型场景 |
|---|---|---|
| 直接回答 | 一步给结论 | 事实问答、简单分类 |
| 思维链 | 先分步推理再作答 | 数学题、多步判断 |
| 自洽性(Self-Consistency) | 采样多条思维链,投票取多数 | 想提高稳定性,代价是多次调用 |
| 思维树(Tree of Thoughts) | 把线性链扩成树,允许分支与回溯 | 需要试错的规划任务 |
| 推理模型(reasoning model) | 训练阶段就学会「先想再答」,思考过程多在内部完成 | 复杂推理,具体行为以官方页面为准 |
对实际工作的意义
写提示时,与其只问「答案是什么」,不如加一句「先列出判断依据,再给结论」,或给一两个带步骤的示例;高价值任务可以多跑几次取多数。但代价是输出变长,延迟和成本上升,简单问题硬加推理反而容易被绕偏。最后,模型写出的推理适合用来核对思路,不适合当证据链——重要结论仍需自己复核。
