小明是王老师班上典型的“感觉型选手”——数学卷子上永远只写一个孤零零的答案,对了不知道自己怎么对的,错了更不知道错在哪。有一次算 23×47,他大笔一挥写下“1091“,离正确答案只差十位上的一点点。王老师问他怎么想的,他只能挠头:”凭感觉。“于是王老师立了条规矩:”所有应用题,必须把演算过程一步一步写在卷子上——先拆数、再分步算、最后汇总。”不到一个学期,小明算对的概率明显提高,王老师还能一眼指出他错在第几步。 这个“试卷上的规矩”,正是大模型推理增强技术——思维链(Chain-of-Thought,简称 CoT)的缩影:通过设计提示词,让大模型在给出最终答案之前,先“把推理过程说出来”,就像小明在草稿纸上一步步演算。这个过程不需要重新训练模型、不需要改模型结构,只需在 Prompt 里加一句“请一步一步思考”,或给模型看几个带推理过程的示范,模型的数学、逻辑、多跳推理能力就会“像开了窍”一样提升。接下来,我们就从这个故事出发,把思维链的原理、触发方式和应用场景一次讲透。

岗位关联

对 AI 从业者来说,思维链是 Prompt 工程里成本最低、见效最快的“推理增强器”:不训练、不调参,只改提示词就能让大模型在数学和逻辑任务上大幅提分,是你增强 AI 应用推理能力时的第一件趁手工具。

目录
  1. 可视化演示
  2. 思维链概念:从“报答案”到“写过程”
  3. Step-by-step 触发:怎么让模型“写过程”
  4. Zero-shot CoT:一句魔法短语
  5. Few-shot CoT:用示范带出推理
  6. 数学推理应用:过程的力量
  7. 效果评估:用数据说话
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示Chain-of-Thought逐步推理链、Zero-shot与Few-shot CoT对比,以及在GSM8K数学推理任务上的准确率提升效果。

本节配有交互动效(进入视口后自动加载,约 3KB)。

CoT推理链:step by step逐步推理 Q=问题输入,A=最终答案 S1-S3=中间推理步骤 触发短语:Let us think step by step Q -> S1 -> S2 -> S3 -> A

思维链概念:从“报答案”到“写过程”

王老师批改试卷时最头疼的不是学生答错,而是只看到答案、看不到思路。小明以前就爱“报答案”——对了不知道为什么对,错了更不知道错在哪。王老师立下“必须写演算过程”的规矩后,小明的错误率肉眼可见地降了下来。道理很简单:把步骤写到纸上,每一步都被迫接受检查,思路自然就清晰了。

大模型也面临同样的困境。当你直接问 GPT“23×47 是多少”,它会一口气“报答案”——因为语言模型本质上是在预测下一个最可能的字词,它没有强制自己“先算中间步骤”的机制。遇到需要多步计算的问题,答案经常是“感觉对但实际错”,就像小明凭感觉写下的 1091。这就是所谓“隐式推理不足”:推理过程藏在模型内部的注意力权重里,既不受约束,也无法检查。

思维链(Chain-of-Thought, CoT)正是针对这个弱点提出的提示方法:在给出最终答案之前,显式地生成一串中间推理步骤 \(s_1, s_2, \ldots, s_n\),再给出最终答案 \(a\)。从概率角度看,它把“一步猜出答案”变成了“一步步推出答案”:

所以思维链的本质,就是把“隐式推理”变成“显式过程”。王老师的规矩之所以有效,是因为过程逼着每一步都落在纸面上;CoT 提示之所以有效,是因为它逼着模型把“心里的小算盘”逐字打出来。知道了这一点,下一步的问题就变成了:怎么自然地把这个过程“逼”出来?

