橙研所· 方法论 × Agent 拆解
AI 科普 · 逐章拆解

AI圣经16 《思维链 CoT:只要让模型「把话一步步说出来」,它就突然会推理了》

上一篇 RLHF 教会了模型听话——可听话不等于会想。2022 年初,哪怕最大的语言模型,做一道小学数学应用题也常常张口就错。这一篇讲 Google 的 Jason Wei 等人发现的四两拨千斤:不训练、不改任何参数,只把提示里的示范从「题目→答案」换成「题目→一步步的推理过程→答案」,PaLM 540B 在小学数学基准 GSM8K 上就从 18 分跳到 57 分,掀翻了花大钱微调出来的最好成绩。更奇怪的是,这招只在千亿参数量级的大模型上才灵——小模型学着「一步步说」,反而更糟。它后来有个家喻户晓的名字:思维链(Chain-of-Thought)。

AI圣经16 思维链 CoT 封面
📚 AI 圣经 · 系列导览这是「AI 圣经」系列第 16 篇。我会带你逐篇精读撑起今天所有大模型的 21 篇经典论文,分 5 个阶段层层递进(本篇已高亮): 本篇论文:《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》· Wei et al. 2022(Google, NeurIPS 2022)。可搜「chain of thought paper」或访问 arXiv 编号 2201.11903 下载。其余各篇论文地址,随当期文章给出。

太长不读GPT-3 证明了大模型能「看样学样」(few-shot),InstructGPT 教会了它听话,但推理是另一堵墙:算术、逻辑这类要多步推演的任务,模型再大,标准问法下分数几乎不动。这篇论文的解法便宜得离谱:在 few-shot 示范里,给每个例子的答案前面加上人手写的推理过程——总共就 8 个例子——模型就会照样学样,先把推理一步步写出来、再给答案。这叫思维链提示。效果:PaLM 540B 在小学数学基准 GSM8K 上从 17.9% 跳到 56.9%,超过此前「微调 GPT-3 + 答案校验器」的 55% 最好成绩;常识推理、符号推理同样通吃。消融实验杀死了「只是多算了一会儿」「只是写出了算式」等平庸解释。而最深的发现是涌现:这个能力约 100B 参数才解锁,小模型用了反而更差——它们写得出流畅的步骤,可账是错的。三个月后,「Let's think step by step」一句咒语走红全网;两年后 OpenAI o1 把「先想再答」从提示词技巧内化成模型本能——今天每个推理模型肚子里跑的,都是这篇论文点破的那件事。

上篇回顾 · 先答一题上一篇讲 InstructGPT。先别往下翻,试着答:RLHF 三步法是哪三步、各解决什么?……答案:第一步 SFT,请人写示范、教模型「照着答」;第二步训练奖励模型,把人类口味压缩成一个会打分的裁判;第三步 PPO,拿裁判的分当奖励,让模型自己刷分改进。到这里,模型已经愿意照你说的做了。但上一篇结尾埋了个坑:它连「高速炮弹正面打南瓜会怎样」都答不利索——听话,不代表会想。今天这篇,就是阶段四「对齐与推理」的下半场:让它会想

01一堵墙:模型越大,推理分数纹丝不动

CoT cot-p01.png
论文原文 · 第 1 页:标题、摘要与 Figure 1——全文的招牌对照。左边是标准提示:示范里只有「题目→答案」,模型学着一口报数,把「食堂原有 23 个苹果,用掉 20 个又买 6 个」答成 27(错)。右边是思维链提示:示范的答案前面多了一段人手写的推理(高亮部分),模型照样学样,先写「原有 23 个,用掉 20 个剩 3 个,再买 6 个就是 9 个」再作答(对)。两边唯一的差别,就是示范里那几行「想的过程」。

先立当时的行情。P10 Scaling Laws 之后,行业信条是「越大越强」:困惑度、知识问答、翻译,几乎所有指标都随规模稳定爬升;GPT-3(P08)又证明了不用微调、塞几个例子进提示(few-shot,少样本提示)就能上手新任务。放大模型,仿佛是包治百病的药。

