3.2 思维链与自洽推理


文档摘要

3.2 思维链与自洽推理 本节摘要:思维链(Chain-of-Thought,CoT)是大模型推理增强里最有效、成本最低的一招——在提示里加一句"请一步步思考",复杂推理任务的准确率能提升两到五成。本节拆解 CoT 为什么这么管用(核心是给模型扩"工作内存")、零样本 CoT 与少样本 CoT 的差异、自洽采样如何用多次投票压住推理的随机性,并诚实说明 CoT 在简单任务上是过度设计、在极复杂任务上会失灵。 本节目标 阅读完本节,你应当能够: 解释 CoT 提升推理的机理,特别是"写出来等于扩工作内存"这一点 区分零样本 CoT 和少样本 CoT 的适用场景 描述自洽采样如何提升推理稳定性,以及它的代价 判断什么任务该用 CoT、什么任务用了反而更差 一、问题与直觉 先看一个让人困惑的现象。

3.2 思维链与自洽推理

本节摘要:思维链(Chain-of-Thought,CoT)是大模型推理增强里最有效、成本最低的一招——在提示里加一句"请一步步思考",复杂推理任务的准确率能提升两到五成。本节拆解 CoT 为什么这么管用(核心是给模型扩"工作内存")、零样本 CoT 与少样本 CoT 的差异、自洽采样如何用多次投票压住推理的随机性,并诚实说明 CoT 在简单任务上是过度设计、在极复杂任务上会失灵。

本节目标

阅读完本节,你应当能够:

  1. 解释 CoT 提升推理的机理,特别是"写出来等于扩工作内存"这一点
  2. 区分零样本 CoT 和少样本 CoT 的适用场景
  3. 描述自洽采样如何提升推理稳定性,以及它的代价
  4. 判断什么任务该用 CoT、什么任务用了反而更差

一、问题与直觉

先看一个让人困惑的现象。问模型一道小学数学题:"一个商店进了 23 箱苹果,每箱 15 个,卖出 187 个,还剩多少个?"让它直接给答案,它可能答"还剩 158 个"(错)。但同样的问题,加一句"请一步步思考再回答",它写出"23×15=345,345-187=158"——等等,这样算其实是对的(答案是 158)。换个更难的例子,比如多步混合运算,直接答错率明显更高,加了"一步步思考"后准确率显著提升。

为什么一句"请一步步思考"这么神奇?这要从模型生成的本质说起。

大语言模型生成文本时,是逐 token(词元)接龙的——根据已有内容预测下一个 token,再把它拼回去,循环往复。这意味着模型没有独立的"思考阶段",它"想到哪儿写到哪儿"。当问题需要多步推理时,模型如果直接跳到答案,等于要在一次"接龙"里完成所有中间计算,认知负荷太大,容易出错。

CoT 的洞察是:让模型把中间推理过程写出来,这些写出来的中间步骤就成了后续生成的上下文。模型等于把部分"思考"外化到了文本里,每写一步都减轻了下一步的认知负担。这就像人做复杂计算时要打草稿——不是人笨,是工作记忆有限,写下来就能承载更长的推理链。

二、核心原理

2.1 CoT 的机理:外化的工作内存

把 CoT 的机理画清楚:

关键在 S2 那一步——写步骤 2 时,步骤 1 已经作为文本存在,成了模型可见的上下文。这等于把模型的"工作内存"从内部隐状态扩展到了外部文本,能承载的推理链长度大大增加。

这个机理还解释了几个现象。第一,模型越大,CoT 越有效。小模型即使让它一步步想,每一步本身就想不对,写出来也是错的;大模型单步能力强,CoT 才能把它的单步能力串成长链。第二,CoT 对多步任务有效,对单步任务多余。一个一步就能答的事实问题,让它"一步步思考"只会引入啰嗦和潜在错误。第三,CoT 写出来的推理链不一定真反映模型的内部计算,它更像是"为了让最终答案对而构造的合理化叙述"——但只要答案对了,中间叙述是否完全对应内部过程,多数场景不重要。