P(a∣x)vsP(s1,s2,…,sn,a∣x)P(a \mid x) \quad \text{vs} \quad P(s_1, s_2, \ldots, s_n, a \mid x)
公式通俗说明:左边是“一步到位”报答案的概率,右边是“先写一串中间步骤再写答案”的联合概率——中间步骤不仅得到生成机会,也让最终答案有了可被检验的依据。
  1. 直接报答案\(P(a \mid x)\) 表示给定问题 \(x\) 时直接输出答案 \(a\) 的概率,就像小明不写过程直接报数。
    P(a∣x)P(a \mid x)
  2. 写过程的答案\(P(s_1, s_2, \ldots, s_n, a \mid x)\) 表示模型先输出中间步骤 \(s_1\) 到 \(s_n\),再输出答案 \(a\) 的联合概率。
    P(s1,s2,…,sn,a∣x)P(s_1, s_2, \ldots, s_n, a \mid x)
  3. 链条的本质每一步步骤都被显式建模,答案不再是“凭空冒出来”的独立事件,而是建立在可见的中间过程之上。
    s1→s2→⋯→sn→as_1 \to s_2 \to \cdots \to s_n \to a

Step-by-step 触发:怎么让模型“写过程”

王老师想让小明写过程,其实有两种办法:一是直接下命令“每一步都写出来”;二是先给他看一道带完整过程的例题,让他照着葫芦画瓢。前者省事但略显生硬,后者费点口舌但更稳。两种办法背后是同一个要求——step by step,一步一步来。

对应到大模型上,这就是思维链的两种触发方式。指令式引导是指在 Prompt 里直接写“请一步一步地思考”(step by step),用一句指令切换模型的输出模式;演示式引导是指在上下文中给出带推理过程的示例(demonstrations),让模型模仿示例的格式作答。开发者可以根据任务复杂度和手里的资源,灵活选择其中一种或组合使用。

为什么“要求一下”就管用?因为大模型是自回归生成器:每个新 token 的生成都取决于之前已经生成的所有 token。一旦提示词里出现了“让我们一步一步思考”,后续生成就更倾向于输出步骤序列,而不是直接跳到结论。这种逐 token 接龙的条件关系可以写成:

两条触发路径各有所长:指令式零成本、一句话就上;演示式更可控、适合复杂任务。接下来两节,我们分别看看这两条路径的代表——Zero-shot CoT 和 Few-shot CoT。

P(sk∣x,s1,s2,…,sk−1)P(s_k \mid x, s_1, s_2, \ldots, s_{k-1})
公式通俗说明:第 k 步推理内容的出现概率,取决于题目和前面已经写出的 k−1 步——每一步都“站在前一步的肩膀上”,这正是“链条”二字的含义。
  1. 第 k 步\(s_k\) 表示整条推理链中的第 \(k\) 个步骤,例如"23×40=920"。
    sks_k
  2. 已写出的前文\(s_1, s_2, \ldots, s_{k-1}\) 是模型之前已经生成的步骤,它们构成生成第 \(k\) 步时的上下文。
    s1,s2,…,sk−1s_1, s_2, \ldots, s_{k-1}
  3. 逐字接龙整个式子表示“在题目和前面所有步骤的条件下生成当前步骤”的概率——每步都受上一步约束,链条因此连贯。
    P(sk∣x,s1,…,sk−1)P(s_k \mid x, s_1, \ldots, s_{k-1})

Zero-shot CoT:一句魔法短语

王老师先在班上试了最省事的办法——不发任何例题,只丢下一句“把过程写出来!”。结果大部分学生都能照做,尤其对那些中等难度的题,有过程比没过程强得多。这就是零样本(Zero-shot)情境:不靠示例,只靠一句话触发思维链。

2022 年,研究人员发现了一个惊人的现象:只要在问题后面加上一句“Let's think step by step“(让我们一步一步思考),大模型的推理准确率就能大幅提升。原因在于,模型在训练语料里见过大量”先思考后作答“的文本,这句话就像一个开关,把模型拨到了”推理模式“:它不再试图直接蹦结论,而是先输出一段像模像样的推理过程。从形式上看,Zero-shot CoT 只是把 Prompt 从单纯的问题 \(x\),变成了”问题 + 触发短语”的组合:

但 Zero-shot CoT 并非万能:对只需一步推理的简单任务,这句话纯属多余,还白白增加 token 开销;对需要领域知识的复杂推理,它又常常“带不动”。王老师的班里有几个基础弱的学生,光喊“写过程”也写不出像样的过程——这时候就需要掏出几道例题示范了,这正是下一节的主角。

a^=arg⁡max⁡aP(a∣x,cstep)\hat{a} = \arg\max_a P(a \mid x, c_{\text{step}})
公式通俗说明:在“问题 + 请一步一步思考”的共同条件下,选出最可能的答案。触发短语把答案的概率分布从“直接蹦结论”拉向“推导后作答”。
  1. 最终答案\(\hat{a}\) 表示模型最终输出的答案。
    a^\hat{a}
  2. 触发短语\(c_{\text{step}}\) 即“Let's think step by step“,它被拼在问题后面,充当”推理模式开关”。
    cstepc_{\text{step}}
  3. 条件概率\(P(a \mid x, c_{\text{step}})\) 表示在问题与触发短语共同条件下答案 \(a\) 出现的概率。
    P(a∣x,cstep)P(a \mid x, c_{\text{step}})
  4. 取最大\(\arg\max\) 表示在所有候选答案中挑选概率最高的那个作为输出。
    arg⁡max⁡a\arg\max_a

Few-shot CoT:用示范带出推理

王老师发现光喊口号不管用后,改成在黑板上先写两道示范题:第一题完整写出“拆数→分步→汇总”的全过程,第二题写到一半,留给学生补完。这叫少样本(Few-shot):例子的说服力,永远比一句空泛的要求强。

Few-shot CoT 就是在 Prompt 里放入若干组「题目 + 带推理过程的作答」作为示例,再附上真正要解决的新题目。模型看到示例里的推理模式后,会在新题上“照着写”。和标准 Few-shot 的关键差别在于:普通示例只给“题目→答案”,CoT 示例给的是“题目→推理步骤→答案”。研究表明,真正起作用的是推理步骤本身,而不是示例里的答案——模型学的是“如何写过程”的格式,而非死记硬背结果。形式化地看:

把两种方式摆在一起看:Zero-shot CoT 是“空口要求”,Few-shot CoT 是“以身作则”。当任务越复杂、模型规模越小,示范的价值就越明显。实操中还有个技巧:示例的推理过程也要用 CoT 风格,且宁缺毋滥——放三五个高质量示范,远比堆一大堆残缺示范效果好。

a^=arg⁡max⁡aP(a∣x,e1,r1,e2,r2,…,em,rm)\hat{a} = \arg\max_a P(a \mid x, e_1, r_1, e_2, r_2, \ldots, e_m, r_m)
公式通俗说明:在 m 组「示例题目 \(e_i\) + 推理过程 \(r_i\)」的示范下生成答案,模型从示例里学到的是写过程的模式。
  1. 示例题目\(e_i\) 表示第 \(i\) 个示例的问题文本,例如“小明有 23 个苹果,每箱装 47 个”。
    eie_i
  2. 示例推理\(r_i\) 是与 \(e_i\) 配对的推理过程与答案,Few-shot CoT 的关键就是把 \(r_i\) 写完整。
    rir_i
  3. 示范数量\(m\) 是示例的个数,实践中通常 3~5 个即可,并非越多越好。
    mm
  4. 模仿生成整个条件列表让模型“照着示例的格式”完成新问题 \(x\) 的推理。
    x,e1,r1,…,em,rmx, e_1, r_1, \ldots, e_m, r_m

数学推理应用:过程的力量

王老师最欣慰的是,养成写过程的习惯后,小明的应用题正确率肉眼可见地提高了。数学题是思维链最肥沃的土壤:它有明确的步骤、可复算的中间量,而且“看起来会做”和“真能做对”之间差距巨大——这正是大模型最容易翻车的地方。

直接问大模型“23×47 等于多少”,它可能给出 1091 这种接近但错的答案;改用 CoT 提示后,模型会先做乘法分配律拆解、再分步计算、最后汇总,错误率显著下降。在 GSM8K 等数学基准上,思维链常常能带来数倍于标准 Prompt 的准确率提升。一个典型的思维链推理过程长这样:

思维链在数学应用中还有两个额外赠品:结果验证与错误定位。因为每一步都暴露在文本里,下游程序可以复算每个中间值——就像王老师能指着试卷说“你错在 920+161 这一步”,而不是笼统地打一个大红叉。这种“可审计的推理”,正是金融、教育等严肃场景最看重的能力。

23×47=23×(40+7)=23×40+23×7=920+161=108123 \times 47 = 23 \times (40 + 7) = 23 \times 40 + 23 \times 7 = 920 + 161 = 1081
公式通俗说明:一整套“拆数→分配→分步算→汇总”的推理链,每一步都是上一步的自然延续,最终答案 1081 可以被逐步复算验证。
  1. 拆数\(23 \times (40 + 7)\) 利用乘法分配律,把 47 拆成 40 和 7。
    23×(40+7)23 \times (40 + 7)
  2. 分配\(23 \times 40 + 23 \times 7\) 把乘法拆成两个独立的子问题。
    23×40+23×723 \times 40 + 23 \times 7
  3. 分步计算\(920 + 161\) 得到两个中间结果,各自都能独立验算。
    920+161920 + 161
  4. 汇总验证\(1081\) 相加得到最终答案,同时整条链路可被下游程序复算。
    10811081

效果评估:用数据说话

学期结束时,王老师拿出成绩单做了个对比:小明写了完整过程的题目,正确率比“空手答题”时高出近三倍。数据一摆出来,全班都服了“写过程”的价值。评估思维链的效果,同样要拿出硬指标。

主要看三个方面。第一是准确率:在同一批基准题(如 GSM8K 数学题、多跳问答)上,分别用标准 Prompt 和 CoT Prompt 测试,对比正确率;第二是成本:思维链会生成更多 token,推理延迟和 API 费用同步上升,必须权衡;第三是一致性:同一道题跑多次,看答案是否稳定——如果每次推理过程都不一样,可信度就要打折扣。其中准确率提升可以量化成:

评估也要看清适用边界:当任务本身只需一步推理时,CoT 的提升趋近于零;当模型太小、或训练语料与任务领域差距过大时,CoT 甚至可能“带偏”推理方向。王老师最终意识到,写过程是手段不是目的——合适的学生配上合适的题目,这剂良药才真正见效。这也是 Prompt 工程最朴素的真理:先小规模实验,用数据说话,再决定是否全线启用。

提升率=AccCoT−AccbaseAccbase×100%\text{提升率} = \frac{\text{Acc}_{\text{CoT}} - \text{Acc}_{\text{base}}}{\text{Acc}_{\text{base}}} \times 100\%
公式通俗说明:把“思维链准确率相比基线准确率”的增幅换算成百分比,方便在不同任务、不同模型之间横向比较增益大小。
  1. 基线准确率\(\text{Acc}_{\text{base}}\) 是使用标准 Prompt 时的准确率,作为对照组。
    Accbase\text{Acc}_{\text{base}}
  2. CoT 准确率\(\text{Acc}_{\text{CoT}}\) 是使用思维链提示后的准确率。
    AccCoT\text{Acc}_{\text{CoT}}
  3. 绝对提升分子 \(\text{Acc}_{\text{CoT}} - \text{Acc}_{\text{base}}\) 是准确率的绝对增幅。
    AccCoT−Accbase\text{Acc}_{\text{CoT}} - \text{Acc}_{\text{base}}
  4. 相对提升除以基线再乘 100%,得到消除任务难度差异后的相对提升率。
    AccCoT−AccbaseAccbase×100%\frac{\text{Acc}_{\text{CoT}} - \text{Acc}_{\text{base}}}{\text{Acc}_{\text{base}}} \times 100\%

AI 应用场景

智能数学辅导助手

阶段:推理增强 / 应用开发

解决的问题:传统搜题 App 只给答案,学生看不懂过程,遇到同类题照样不会做。用 CoT Prompt 让模型分步解析,还能在中间步骤上做错因分析,真正实现“讲思路”而不是“报答案”。