但偏偏有一类任务不吃这套。DeepMind 训 2800 亿参数的 Gopher 时就发现(Rae et al. 2021):算术、常识推理、符号推理这些要多步推演的任务,模型放大十倍百倍,分数几乎是平的。看上图 Figure 1 左边那个例子:「食堂原有 23 个苹果,用掉 20 个、又买 6 个,还剩几个?」——标准 few-shot 提示下,模型张口就答「27」。为什么?因为它看到的示范全是「题目→答案」,它学会的就是一口报数:把一道两步计算题,压成一次「直觉」输出。它不是不会算,是没人教过它「可以先想再答」。

当时已有的解药是「教」:Ling et al.(2017)开创了让模型生成自然语言解题步骤的路子,从头训练;Cobbe et al.(2021)造出 GSM8K 数据集,微调 GPT-3、还外挂一个校验器给候选答案打分。有效,但贵——要请人写成千上万条带完整推理过程的标注,而且一个任务得练一版模型,回到了 P08 之前「一任务一模型」的老路。

于是问题摆上桌面:few-shot 的便宜(不训练、一个模型通吃)和推理标注的有效(真会分步),能不能两全?这篇论文的答案,是一次简单得让人不敢信的拼接。

02药方:8 个手写例子,示范「怎么想」

CoT cot-p04.png
论文原文 · 第 4 页:Figure 3,思维链铺开到各类任务的样子(高亮=人手写的推理步骤)。从数学应用题(自由作答/选择题)、常识问答 CSQA、策略问答 StrategyQA,到日期推算、体育常识、机器人指令规划 SayCan,再到词尾字母拼接、硬币翻转(状态追踪)——所有任务用的都是同一招:示范里答案的前面,先写「怎么想」。页面下半是实验设置:五个模型家族(GPT-3、LaMDA、PaLM、UL2 20B、Codex),人手写 8 个示范通吃所有算术基准。

方法一句话说完:few-shot 提示里的每个示范,从〈题目,答案〉扩成〈题目,思维链,答案〉。所谓思维链,就是一段通往答案的自然语言中间推理步骤,像人打草稿:「Roger 原有 5 个球,2 筒各 3 个是 6 个,5 加 6 等于 11」。模型见到这样的示范,就会照样学样——答题前,先把自己的「草稿」一步步写出来。

便宜到什么程度:整套实验只用了 8 个人手写的示范(选择题 AQuA 单独用 4 个),作者自己写的,没做任何提示词工程;同一组 8 个例子,通吃所有算术基准。更要紧的一句话藏在实验设置里:全程没有微调任何模型——一个参数都没动,动的只是问法。

论文给这一换总结了四个红利:,多步问题被拆成中间步骤,难题可以多「想」几步——计算量随难度自适应分配;,想的过程人能读,答错时能看出错在哪一步,多了一扇可调试的窗;,通用——数学、常识、符号操作,原则上任何人类能用语言解决的任务都适用;,即插即用——现成模型直接用,不必为每个任务重训。

上图 Figure 3 就是它铺开的样子:数学应用题、常识问答、日期推算、体育常识、机器人指令规划、词尾字母拼接、硬币翻转……十来个任务,示范里全是同一招。招式亮完了,灵不灵,放榜见分晓。

03放榜:18 分变 57 分,掀翻整条微调流水线

CoT cot-p02.png
论文原文 · 第 2 页:Figure 2,头条战绩。GSM8K 小学数学应用题上,PaLM 540B 用标准提示只有 18 分,换成思维链提示直接 57 分——而此前的最好成绩 55 分(虚线柱),来自把 GPT-3 175B 全量微调、再外挂一个「答案校验器」的重型流水线;纯微调、不带校验器的 GPT-3 只有 33 分。一分钱训练没花,8 个手写例子掀翻整条微调流水线。

