☰
思维链CoT:仅靠提示词激活大模型推理能力的里程碑论文
2026/10/18 7:33:04 网站建设 项目流程

做AI应用的人,大概都经历过这种画面:模型能把论文摘要写得比不少研究生还像样,你让它算“小明有5个苹果,小红又给了他2袋,每袋3个苹果,问小明现在有几个苹果”,它一本正经地输出一个错的答案。这事放在两年前几乎是无解的,但有一篇论文把局面彻底改了过来——就是标题里这篇《Chain-of-thought prompting elicits reasoning in large language models》,中文可以翻译为“思维链提示激发大语言模型的推理能力”。

这篇论文是我心里提示工程领域的“原点级文献”。它提出的思维链(Chain-of-Thought,下文简称CoT)做法,现在已经渗透到几乎所有大模型应用方案里。很多人只听过“思维链”三个字,却不知道它到底解决什么问题、为什么有效、边界在哪。这篇博文我把它的核心逻辑、实验设计、关键数据和后续影响拆开来讲,也分享一点我拿这个方法做真实业务时的体验。

如果你正在做提示词工程、研究大模型推理能力,或者想把大模型接入复杂任务链路,这篇论文值得反复读。

1. 这篇论文到底在解决什么问题

1.1 一个绕不开的背景:大模型会“说话”,但不会“想”

在CoT出现之前,少样本提示(few-shot prompting)的标准做法很简单:给模型看几个“问题-答案”对,让它照着回答。比如:

问:罗杰有5个网球,他又买了2罐网球,每罐有3个网球。现在他有多少个网球? 答:11。

只看这种示例,模型学到的是“问题后面接一个数字”。对于一步就能算出来的简单问题,这招够用;一旦问题变成多步推理,“猜数字”的模式就崩了。模型不是不会算,而是默认的输出模式压根不是“先算一步,再算下一步”,而是试图从输入直接跳到最终答案。这等于让一个学生口算算出三步综合算式,不给草稿纸,不出错才怪。

论文作者敏锐地抓住了这个矛盾:大语言模型在预训练时看过海量带有解题过程的文本——教科书解析、百科问答、论坛答疑,这些文本天然包含“先……然后……最后……”的思考结构。模型内部并不缺推理能力,缺的是把这种结构“引出来”的提示方式。

1.2 核心方法:在示例里塞进“思考过程”

于是作者提出了思维链提示:在少样本示例中,不仅给出问题和答案,还给出中间的推理步骤。

还是网球那个例子,CoT版本是这样写的:

问:罗杰有5个网球,他又买了2罐网球,每罐有3个网球。现在他有多少个网球? 答:罗杰一开始有5个网球。2罐网球,每罐3个,一共是6个网球。5加6等于11。所以现在有11个网球。

区别看似只是多写了两句话,但性质完全不同。模型看到的不再是“问题→答案”的跳跃,而是“问题→若干个小步骤→答案”的完整推导路径。它在回答新问题时,会模仿这种路径:先生成中间推理文字,再给出最终结论。

论文里把这种“中间的推理步骤序列”称为思维链。整个方法不调整模型任何参数,不训练、不微调,只是修改提示词。这在那时是很反直觉的——不做任何训练,只靠改输入文本,就能让模型在推理任务上的成绩大幅上涨。

1.3 为什么说这是“引出”而不是“教会”

论文标题里有个词用得很讲究:elicit,引出。作者刻意区分了“教会模型推理”和“引出模型已有推理能力”这两个概念。

如果CoT是“教会”,那任何规模的模型都应该有效果。但实验显示,参数量在百亿级别以下的模型,用了CoT不仅没涨,有时还比标准提示更差。只有模型规模跨过某个阈值之后,CoT才突然发力,而且在千亿级模型上效果惊人。

这说明CoT不是给模型灌输了新能力,而是激活了模型在预训练阶段已经具备的能力。打个比方:一个水平不错的棋手,你直接让他盲目下快棋,他会下得很平庸;但如果你递给他一张记录纸,让他在对弈时写下每一步的思考,他就能发挥出真正的实力。思维链就是那张记录纸。