具体案例:拍照搜题后,系统把题目拼进 Prompt 模板:“请按以下步骤解这道应用题:1) 列出已知条件;2) 写出解题思路;3) 分步计算;4) 给出最终答案。”模型输出的推理步骤直接渲染成解题过程的逐步动画,学生可以逐帧对照。

金融合规多跳问答助手

阶段:RAG 检索增强 + 推理增强

解决的问题:金融合规问答往往需要跨多个条款进行多跳推理,直接问模型很容易答错或答非所问。使用 Few-shot CoT,把合规专家写好的“判断路径”作为示例,让模型按同样的路径逐步分析。

具体案例:给模型 3 条“提问→定位相关条款→逐条比对→中间结论→最终判定”的示范,再输入新案例“客户逾期三天的违约金怎么算”。模型会先引用条款、再分步计算,最后给出可追溯的答复,合规审核人员可以直接核对每一步。

数据分析报告生成

阶段:结果可信度提升

解决的问题:数据分析结论必须可复算,但模型直接给结论时,读者无法验证数字怎么来的。用 CoT 强制模型“先列公式、再代入数值、最后给结论”,让报告具备审计性。

具体案例:Prompt 要求模型“对以下指标做同比分析:先写出计算公式,再代入本期与上期数值,分步计算增长率,最后给出结论”,生成的报告每一步都有据可查,分析师只需复核中间量即可。

Python 演示