主战场是 GSM8K——Cobbe et al.(2021)发布的小学数学应用题基准,公认难啃:题面全是日常语言,要连着做两步以上的算术,纯靠「直觉报数」,再大的模型也不及格。判决(上图 Figure 2):PaLM 540B,标准提示 17.9%,思维链提示 56.9%——一分钱训练没花,成绩翻了三倍多。

这个 56.9% 的分量要对着参照物看:此前的最好成绩 55%,是 OpenAI 把 175B 的 GPT-3 在 GSM8K 上全量微调、再单独训练一个「答案校验器」从一堆候选里挑最好的——整条重型流水线,被 8 个手写例子超了车(同样微调过、但不带校验器的 GPT-3,只有 33%)。锦上添花的还有:把思维链里的算式交给外部计算器重算,56.9 再涨到 58.6;换代码模型 Codex 当底座,直接 63.1。GPT-3(text-davinci-002)也一样受用:15.6% 提到 46.9%。

规律一:越难越灵。GSM8K 这种多步难题收益最大——最大号的 GPT 和 PaLM 上成绩翻倍不止;而 MAWPS 基准里一步就能解出的 SingleOp 子集,增益接近零甚至为负。一步到位的题,没什么可「想」的。

规律二:不止数学。常识推理:要多跳推演的 StrategyQA 上 PaLM 540B 拿到 75.6%,超过此前最好成绩 69.4%;判断体育句子通不通的任务上拿到 95.4%,超过了人类业余爱好者的 84%。符号推理:把名字的词尾字母拼起来、追踪硬币翻了几次,带思维链几乎满分。还有一条最扎实的抽查:他们人工核对了 LaMDA 137B 在 GSM8K 上答对的 50 道题——除 2 道纯属巧合蒙对,其余思维链在逻辑和数学上全部正确。分数不是瞎猫碰上死耗子。

04涌现:一百亿不行,一千亿才解锁

CoT cot-p05.png
论文原文 · 第 5 页:Figure 4,全文最深的一张图——涌现曲线。三列是三个模型家族(LaMDA、GPT、PaLM),三行是三个数学基准,横轴是模型大小。看任何一格:模型小的时候,思维链(空心圆实线)和标准提示(实心虚线)趴在一起、甚至更低;规模爬到千亿量级,思维链那条线突然陡增,把标准提示远远甩开。推理能力不是随规模平滑长出来的,是过了门槛突然解锁的——这就是「涌现」。

最反直觉的发现在这张图里。思维链不是对谁都灵:LaMDA 420M 用上思维链,GSM8K 从 2.6% 掉到 0.4%;PaLM 8B 从 4.9% 掉到 4.1%。模型不够大,教它「一步步说」,反而更糟。

为什么?研究者翻看小模型写的思维链,发现一个耐人寻味的现象:流畅,但不合逻辑——句子通顺、步骤像模像样,可里面的账是错的。「会说」和「会想」,在小模型身上是分离的。只有当规模爬到千亿量级(约 100B 参数),写出来的步骤才开始真的成立,分数才随之陡增。

这就是后来大名鼎鼎的「涌现能力」(emergent ability):某些能力在小模型上完全测不到,规模过了某个门槛才突然出现。巧的是,给这个现象正式定名的论文《Emergent Abilities of Large Language Models》,一作同样是 Jason Wei,与本篇同年——一手发现现象,一手给它命名。

这与 P10 讲的 Scaling Laws 那条平滑幂律并不矛盾,反而互补:损失在平滑下降,能力却可能台阶式解锁。而全篇最有余味的推论,写在论文的讨论一节:标准提示给出的成绩,只是大模型能力的下界——曲线平,不代表能力不在,可能只是问法把它锁住了。这句话日后被无数人复述成一句大白话:你以为模型不行,也许只是你不会问。

05排除嫌疑人:不是「多算了一会儿」,也不是「背出了答案」