2. 思维链为什么有效:我的三层理解

2.1 第一层:语言模型的“自然语言解题轨道”

很多人把大语言模型想象成一个“知识问答器”,问什么答什么。但本质上,它是“下一个词预测器”——预训练任务决定了它擅长的是“续写符合文本分布规律的文本”。

人类在解决复杂问题时留下的文本长什么样?解题答案、技术手册、人物传记,都带有明显的因果链和递进结构:“由于……所以……”“第一步……第二步……”。大模型在海量这类文本上做预测训练,已经非常熟悉这种“一步步推导”的文本形态。

标准提示相当于强迫模型走一条它不熟悉的捷径:从问题直接蹦到答案。CoT则是把它放回熟悉的轨道:像教科书那样先分析、再推导、最后总结。模型在“畅所欲言地写推导过程”这个任务上,比“直接给答案”要顺手得多。

2.2 第二层:把隐式计算变成显式工作记忆

更深一层的原因是,多步推理本质上是一个需要“工作记忆”的过程。人类心算三位数乘法容易出错,但用纸笔一步步算就不会,因为纸面记录扩展了大脑的工作记忆。

大模型生成文本时,上下文窗口本身就是它的“纸面”。CoT强制模型先把中间结果写成文本,这些文本成为后续生成的上下文。模型在算下一步时,可以直接看到自己上一步写下的结论,相当于把内部隐式计算外显成可复用的过程记录。

这解释了为什么“步骤写下来”比“心里憋大招”更稳:模型不需要在单个前向计算中把整个推理链压缩成一个隐藏状态里的隐式结论,而是可以在若干token的生成过程中,逐步完成逻辑推进。

2.3 第三层:分解降低单步难度,错误空间被压缩

任何推理任务都可以看成两步:把事情拆成子问题,然后逐个解决子问题。CoT把这道“分解题”替模型做了一半——示例本身就是分解的样板,模型只需要模仿这个分解风格,把新问题拆成类似的步骤即可。

每一步子问题通常比原问题简单得多。比如“买了2罐,每罐3个”这个问题,拆成“2乘以3等于几”“5加6等于几”之后,每一步都是模型相当擅长的单步计算。单步计算的成功率都很高,组合起来自然就把整体准确率拉上去了。

反过来看,如果不加CoT,模型是在做一个完整的多步映射:输入问题,输出最终数字。中间任何一个环节错了,最终答案就是错的,而且模型没有机会“看到”自己错在哪一步。CoT相当于在每个中间步骤上给了模型一次“修正和缓冲”的机会。

3. 实验设计拆解:作者是怎么说服学术界的

3.1 用九类任务覆盖“推理”的不同形态

光在数学题上有效还不够,论文最扎实的地方在于任务选择。作者没有只挑一种任务刷分,而是选了三大类九个数据集:

  • 数学应用题:GSM8K、SVAMP、MAWPS、AQuA。这类任务要求把自然语言描述转化成运算步骤,既考理解,又考计算。
  • 常识推理:CommonsenseQA、StrategyQA。问题本身不需要复杂计算,但要求基于常识做多步推断,比如“如果某人没有驾照,他还能做什么?”
  • 符号操作:Last Letter Concatenation、Coin Flip。这类任务与人类知识无关,纯粹考验模型按规则做多步操作的能力,比如“把给定几个单词的最后一个字母拼起来”。

这个任务矩阵设计得很聪明。数学题验证CoT能提升数值计算能力;常识推理验证CoT不只是在“背公式”;符号操作则证明CoT是一项通用的“多步规则执行”能力,跟语义知识和计算能力都无关。

3.2 提示怎么写的:少而精的人工示例

论文里的CoT示例是人工手工编写的,每个任务大概配了8个左右示例。别小看这个“人工”字,写示例的质量直接决定效果。

我看了论文附录里的提示原文,写法上有几个共性:示例覆盖不同的题型难度,不是千篇一律的“加法套加法”;每道示例的推导过程都是完整自然语言,不是胡乱堆公式;答案放在最后,并且有明确标志性的总结句,比如“所以答案是……”。