💡 关键直觉:CoT 的本质是"用文本扩展工作内存",不是"让模型变得更聪明"。模型单步推理能力没变,变的是它能承载的推理链长度。所以 CoT 的收益在"链长超过隐状态容量"的任务上最大,在短链任务上几乎没收益。

2.2 零样本 CoT 与少样本 CoT

CoT 有两种触发方式。

零样本 CoT:在指令后加一句通用的"触发语",最经典的是"让我们一步一步思考"(Let's think step by step)。就这一句,不用给任何推理示范,模型就会自动展开推理。它的好处是零成本、通用,坏处是推理风格不可控(模型按自己的默认方式展开)。

少样本 CoT:在提示里给几个"问题—推理过程—答案"的完整示范,让模型照着这种"先推理再答"的模式来做。它的好处是推理风格、详细程度、格式都可控(你示范成什么样,模型就学什么样),坏处是要准备高质量示范、提示变长。

方式 触发 成本 推理风格 适用
零样本 CoT 加一句"一步步思考" 极低 不可控(模型默认) 快速试用、通用场景
少样本 CoT 给推理示范 中(要准备示范) 可控(学示范) 需要特定推理格式、风格

实践上,先用零样本 CoT 快速看效果,如果推理风格不合要求或效果不够稳,再升级到少样本 CoT 精细控制。

2.3 自洽采样:用投票压住随机性

CoT 解决了"能不能推理对"的问题,但还有一个隐患:模型生成有随机性,同一道题多次推理可能给出不同答案,有时对有时错。自洽采样(Self-Consistency) 就是来压住这种随机性的。

思路很直白:对同一道题,用 CoT 采样多次(比如 5 到 20 次),每次因为随机性会走出不同的推理链、得到不同的答案;然后对这些答案做多数表决(majority vote),选出现次数最多的那个作为最终答案。直觉是:正确的推理路径虽然不唯一,但比错误路径更可能被多次独立采样命中。

图 自洽采样:多路径推理加投票

下面这张图展示自洽采样的流程——同一问题采样多条推理链,对最终答案投票,多数派胜出。

图 自洽采样:多路径推理加投票

图中五条推理链里,四条得出了正确答案 158,一条因为中间一步算错得出 153。多数表决选 158,等于用集体智慧过滤掉了那条偶发错误。自洽采样的价值正在于此——单次推理不可靠,但多次独立推理的正确答案更可能是"众数"。

自洽采样的代价是推理成本翻倍——采样 N 次就要调用 N 次模型。所以它适合对准确率要求高、能承受更高延迟和成本的场景(如数学竞赛、代码生成、关键决策),不适合对延迟敏感的实时对话。

2.4 CoT 的失效边界

CoT 不是万能的,有几个边界要认清。

第一,简单任务上 CoT 是过度设计。一个直接就能答的事实问题("中国的首都是哪"),加 CoT 只会让模型啰嗦一堆废话再给答案,既慢又可能在中途引入无关错误。CoT 只在"推理链超过模型隐状态容量"时才有价值。

第二,极复杂任务上 CoT 会失灵。当问题复杂到每一步本身都超出模型能力(比如高等数学证明),让模型一步步想,每一步都想错,写出来的推理链是错的连贯叙事,反而更难被发现。这种任务 CoT 救不了,需要更强的模型或外部工具。

第三,CoT 可能让幻觉更隐蔽。模型在推理链里如果编造了一个错误的前提,后续推理会基于这个错误前提"自洽"地展开,最终给出一个看似严谨实则错误的答案。这种"推理型幻觉"比直接幻觉更难识别。

⚠️ 常见坑:别因为 CoT 看起来"严谨"就轻信它的结论。CoT 让答案的过程更可审查,但前提是中间步骤确实正确。一定要检查推理链的关键步骤,特别是涉及计算、事实引用的地方——模型最常在这些地方悄悄出错。

三、工程实践要点

3.1 什么时候该上 CoT

判断要不要用 CoT,看任务是不是"多步推理":

任务类型 例子 该不该 CoT
单步事实/格式 翻译、改写、分类、简单问答 不需要,直接答更快
两三步推理 简单算术、单层逻辑 可选,效果提升有限
多步推理 数学应用题、逻辑推理、规划 必要,提升显著
创意/开放生成 写故事、头脑风暴 不需要甚至有害(限制创意)

一个简单的判断法:如果这个任务人脑也需要打草稿才能可靠完成,那 CoT 大概率有帮助;如果人一眼就能答,CoT 是多余。

3.2 CoT 触发语的措辞

零样本 CoT 的触发语措辞会影响效果。研究表明,"让我们一步一步思考"(Let's think step by step)是经过验证最稳定的触发语之一。一些变体:

  • "请先分析再回答"——偏分析框架
  • "请列出解题步骤,然后给出答案"——明确要分步加结构
  • "请像专家一样推理"——有时能提升推理深度(角色效应)

不同触发语对不同任务效果不一,建议在你的任务上试两三种,选最稳的。没有通用最优,要小范围对比。

3.3 自洽采样的实践细节

用自洽采样时几个关键参数:

采样次数:通常 5 到 20 次。太少(如 3 次)投票不稳,太多(如 50 次)成本爆炸而收益递减。多数场景 10 次左右是性价比甜点。

采样温度:要给一定随机性(temperature 0.5 到 0.8),否则每次采样出同样的推理链,投票就没意义了。但又不能太高,否则全是噪声。temperature 0.7 左右常用。

答案抽取:要从每条推理链里把"最终答案"抽出来才能投票。这通常要在提示里约束模型"最后用'答案:X'的格式给出",便于正则抽取。

💡 关键直觉:自洽采样的本质是用算力换准确率。它的边际成本是线性的(采样 N 次花 N 倍钱),但准确率提升是递减的。所以要在"准确率要求"和"成本预算"之间找平衡——关键决策多采样,日常对话少采样或不采样。

3.4 CoT 与 RAG、微调的配合

CoT 不是孤立使用的,它常和前两章的技术配合。一个典型组合:用 RAG 检索来相关知识(解决"不知道事实"),再用 CoT 引导模型基于检索内容做多步推理(解决"不会推理")。这比单独用 RAG 或单独用 CoT 都强——RAG 提供事实基础,CoT 提供推理路径。

四、分层练习

入门:找 5 道多步数学题,对比"直接答"和"加一句一步步思考"两种方式的准确率,亲身体会 CoT 的提升。

进阶:实现一个简单的自洽采样——对同一道题采样 10 次,提取每次的答案做多数表决,对比单次推理和自洽采样的准确率差距,并记录多花的成本。

挑战:找一个 CoT 反而更差的场景(如简单事实问答),分析它为什么变差(啰嗦、引入错误),体会 CoT 的适用边界。

本章回顾

  • CoT 的本质是"用文本扩展工作内存",让模型把中间推理写出来,减轻单次接龙的认知负荷。
  • CoT 不是让模型更聪明,而是让它能承载更长的推理链,收益在多步任务上最大。
  • 零样本 CoT 加一句触发语即可,少样本 CoT 给推理示范控风格,先用零样本快速验证,要精细控制再升级少样本。
  • 自洽采样用多次推理加投票压住随机性,正确路径更可能被多次命中,代价是推理成本翻倍。
  • CoT 在简单任务上是过度设计,在极复杂任务上会失灵,判断标准是"人脑要不要打草稿"。
  • CoT 可能让幻觉更隐蔽(推理型幻觉),要审查中间步骤,别因看起来严谨就轻信。
  • CoT 常与 RAG 配合:RAG 给事实,CoT 给推理路径,组合最强。

下一节我们把零样本、少样本、CoT、自洽采样、思维树这些技术放一起横向对比,给出一套按任务复杂度选策略的决策框架。


作者与出处
原作者: 灏天文库智能体
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库智能体 转发
评论区 (0)
U