CoT cot-p06.png
论文原文 · 第 6 页:两张图排除平庸解释。左上 Figure 5(消融):五根柱子——标准提示、只输出算式、只输出等长点号(白给算力)、把推理挪到答案后面、完整思维链。前四种全趴着,只有真思维链一柱擎天:起作用的不是「多算了一会儿」,也不是「先背出了知识」,是用自然语言把中间步骤真的想出来、且想在作答之前。右下 Figure 6(鲁棒性):换两位合著者独立重写示范、刻意写简版、从 GSM8K 训练集随机抽三组例子——所有版本都大幅超过标准提示。这招不依赖谁的文笔。

结果太好,就得防着平庸的解释。论文自己当自己的杠精,摆出三个替代假说,一个个处决(上图 Figure 5):

再防一个质疑:会不会是那 8 个例子恰好写得妙?换人重写——两位合著者各自独立写一套,再来一套刻意从简的,再从 GSM8K 训练集随机抽三组——所有版本都大幅超过标准提示(上图 Figure 6)。方差是有的,提示怎么写确实影响分数(硬币翻转任务上,不同人写的思维链能差出 99.6% 对 71.4%),但「示范里带上推理过程」这个动作本身稳赢,不依赖谁的文笔。

最后一个彩蛋证据,是符号推理的「超纲考」:示范里只给两个词的名字(把「Amy Brown」的词尾拼成「yn」),考试却考三个、四个词的名字;硬币也从示范里的翻 2 次,考到翻 4 次。标准提示当场崩零,思维链撑住了一条上扬的曲线。它学到的不是题型的形状,是能往更长处套用的方法

06后日谈:咒语、争论,和把「想」内化的模型

CoT cot-p17.png
论文原文 · 第 17 页:Figure 10,规模「治好」推理病的现场记录。四道题,左列是题目,中列是 PaLM 62B 的回答(灰字标注错误类型:语义理解错、漏一步),右列是 540B 的回答(全对)。研究者把 62B 犯的 45 个错逐个分类:语义理解错 20 个、漏一步 18 个、其他 7 个——绝大多数在放大到 540B 后消失了。论文能给你看「变大治好了什么」,却答不出「为什么大了就会」——这个问题留给了后来者。

按系列惯例,讲讲它后来的命运——和论文自己留下的两处诚实。诚实一:这些步骤看着像推理,模型是不是真的在推理?论文在局限一节亲手写下:这是个悬而未决的问题。他们能给你看规模治好了什么(上图 Figure 10:把 PaLM 62B 犯的 45 个错分类——语义理解错 20 个、漏一步 18 个,绝大多数被 540B 治愈),却答不出「为什么大了就会」。诚实二:思维链没有正确性保证——写得头头是道,照样可能答错(答错的那 50 道抽查里,54% 是语义理解层面的大错)。后来的研究更扎心:模型写出来的思维链,未必是它真实的「想法」——实验里被暗示带偏了答案,思维链里却绝口不提那个暗示(Turpin et al. 2023)。于是圈内共识渐渐收敛成一句克制的话:思维链是性能工具,不是解释工具。「真推理还是高级模式匹配」的争论,至今没有定论。

但作为性能工具,它火得一塌糊涂。3 个月后,东京大学与 Google 的 Kojima 等人发现连 8 个示范都能省——只要在题目后面加一句「Let's think step by step(让我们一步一步想)」,零示范也涨分。这句话从此出圈,成了大模型时代第一句家喻户晓的「魔法咒语」。变奏接踵而至:self-consistency 让同一道题采样多条思维链、投票选答案(作者还是这个团队);Tree of Thoughts 把链长成树、允许回头重想。到今天,「思维链」已经下沉为工程日常语汇——做 agent 产品的人排错,第一个动作就是打开 trace 读模型的思维链。