这种设计让模型看到的是一个“丰富的解题风格模板”,而不是“固定的解题套路”。如果示例太单一,模型学到的是照猫画虎;如果示例覆盖了多种拆解思路,模型才能泛化到没见过的问题上。

3.3 规模扫描:为什么小模型不灵,大模型突然起飞

论文做了一组非常关键的模型规模扫描实验:从几十亿参数一直测到几千亿参数,每个规模都同时跑标准提示和CoT提示。

结果画出来是那张经典的“涌现图”:小模型上两条线几乎重合,CoT甚至略差;模型规模到了百亿级之后,两条线开始分开;到了千亿级,CoT的曲线开始明显抬头;在最大的模型上,两条线之间的差距变成了一个巨大的剪刀差。

这个现象背后有很强的现实含义:CoT不是“免费的午餐”,它的前提是模型能力已经达到某个水位。如果手里的模型只有几十亿参数,与其折腾思维链,不如把精力花在数据清洗和微调上。而如果模型规模上去了,CoT就是性价比极高的能力放大器。

3.4 最震撼的一组数字:GSM8K上的翻倍提升

在所有实验结果里,最常被引用的是GSM8K上的数据。在参数量约5400亿的模型上,标准提示的准确率只有约17.9%,换成CoT提示后直接飙到56.3%。

要知道GSM8K是当时公认难啃的数学应用题数据集,此前的最优结果都是靠大量专门训练才能拿到的。而这篇论文只改了提示词,一行参数都没动,就把成绩翻了三倍还多。这个结果让整个圈子都意识到:提示方式的潜力可能被严重低估了。

当然,也要冷静看待:56.3%的准确率意味着仍有接近一半的题会答错。CoT是大幅提升,不是完美解决。后面还有大量工作是在这个基础上继续修补,比如自洽性采样、工具增强等。

4. 读论文容易忽略的三个细节实验

4.1 中间步骤用自然语言还是数学表达式?

论文里有一个让我印象很深的对比实验:同样是“把思考过程写出来”,用自然语言的CoT,和用数学表达式的CoT,效果差距很大。

作者尝试让模型用类似“x=3*5=15”这样的符号形式作为中间步骤,效果明显不如自然语言的“每罐有3个网球,有2罐,所以一共有6个网球”。这个结果很反直觉:明明模型底层是数学计算系统,为什么用自然语言解释效果更好?

我的理解是,模型在预训练阶段接触到的“带推理过程的自然语言文本”,远多于“带推理过程的公式流文本”。自然语言的生成路径在概率分布里更陡峭、更顺滑,模型更容易“顺着写下去”。纯公式的推导路径在训练数据里比较少见,模型生成起来反而别扭。这就提醒我们:写CoT示例时,不要把它写成算术草稿,要把它写成讲解稿。

4.2 控制对照组变量:标准提示必须用同样数量的示例

论文在对比标准提示和CoT提示时,刻意保持了示例数量一致。这个细节容易被忽略,但实际上是实验设计里很重要的一环——如果CoT用了8个示例而标准提示只给2个,实验结果就没有说服力,无法分辨是“示例数量”还是“思维链”带来的增益。

顺带一提,示例数量本身对CoT效果也有影响。论文发现示例数量太少,模型可能学习不到足够的拆解模式;数量太多,收益逐渐饱和。实际操作中,我一般每个任务准备5到8个高质量示例,刻意覆盖不同难度和不同解法,这个“少而精”的策略和论文的发现是吻合的。

4.3 答案格式的隐式约束

论文里的CoT示例虽然写了完整推理过程,但最后都会有一个明确的收尾句式,比如“所以答案是11”。这个收尾不是随便写的,它有实际作用:模型在抄写示例风格时,会养成“推理完后给出明确结论”的习惯,保证模型的最终输出是干净可解析的答案。