python59 行
# -*- coding: utf-8 -*-# 思维链演示:用规则算术模拟 CoT 的"分步推导"结构import re  class RuleBasedCoT:    """小型分步算术推理器,模拟思维链提示下的输出结构"""     def __init__(self):        self.steps_log = []  # 记录每一步中间结果     def chain_of_thought(self, expr):        """CoT 模式:先输出推理步骤,再给出最终答案"""        m = re.match(r"^(\d+)\s*\*\s*(\d+)$", expr)        if not m:            return {"error": "仅支持形如 23*47 的乘法表达式"}        a, b = int(m.group(1)), int(m.group(2))        if not (10 <= b <= 99):            return {"error": "请让第二个因数在 10-99 之间,便于展示拆数"}        b10, b1 = (b // 10) * 10, b % 10        r1, r2 = a * b10, a * b1        # 每一步对应模型生成的一段推理文本        self.steps_log = [            "拆数:把 {} 拆成 {} 和 {}".format(b, b10, b1),            "分步:先算 {} x {} = {}".format(a, b10, r1),            "分步:再算 {} x {} = {}".format(a, b1, r2),            "汇总:{} + {} = {}".format(r1, r2, a * b),        ]        return {"steps": list(self.steps_log), "answer": a * b}     def direct_answer(self, expr):        """标准模式:不展示过程,只返回最终结果"""        m = re.match(r"^(\d+)\s*\*\s*(\d+)$", expr)        if not m:            return {"error": "仅支持乘法表达式"}        a, b = int(m.group(1)), int(m.group(2))        return {"answer": a * b, "steps": []}  def main():    solver = RuleBasedCoT()     print("=== 标准提示:计算 23*47 ===")    direct = solver.direct_answer("23*47")    print("模型输出(只有答案):", direct)     print("\n=== 思维链提示:请一步一步推理 ===")    cot = solver.chain_of_thought("23*47")    for line in cot["steps"]:        print("  ", line)    print("  最终答案:", cot["answer"])     # 校验:分步推导的答案与直接计算一致    assert cot["answer"] == direct["answer"], "答案不一致!"    print("\n校验通过:思维链的最终答案正确且过程可复算")  if __name__ == "__main__":    main()
目的:用规则算术模拟器演示“标准提示”与“思维链提示”的输出结构差异——前者只给结果,后者输出完整可复算的推理步骤。
  1. def chain_of_thought(self, expr):定义 CoT 模式的入口,所有分步推理逻辑都在这里完成
  2. m = re.match(r"^(\d+)\s*\*\s*(\d+)$", expr)用正则解析“数*数”形式的乘式,提取两个因数
  3. b10, b1 = (b // 10) * 10, b % 10把第二个因数拆成整十和个位,模拟思维链第一步“拆数”
  4. r1, r2 = a * b10, a * b1分步计算两个子乘法,得到可独立验算的中间量
  5. self.steps_log = [...]按“拆数→分步→汇总”的顺序拼接推理链,对应模型输出的中间步骤序列
  6. return {"steps": list(self.steps_log), "answer": a * b}返回带完整过程的输出,正是 CoT 提示词要求的格式
  7. assert cot["answer"] == direct["answer"]校验分步推导与直接计算一致,体现思维链“可验证”的优势

常见误区

误区以为给任何问题加上“请一步一步思考”就等于上了双保险,模型一定会答对,甚至把这句话当成长辈口中的“多喝热水”,哪儿都能用。

正解Zero-shot CoT 只在中等复杂度的任务上显著有效。对简单问题它是浪费 token 的废话;对需要领域知识的难题,它“带不动”;对模型本身就会算错的计算,它只是把错误过程写得更长而已。它改变的是输出结构,不是计算能力本身。

为何常见:网上传播的案例几乎都是成功样本,让人误以为一句魔法短语就能点石成金,却忽略了失败案例和适用条件。

误区认为思维链输出的推理文字,等价于模型内部真的在进行逻辑推理,步骤内容一定可信。

正解大模型本质是文本生成器,它生成的是“看起来像推理”的文本,而不是因果推理的忠实记录。步骤可能前后矛盾、数值可能算错,但它提供了可校验的中间量——我们可以用外部工具复算,却不能默认它内部“真的想了”。

为何常见:人类看到连贯的推理文字,就会本能地联想到“思考过程”,这是强烈的拟人化倾向造成的误判。

误区既然 Few-shot CoT 靠示例引导,那在 Prompt 里塞十几个带推理的示例,效果肯定比三五个强。

正解示例会挤占上下文窗口、推高成本,而且低质量或风格不一的示例反而会干扰模型的模式识别。3~5 个高质量、推理风格一致的示范通常就足够了——Prompt 是“模式引导”,不是“量变引起质变”的训练数据。

为何常见:直觉上“数据越多越好”,但这是把机器学习训练的经验错误类比到了提示词设计上。

误区一说思维链就想到"23×47",以为它只是算术题的专属技巧,其他任务用不上。

正解凡是答案依赖多步推导的任务都能受益:常识推理、符号逻辑、多跳问答、代码调试、结构化分析等。数学只是最好展示的舞台,不是唯一的舞台。

为何常见:思维链论文和教程里最经典的演示案例都是数学题,形成了强烈的印象偏差。

误区把 CoT 当成无条件向上兼容的改进,任何任务直接套用就好,不用测。

正解对一步推理任务,CoT 与基线持平甚至略低——多余步骤可能引入幻觉或偏离指令。正确做法是先在验证集上做 A/B 对比,用准确率、成本、一致性三个指标决定是否启用。

为何常见:基准榜单上“全面碾压”式的分数对比,让人忽视了任务分布不同带来的结论差异。

面试题

Q1. 思维链(CoT)提示的核心思想是?

单选题 · easy

  • A.增加模型的参数量
  • B.让模型输出推理中间步骤← 正确答案
  • C.更换底层的模型架构
  • D.用更多数据微调模型

答案:B。CoT 通过让模型先生成中间推理步骤再给最终答案,把隐式推理变成显式过程。A、C、D 都涉及训练或架构层面,而 CoT 是纯提示层面的方法,不训练、不改架构。

Q2. 以下哪个是典型的 Zero-shot CoT 触发短语?

单选题 · easy

  • A.请直接给出最终答案
  • B.让我们一步步按序思考← 正确答案
  • C.用代码实现这个算法
  • D.请概述一下问题背景

答案:B。标准 Zero-shot CoT 在问题后追加“让我们一步一步思考”之类的指令短语,引导模型按步骤输出。A 是反方向指令,C、D 与推理链触发无关。

Q3. GSM8K 数据集主要用来评测哪类能力?

单选题 · easy

  • A.小学数学应用题解答能力← 正确答案
  • B.图像分类识别标注能力
  • C.语音转写文字处理能力
  • D.机器翻译语言转换能力

答案:A。GSM8K 是小学数学应用题数据集,答案需要多步推导才能得到,因此成为衡量思维链效果最常用的基准之一,也是前面效果评估示例的数据来源。

Q4. Few-shot CoT 与标准 Few-shot 的关键区别是?

单选题 · mid

  • A.示例的来源必须是训练集
  • B.示例包含完整的推理过程← 正确答案
  • C.示例数量一定超过十个
  • D.示例的格式必须用图片

答案:B。标准 Few-shot 示例是“题目→答案”,CoT 示例是“题目→推理步骤→答案”。真正引导模型写出过程的正是推理步骤本身,而不是示例里的答案。

Q5. Zero-shot CoT 与 Few-shot CoT 的根本区别是?

单选题 · mid

  • A.所使用的提示模型参数规模不同
  • B.是否提供了带推理过程的示例← 正确答案
  • C.模型的预训练阶段数据不同
  • D.用来评测的下游任务类型不同

答案:B。Zero-shot CoT 只加触发短语、不给示例;Few-shot CoT 在上下文中放入带推理过程的示范,让模型模仿格式。二者区别在于“有没有示范”,而非模型或数据本身。

Q6. 思维链一般用什么方式引出最终答案?

单选题 · mid

  • A.用“答案:”或“因此”来承接← 正确答案
  • B.用完全随机的特殊符号来做分隔
  • C.用插入的图片标识来给出答案
  • D.只写出推理过程不输出答案

答案:A。实践中通常在推理步骤末尾用“答案:”“Therefore“等承接词收尾,既帮助模型稳定输出格式,也方便程序解析最终结果,这与逐字解析中”汇总验证”的步骤设计一致。

Q7. 为什么思维链能降低大模型的推理错误?

单选题 · hard

  • A.增加模型参数数量减少方差
  • B.把长程计算拆成可逐项校验的步骤← 正确答案
  • C.修改注意力机制来强化记忆
  • D.提升上下文窗口的大小限制

答案:B。多步推理的误差会累积,模型一步到位很难算对。CoT 把长计算链拆成多个短步骤,每步只做局部计算,整体错误率下降,且中间步骤可被外部程序复算校验,错误还能定位到具体步骤。

Q8. 下列哪些任务适合使用思维链?

多选题 · mid

  • A.数学应用题的求解← 正确答案
  • B.多跳常识问答的推理← 正确答案
  • C.图片滤镜效果的调整
  • D.符号逻辑推理的验证← 正确答案

答案:ABD。凡是依赖多步语言推导的任务都能从 CoT 受益——数学、多跳问答、符号逻辑都在此列。图片滤镜属于图像处理流水线,不经过语言多步推理,不属于思维链的适用范围。

Q9. 关于 Few-shot CoT 示例设计,正确的说法是?

多选题 · hard

  • A.示例最好包含完整的分步推理← 正确答案
  • B.示例数量并非越多越有效← 正确答案
  • C.示例必须全部来自标注数据集
  • D.推理过程的风格与目标一致← 正确答案

答案:ABD。示例质量、推理完整度和风格一致性远比数量重要,手工编写三五个高质量示范即可。示例并非必须来自标注数据集,业务专家手写的思路示例往往效果更好。

Q10. 关于思维链的机理与边界,学界认同的判断是?

多选题 · extreme

  • A.思维链能力随模型规模增大而增强← 正确答案
  • B.模型可能在模仿记忆而非真正推理← 正确答案
  • C.思维链对任意规模模型都同样有效
  • D.提示词改动完全不影响推理效果

答案:AB。研究表明思维链类似“涌现能力”,与模型规模正相关;同时模型可能是在按训练语料中的文本模式“背答案”,输出步骤不一定是因果推理的忠实记录。C 与规模相关性矛盾,D 与 CoT 的基本前提矛盾,均不正确。