核心技术!思维链(CoT)是怎么实现的?

4 阅读5分钟

一、思维链(CoT)

普通大模型(如早期的GPT)在计算一些数学题的时候是靠乱猜,比如:

问:“345 × 27 = ?” → 直接输出 “9315”(可能错)

而推理模型(如 GPT-4o、Claude 4、o3),是通过分步骤再给答案,提高正确率。

问:“345 × 27 = ?”,先写
“345 × 20 = 6900
345 × 7 = 2415
6900 + 2415 = 9315” → 再给答案

这种 把思考过程拆成一步一步的逻辑链条,就称为思维链(Chain-of-Thought, CoT),其过程就像小学生做数学题要写“解题步骤”一样。它的好处就是可以大大提高模型的正确率,减少幻觉。

举个生活例子:

问题:小明有10元,买了2个苹果,每个3元,还剩多少钱?

  • ❌ 普通AI可能直接说:“还剩4元”(对了,但没过程;如果复杂点就容易错)

  • ✅ 用思维链的AI会说:

    “每个苹果3元,2个就是 3×2=6元。

    小明有10元,花掉6元,剩下 10−6=4元。

    所以答案是4元。”

这个“中间步骤”就是思维链

那么,思维链是怎么实现的呢?总结起来很简单:训练时“教”模型写步骤,推理时“逼”它写步骤。在工程实践上,它有三种常见的方法。后文详细介绍。

通过训练,能够实现思维链分析过程的大模型就是推理模型,而更高级的推理模型(如 o3、Deep Research)还能实现:

  1. 提出多个解法;
  2. 自己检查每步对不对;
  3. 如果发现矛盾,重新规划。

这叫 Self-Consistency(自洽性)  或 Tree-of-Thought(思维树)

二、思维链的实现方法

思维链的核心思想是 让模型输出“中间推理步骤”,而不仅仅是最终答案。

目标不是“让它写得更长”,而是通过显式推理路径提升复杂任务的准确率

实现方法分为三类,下面由浅入深分别介绍。

1、提示工程(Prompt)

这是最早、最简单的 CoT 实现方式,不需要改模型,只改输入提示。原理也很简单,那就是给模型几个“带步骤”的例子,它就会模仿。

如下展示一个Few Shot Cot的示例,假设我们想提问345 × 27 = ?,如果希望模型能分步计算,可以在提示词中给它演示几个例子。如下:

问题:小明有5个苹果,吃了2个,又买了4个,现在有几个? 
思考:5 - 2 = 33 + 4 = 7。 
答案:7 

问题:一个正方形边长是6cm,周长是多少? 
思考:正方形有4条边,每条6cm,所以 6 × 4 = 24。 
答案:24 

问题:345 × 27 = ?

通过这样模型看到前两个例子都有“思考:...”部分,就会自动在回答中加入类似结构。

其本质是利用模型的“上下文学习”(In-Context Learning)能力

这种方法的优点是零成本,适用于任何支持长文本的大模型,对简单数学、逻辑题有效。但这依赖模型已有能力,无法教会它不会的东西,对复杂任务(如多跳推理)效果有限。而且每次都要加提示,浪费 token。

2、监督微调(Supervised Fine-Tuning, SFT)

第二种方法需要通过模型微调来让模型具有“打草稿”的能力。这是目前 主流推理模型的核心训练方法

它由以下两个步骤组成:

  1. 构建 CoT 数据集:收集/生成大量 “问题 → 推理步骤 → 答案” 的三元组;
  2. 微调模型:用这些数据训练模型,目标是让它看到问题后,自动生成完整推理链。

CoT的数据集如下示例:

{ 
"question": "如果今天是星期三,100天后是星期几?", 
"cot": "一周有7天,100 ÷ 7 = 14 余 2。\n所以100天后是星期三 + 2天 = 星期五。", 
"answer": "星期五"
}

它在传统问答对训练集的基础上,增加“cot”字段和内容,表示思维链的思考过程,训练时作为模型的目标输出。在计算损失时,综合考虑 cot和answer的匹配情况。

该方法的优点是:

  • 模型不再需要提示词,看到问题就自动输出步骤
  • 可泛化到未见过的问题类型;
  • 支持更复杂的推理(如符号推理、多步规划)。

主流的如Google 的 PaLM-CoT、Meta 的 Llama 3.1 Reasoning Models、OpenAI 的 o1 / o3等都采取 微调+Cot的方法实现带推理特性的模型。

3、强化学习 + 自我验证

该方法通过强化学习(引入奖惩机制)来让模型具备推理能力。其核心思想是让大模型不仅要“写步骤”,还要“检查步骤对不对”。它是顶尖推理模型(如 o1、Claude 4)的秘密武器。

举个例子,让模型计算 123 × 45,先写步骤,然后调用 Python 执行 123*45 验证结果是否匹配。如果不匹配,重试。

它的优点是极大降低“自信胡说”(幻觉),在数学、代码、科学推理上接近人类专家水平。但它的实现也比较复杂,它依赖于一系列技术:

  • Self-Consistency(自洽性) :生成多个 CoT,选多数一致的答案;
  • Step Reward Modeling:用 RL 给“好步骤”打高分(如逻辑连贯、计算正确);
  • Tool-Augmented Verification:调用计算器、代码解释器验证中间结果。

三、总结

通过以上介绍,我们知道思维链的目的是降低幻觉,提升模型回答的精确性,而思维链可以通过提示词、微调、强化学习等不同方法实现。

简单总结三种主流方法的对比:

方法是否需训练能力上限典型应用
提示工程(Few-shot CoT)❌ 否中低快速原型、简单问答
监督微调(SFT)✅ 是Llama 3.1、GPT-4o 推理模式
强化学习 + 自我验证✅ 是极高o1、Claude 4、Deep Research

总而言之,思维链不是“让AI啰嗦”,而是“让AI像人一样,先想清楚再动手”。
它的实现,从“抄作业”(提示),到“上课学”(微调),再到“考试自查”(强化学习),一步步走向可靠智能。