这个细节到工程落地时就变得非常重要。如果最后没有这个收尾句,模型可能洋洋洒洒讲一大堆推理,最后不给你一个明确的答案。我在实际调模型时就吃过这个亏,后来在提示里强制要求“最后用一行单独输出答案”,解析侧才稳定下来。

5. 这篇论文孵化的后续方向与工程落地建议

5.1 从CoT到零样本思维链

CoT需要人工写演示示例,还是有点麻烦。后来有一批工作在CoT的启发下发现,只要在问题后面加上一句“Let's think step by step”(让我们一步一步思考),模型就会自己生成推理过程,不需要任何示例。

这就是零样本思维链(Zero-shot CoT)。它进一步证明了一个观点:模型需要的不是具体的示例内容,而是“触发推理模式”的信号。一句“让我们一步一步思考”就是对输出分布最直接的牵引。不过零样本CoT的效果通常不如精心设计示例的CoT稳定,尤其是在复杂推理任务上。

5.2 自洽性:让模型多推理几次再投票

CoT后处理里最有名的一个改进就是自洽性(Self-Consistency):既然大模型生成带有随机性,那就让它对同一个问题生成多条不同的推理链,分别得出答案,然后做多数投票。

这个方法在GSM8K上把准确率又往上推了大概10个点。它的哲学很简单:推理链可能走得歪,但多条独立采样的推理链如果最终指向同一个答案,这个答案大概率是对的。这也带出一个工程心得:在预算允许的前提下,多次采样投票往往是提升准确率最粗暴而有效的手段,比反复精调提示词更省心。

5.3 我拿CoT做业务时踩过的三个坑

  • Token成本飙升:CoT让输出长度从几个词变成几百个词,延迟和成本肉眼可见地涨。在实时场景里,需要评估“多花这些token换来的准确率提升是否值得”。
  • 假推理链:模型在能力不足或知识缺失时,会编造一条看起来头头是道、实际上从头错到尾的推理链。这种“有逻辑感的胡说八道”比直接答错更危险,因为没有经验的用户很容易被过程打动。
  • 嵌套多轮任务:如果将CoT用于多步Agent系统,中间任一步出错,后面所有步骤都会被带偏。所以我现在更多地让模型用CoT来规划步骤,但具体计算尽量交给工具执行,比如调计算器、查数据库,而不是让模型真的“人肉计算”。

5.4 最佳实践:CoT适合解决哪些任务

结合业务实践,我自己的判断是:CoT最适合“步骤可写、结果可验”的任务。比如数学应用题、逻辑推理、流程规划、测试用例生成。这类任务有一个明确的多步结构,过程可以被描述,最终结果可以被校验。

CoT不适合的任务是:需要大量外部知识的问答(此时该上RAG检索),以及单轮直觉判断(比如情感分类、意图识别)。在这些任务上强行套CoT,往往只会增加延迟,正确率提升有限。

6. 读论文时的一点方法论收获

现在许多人把论文当“结果说明书”来读,只记结论。但这篇论文真正值得学习的是它的思想转变过程:从“模型不能推理”到“模型不会在默认模式下展示推理”,这是一个很深刻的视角转换。

建议拿到这篇论文时,不要先读文字,先看实验图。重点看那张“模型规模与准确率”的曲线图,看懂两条线如何相交、分开、放大差距,远比背几个数字重要。再看附录里的提示示例原文,看作者如何用8个句子构建出一个能泛化的解题风格,这本身就是教科书级别的提示工程训练。

我在实际工作中养成的一个习惯是:面对任何复杂任务,先问自己——“如果让我给一个聪明但没做过类似任务的人讲清楚怎么做,我会分几步讲?”把这几个步骤自然地用自然语言写进示例,就是一个合格的CoT提示。这个习惯对我帮助很大,或者说,我现在看任何提示方案,都会先判断它与人类讲解思路的贴近程度。

既然你读到这里,说明你是真的想搞懂推理提示,而不只是会抄一个公式。CoT这篇论文是这条路上一块很好的铺路石,顺着它去读后续的自洽性、工具增强、推理智能体,你会慢慢搭起对“大模型推理能力”的完整认知框架。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询