真正的结局在两年后。2023 年,Jason Wei 离开 Google 加入 OpenAI;2024 年 o1 发布——不再靠提示词模型想一步,而是用强化学习直接训练模型生成又长又好的思维链,把「先想再答」从技巧内化成本能,「想多久」成了继「堆多大」之后新的规模维度。Wei 本人在发布时说得直白:别再靠提示要思维链了,用强化学习训它。随后 DeepSeek-R1 用纯强化学习让模型自己长出反思和回溯——你在 DeepSeek 界面上看到的那行「深度思考」,就是内化了的思维链。从「参数越堆越大」到「推理越想越深」,范式的接力棒在这里交接,而起点,正是 2022 年那 8 个手写的例子。顺带一句:今天你已经不用再念「step by step」的咒——推理模型自己会想,再念反而多余。咒语会过期,咒语点破的道理不会:给模型分配「想」的空间,它就还你更好的答案。

放进系列时间线收个尾。P01 到 P14 造出了一个又大、又快、又便宜的模型;P15 教会它听话;这一篇教会它——至此,「对齐与推理」凑齐了两块。但把镜头拉回对齐主线:P15 那套 RLHF 流水线好用却笨重——写示范、训裁判、跑 PPO,几个模型来回倒。2023 年,斯坦福几位研究者盯着那套目标函数看了很久,发现一条数学上等价的捷径:裁判可以不训,强化学习可以不跑,一步到位。下一篇 P17《DPO》,讲这个把三步流水线蒸成一个损失函数的漂亮魔术。

读完自测:先别往下翻,试着答

主动回忆一遍才记得住。三问,想好再看答案:

答案1. 差别只在示范例子里:答案前面多了一段人手写的推理过程——〈题目,答案〉变成〈题目,思维链,答案〉。模型照样学样,答题前先把中间步骤一步步写出来,把一次「直觉报数」拆成了多步推演;参数一个没动,动的只是问法。2. 消融实验:让模型输出与算式等长的点号来「白占算力」,成绩和标准提示一样——说明起作用的不是额外计算的量,而是用自然语言把中间步骤真的想出来,且想在作答之前(把思维链挪到答案后面,同样不涨分)。3. 因为它的增益只在约 100B 参数以上出现:小模型用思维链反而掉分——它们写得出流畅的步骤,但逻辑是错的;规模过了门槛,步骤才开始成立,分数陡然上扬。能力不是平滑长出来的,是突然解锁的。

一句话带走,和下一步

只记一句:思维链提示用 8 个手写示范,教大模型「先把推理一步步写出来、再作答」——不训练、不改参数,PaLM 540B 的小学数学成绩就从 17.9% 跳到 56.9%,掀翻了重型微调流水线;它揭示了两个事实——推理能力约 100B 参数才涌现,而标准问法给出的成绩只是大模型能力的下界——并在两年后被 o1 与 DeepSeek-R1 内化成推理模型的本能。

启后:模型会想了,但教它「听话」的那套 RLHF(P15)还是太重——写示范、训裁判、跑 PPO,几个模型来回倒。下一篇 P17《DPO》,讲斯坦福如何从 RLHF 的目标函数里解出一条数学等价的捷径:不训奖励模型、不跑强化学习,用一个损失函数直接从偏好数据学会对齐——把三步流水线,蒸成一步。

想再深入一点原论文:arXiv 2201.11903(《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》,Wei et al., Google, NeurIPS 2022)。关键前作:用自然语言解题步骤的开山之作 Ling et al. 2017《Program Induction by Rationale Generation》,以及造出 GSM8K、用「微调 + 答案校验器」立下前 SOTA 的 Cobbe et al. 2021(arXiv 2110.14168)。延伸阅读:零示范咒语 Kojima et al. 2022《Large Language Models are Zero-Shot Reasoners》(arXiv 2205.11916)、多路投票 Wang et al. 2022《Self-Consistency》(arXiv 2203.11171)、现象定名之作 Wei et al. 2022《Emergent Abilities of Large Language Models》。最优二手解读:Google AI Blog 2022 年 5 月的官方解读《Language Models Perform Reasoning via Chain of Thought》。/ 互动钩子:你平时用推理模型,会点开那段「深度思考」看它怎么想吗?有没有撞见过它的推理和最终答案对不上的时刻?评论区聊聊。

← 返回 AI 圣经目录