思维链和推理模型是什么?

进阶原理新技术约 6 分钟读完

一句话回答

思维链(CoT)是一种提示方法:让模型在给出答案之前先写出推理步骤,把一次很难的"跳跃"拆成多个容易的小步,在数学、逻辑这类多步问题上效果明显。推理模型则通过训练(主要是强化学习)把这种能力内化了,回答前会自动生成一段较长的思考过程,例如 OpenAI 的 o 系列、DeepSeek-R1 这类模型。本质是用更多的推理时计算换更好的效果,适合数学、代码和复杂规划,代价是延迟和成本更高;给它写 Prompt 时不需要再手把手要求"一步一步思考"。

详细解析

思维链为什么有效

模型每生成一个 token 只做一次前向计算,能投入的计算量是固定的。直接输出答案,相当于要求它在一步里完成全部推理;先写出中间步骤,后面的每一步都能以前面写下的内容为基础,生成的 token 就成了它的"草稿纸",总的计算量也更多了。

文本
问:球拍和球一共 1.1 元,球拍比球贵 1 元,球多少钱?

直接回答(示意):0.1 元。凭直觉跳到答案,错了

先推理再回答:
设球 x 元,则球拍 x + 1 元
x + (x + 1) = 1.1 → 2x = 0.1 → x = 0.05
答:0.05 元

思维链提示的具体写法和 Self-Consistency 见 Zero-shot、Few-shot 和思维链提示。

推理模型是怎么来的

普通对话模型要靠"请一步一步思考"这类提示才会写推理过程,推理模型则是专门训练出来的:

  1. 在数学、代码这类答案可以自动验证的任务上做大规模强化学习:答案正确、测试通过就给奖励,模型逐渐学会写更长的推理链来提高正确率
  2. 训练中会自发出现检查、回退、换一种思路等行为,比如"等一下,这一步算错了"
  3. 把大推理模型的思考过程作为训练数据,蒸馏到更小的模型上

输出的结构是"思考过程 + 最终答案"。各家处理思考内容的方式不同:有的不返回原文,只返回摘要和 token 数;有的放在单独的字段里;开源模型常用特定的标签包裹。很多接口还提供控制思考多少的参数,比如思考强度的档位或思考 token 的预算。

推理时计算:什么时候值得用

过去提升效果主要靠扩大训练规模;推理模型说明,让模型在推理时多"想"一会儿,也能明显提升难题上的表现。多次采样投票、生成多个方案再用验证器挑选,也属于用推理时计算换效果。

普通对话模型 推理模型
回答方式 直接生成答案 先思考,再回答
擅长 问答、改写、摘要、信息抽取、闲聊 数学、代码、逻辑推理、多步规划、复杂分析
延迟 低 高,思考可能持续很久
成本 为可见的输出付费 思考的 token 通常也按输出计费
采样参数 可以调整 temperature 等 部分不支持调整

怎么给推理模型写 Prompt

  • 说清目标、约束和完成标准,提供必要的背景资料;不需要再写"请一步一步思考",也不要规定详细的思考步骤,过细的步骤反而可能限制它
  • 先试不给示例,确实需要时再加,并保证示例和指令一致
  • 输出上限要留足:多数接口里思考也计入最大输出 token,设得太小,可能思考完就没有空间写答案了
  • 不要解析思考内容来驱动业务逻辑:它的格式可能变化,也不一定忠实反映模型实际的决策依据
  • 工具调用的多轮交互中,有的接口要求把上一轮返回的思考块不加修改地传回(返回的可能是摘要加签名,而不是思考原文),有的只是建议回传,按厂商文档处理

代码示例

TypeScript
// 通用伪接口:控制思考的参数各家不同,如思考强度档位、思考 token 预算
const res = await llm.chat({
  model: 'some-reasoning-model',
  reasoning: { effort: 'medium' }, // 难题调高;简单任务调低,或者换普通模型
  maxTokens: 16000, // 多数接口里思考也计入这个上限,要留足空间
  messages: [
    {
      role: 'user',
      content: '分析下面这段代码在高并发下可能出现的问题,按严重程度排序,每条给出修复建议。\n\n<code>\n...\n</code>',
    },
  ],
})

console.log(res.usage) // 思考消耗的 token 一般会单独列出,并计入费用
console.log(res.content) // 最终答案;思考内容是否返回、放在哪个字段,各家不同

面试官可能追问

所有任务都应该用推理模型吗?

不应该。简单任务(分类、抽取、改写、闲聊)用推理模型又慢又贵,还可能"想太多",把简单问题复杂化。常见做法是按任务难度路由:简单请求走普通模型,复杂请求走推理模型,见 降低大模型调用成本。

推理模型的思考过程可以直接展示给用户吗?

先看厂商是否返回原文。即使能拿到,原始思考往往很长、很乱,可能包含不适合展示的内容,也不一定忠实反映模型真实的推理。很多产品只展示摘要,或者默认折叠起来。

推理模型还会出错或产生幻觉吗?

会。推理链越长,中间某一步出错的机会越多,模型也可能为一个错误的结论编出看似合理的推理。代码类任务用测试来验证,事实类问题仍然要提供资料或调用工具。

思维链提示和推理模型是什么关系?

思维链提示是在使用时通过指令让模型写出推理步骤,效果取决于模型本身的能力;推理模型是在训练阶段就强化了这种能力,推理更长,会自我检查和纠错,不用提示也会这样做。

易错点

  • 给推理模型写"请一步一步思考"、塞大量示例,通常没有帮助
  • 最大输出 token 设得太小,思考把预算用完,最终答案为空或被截断
  • 思考的 token 用户看不见,但要付费,估算成本时要算上
  • 思考内容不等于模型真实的决策依据,不能当作可解释性的证明

AI 模拟面试官

用自己的话回答,AI 对照参考答案打分、指出遗漏,再追问,最多 3 轮

登录后就可以和 AI 面试官对练,面试记录也会保存下来。登录

这道题你掌握了吗?

选一个最接近的状态,没掌握的题会出现在"我的进度 · 待复习"里。

学习记录暂存在本机浏览器。登录后自动同步到账号,换设备也能看到。