2.1 思维链与线性推理

思维链(CoT)是让大语言模型展现复杂推理能力的关键技术。它通过引导模型"逐步思考",显著提升了 AI 在数学、逻辑、编程等任务上的表现。

2.1.1 什么是思维链

核心思想

思维链的本质是让模型 在给出最终答案之前,先输出中间推理步骤

传统提示词

Q: 一个农场有 15 只羊,卖掉 6 只后又买了 4 只,现在有多少只羊?
A: 13 只

使用思维链

Q: 一个农场有 15 只羊,卖掉 6 只后又买了 4 只,现在有多少只羊?
A: 让我一步步来思考:
   1. 初始羊的数量:15 只
   2. 卖掉 6 只后:15 - 6 = 9 只
   3. 又买了 4 只:9 + 4 = 13 只
   因此,现在有 13 只羊。

为什么有效

  1. 降低认知负荷:大模型的工作记忆(Attention)有限。将复杂问题(如“234 * 567”)拆解为单步计算,避免了模型在一步生成中承担过大的计算压力,防止逻辑崩塌。

  2. 错误可追溯:如果模型直接给出错误答案,无法调试。但如果它展示了“先算 15-6=9,再算 9+4=13”,就能精确定位是哪一步逻辑出错,从而针对性优化提示词。

  3. 上下文引导:模型是基于概率预测的。生成中间步骤(如“不仅要考虑成本,还要考虑时间”)产生的文字,会作为高质量的上下文,提高模型在后续生成中检索到正确知识的概率。

  4. 对齐人类思维:人类在解决难题时会进行“内心独白”。思维链强迫模型模仿这种“慢思考”(系统 2),而非仅依赖“直觉”(系统 1)。

2.1.2 核心应用场景

任务规划

在面对复杂目标时,直接生成行动指令往往容易出错。通过思维链,可以让模型先进行"脑内演练",将大目标拆解为子步骤。

应用场景:不仅生成步骤,还解释步骤之间的依赖关系。

工具选择

智能体在决定使用哪个工具时,经常面临歧义。强制模型在调用工具前输出推理过程,可以显著提高工具调用的准确率。

核心逻辑:意图 (Intent) -> 理由 (Reason) -> 工具 (Tool)。

错误诊断

当工具调用失败或代码报错时,直接重试通常无效。思维链可以让模型像人类程序员一样,先阅读错误信息,分析原因,再提出修复方案。

流程:观察 (Observe) -> 分析 (Analyze) -> 修复 (Fix)。

2.1.3 思维链的主要变体

零样本思维链

最简单的形式,只需添加 "Let's think step by step" (让我们一步步思考)

优点:无需示例,通用性强

缺点:质量不如 Few-Shot 稳定

少样本思维链

提供包含推理过程的示例 (Few-Shot Prompting):

优点:质量更高,格式可控

缺点:需要精心设计示例

自洽性思维链

多次采样,取最一致的答案:

原理:正确的推理路径更可能被多次发现

适用场景:高风险决策、追求高准确率

思维树

将推理过程组织成 树形结构(详见下一节):

spinner

图 2-1:思维树结构示意

内在思维链 / 系统 2 推理

随着推理模型(Reasoning Models)的成熟,思维链已经从“提示词技巧”演变为“模型能力 + 提示策略”的结合。

  • 原理:模型在输出最终答案前,会先在内部生成并未对用户展示的隐式思维链。

  • 变化:对于这类模型,用户 不再需要 手动编写 "Let's think step by step",模型会自动进行长链路推理。

  • 最佳实践:对 o3 类模型,提示词应保持简单直接,过多的少样本(Few-Shot)指导反而可能干扰其内在推理逻辑。

2.1.4 最佳实践

结构化提示词设计

不要只是简单地说 "Let's think step by step",更好的做法是 明确推理框架

分隔符与答案提取

在工程落地中,不仅要让模型"想得对",还要能"代码好解析"。使用特殊的分隔符包裹思维过程和最终答案至关重要。

参数调节

  • 单路推理:如果只运行一次 CoT,建议设置 temperature = 0。不仅能提高结果的确定性,往往还能获得逻辑最严密的推理路径。

  • 自洽性投票:如果使用投票机制,必须设置 temperature > 0.5(推荐 0.7),以确保生成的多样性,防止所有路径都坍缩到同一个错误答案。

2.1.5 与其他技术结合

思维链不仅可以单独使用,更能作为核心组件与其他 AI 技术产生强大的化学反应。

思维链 + RAG (检索增强生成)

传统 RAG 直接将检索到的片段喂给模型生成答案,容易导致"断章取义"或拼接错误。加入思维链后,模型可以先评估检索内容的关联性,再进行综合推理。

  • 模式:检索 (Retrieve) -> 评估与推理 -> 生成 (Generate)

  • 优势

    • 去噪:通过推理步骤,模型可以识别并忽略检索结果中的无关信息。

    • 知识融合:将检索到的静态知识与模型内在的逻辑能力结合。

  • 提示词示例

    "基于以下检索到的 3 个文档片段,请先一步步分析它们之间的逻辑联系,排除矛盾信息,然后再回答用户的问题。"

思维链 + 工具 (ReAct 模式)

这是构建智能体的基石。ReAct (Reason + Act) 本质上就是 显式思维链在工具调用场景的应用

  • 原理:模型在行动(调用工具)之前,必须先进行显式推理(思考意图),行动后再次推理(分析结果)。

  • 流程

    1. Thought: "用户问天气,我需要调用天气 API"

    2. Action: get_weather("Beijing")

    3. Observation: "25°C, Sunny"

    4. Thought: "天气不错,适合出行"

    5. Final Answer: "北京今天晴,25度,很适合出去玩。"

2.1.6 思维链的局限性

  1. 延迟与成本翻倍

    • 思维链通常需要生成数百个额外的 Token 用于推理。对于短任务,开启 CoT 可能导致 API 成本显著增加,且首字延迟显著增加,不适合对实时性要求高的应用。

  2. 错误传播

    • 推理链路是串行的。如果第一步逻辑(如“提取数值”)出错,后续哪怕所有步骤的逻辑都正确,最终答案也会错误。这种脆弱性使得 CoT 在长链路推理中表现不稳定。

  3. 简单任务的"过度思考"

    • 对于 2 + 2中国的首都是哪里 这类直觉性问题,强制使用 CoT 不仅浪费资源,甚至可能诱导模型将简单问题复杂化,产生"过度解读"的错误。

  4. 结论的不可靠性

    • 推理与答案不一致:模型有时会产生完美的推理过程,却输出一个完全无关的错误答案;或者推理逻辑混乱,却碰巧输出了正确答案。这种"表里不一"使得不能盲目信任模型的解释。


下一节: 2.2 任务分解与规划算法

Last updated