推理模型 Reasoning Model

Reasoning Model (Long Chain-of-Thought / Slow-thinking LLM)

推理模型 Reasoning Model(慢思考模型)是先进行较长内部思考链、用测试时计算扩展换取数学与代码等准确率提升的模型类型,代表包括 OpenAI o 系列与 DeepSeek-R1,特点是输出 Token 多、延迟高、按思考 Token 计费。

详细解释

推理模型 Reasoning Model(Long Chain-of-Thought 与 Slow-thinking LLM)是一类先进行较长内部思考、再给出答案的模型,用户提问后往往要等待数秒到数十秒,模型会在这段时间里生成大量用户看不见的思考内容,最后再输出一段简短结论。它和普通对话模型的本质区别有两点。第一是先想后答:普通模型收到问题后直接逐词生成答案,推理模型则先生成一段思考链,在思考中拆解问题、试错、回头检查,再给出收敛后的结论,本质上是用更多的推理时算力换准确率,也就是 测试时计算扩展。第二是思考链的来源:普通对话模型也可以通过提示词要求它一步步来,那种思考是被提示诱导出来的;而推理模型的思考链是模型内部生成的行为,由训练阶段用强化学习激励出来,不需要用户提示,也不容易通过提示词完全关掉。理解这条链路可以先看 思维链 的基础概念。

推理模型的能力提升集中在可验证的硬任务上。DeepSeek 在 DeepSeek-R1 论文 中公开了用纯强化学习激励长链推理的完整方法。数学计算、代码生成、多步逻辑推理、复杂规划这类任务,普通对话模型的准确率往往在 45% 至 60% 徘徊,推理模型能做到 85% 至 95%,提升幅度非常显著。这条能力主要来自可验证奖励的强化学习:用 可验证奖励强化学习 给数学题、代码题自动判分,再配合 组相对策略优化 一类算法更新策略,模型自己学会多想一想能答对更多。代价同样明显:输出 Token 量通常是普通模型的 5 至 20 倍,思考 Token 会显著抬高 延迟 与单次成本;而且在分类、改写、格式转换这类简单任务上,思考不仅没有收益,还可能因为过度自我怀疑而拉低准确率。换句话说,推理模型是用钱和时间换准确率,值不值取决于任务难度。

在 API 调用层面有四个工程要点。第一,思考内容与最终答案通常分离返回,主流接口会把推理过程放在独立字段里,业务侧只应展示最终答案,避免把内部思考直接暴露给终端用户。第二,思考预算参数要显式设置,多数推理模型提供思考档位或思考 Token 上限,不设上限容易让简单请求也跑出上万思考 Token。第三,最大输出 Token 数 必须给足,思考 Token 也算在输出里,若上限设置得偏小,模型会只输出半截思考就断掉,答案随之被截断。第四,流式场景要把思考中与回答中分成两个阶段做交互。唯元智创 在网关侧为每个请求分别记录输入 Token、可见输出 Token 与思考 Token,对超预算请求自动降档,并按请求难度做动态路由,把推理预算集中花在真正的难题上。

普通对话模型与推理模型对比表

维度普通对话模型推理模型典型数值差异对成本影响对延迟影响选型建议
首 Token 延迟(TTFT)0.3 至 0.8 秒3 至 20 秒相差 5 至 30 倍等待期间不额外计费延迟显著上升,实时对话体验退化实时高并发场景用普通模型或低档
输出 Token 量1 倍基准5 至 20 倍相差 5 至 20 倍直接抬高单次成本生成时间同比例拉长成本敏感场景先算清单次预算
数学准确率45% 至 60%85% 至 95%提升 25 至 45 个百分点每次调用更贵但更少返工单题思考数秒到数十秒竞赛数学与复杂计算选推理模型
代码通过率40% 至 60%75% 至 92%提升 20 至 35 个百分点明显降低反复调试成本长文件修改时延迟较明显复杂调试与算法题选推理模型
指令遵循稳定,格式约束听话简单任务反而下降简单任务下降 3 至 10 个百分点格式错误带来额外重试成本影响不大严格格式约束任务优先普通模型
幻觉表现事实类错误率较高推理类错误减少,事实类仍会错可验证推理错误降 20 个百分点以上错误代价高时不省钱影响不大事实类任务仍需检索与引用核对兜底

这张表最值得注意的是输出 Token 量与首 Token 延迟两行:推理模型的成本与等待几乎全部来自那部分看不见的思考 Token,而它在简单任务上的收益接近于零。因此选型的关键不是「哪个模型更强」,而是「这个任务到底需不需要多步推理」。

推理强度档位与场景匹配表

思考档位典型思考 Token 量级相对延迟倍数相对成本倍数适用任务
关闭思考01 倍1 倍分类、改写、抽取、闲聊
低档200 至 8001.5 至 3 倍1.5 至 3 倍一般问答、轻量代码
中档800 至 30003 至 8 倍3 至 8 倍多步推理、代码调试
高档3000 至 120008 至 20 倍8 至 20 倍竞赛数学、复杂规划、合规推理
最高档12000 以上20 倍以上20 倍以上极少数超难题,须先做对照实验
自动路由(唯元智创 推荐)0 至 12000,按难度分配1 至 12 倍比全量高档省 40% 至 70%企业混合负载、通用助手

这张表的结论是「收益随难度上升而放大、随难度下降而塌陷」:在难题上每多给一倍思考预算往往能换来数个百分点提升,而在简单任务上多给思考预算几乎是纯浪费,甚至因为过度思考引入自我怀疑而拉低正确率。落地时不要一上来就上最高档,而应从低档或中档起步,用真实业务样本跑一遍档位与准确率的对照,找到性价比拐点,再交给自动路由按难度分档。

实战经验与避坑

  1. 简单任务不要开推理模型,纯属浪费钱和延迟:意图分类、情感判断、字段抽取、文本改写、格式转换这类任务,答案的确定性极高、几乎不需要多步推理,实测开启高思考档后准确率提升普遍在 1 个百分点以内,而延迟从 0.5 秒涨到 5 秒以上、成本翻 8 至 20 倍。这类任务应当明确关闭思考或走低档,把预算留给真正需要的场景。一个实用的判断标准是:如果让一个熟练的实习生 3 秒内就能给出答案,那这个任务就不需要推理模型。

  2. 最大输出 Token 数必须给够,思考 Token 也算在输出里:这是推理模型最容易踩的坑。思考 Token 属于输出 Token 的一部分,如果上限按答案长度去设,模型会在思考阶段就把额度用光,最终只输出半截思考、根本来不及给出答案,用户看到的就是一段莫名其妙的自言自语。正确做法是把上限设为预期思考量加预期答案长度,再留 50% 至 100% 的余量,例如预期思考 3000 Token、答案 500 Token,就把上限设到 6000 至 8000。上线后要监控截断比例,一旦发现因长度上限而停止的响应占比偏高,就该立刻抬高上限。

  3. 不要把模型的原始思考内容直接展示给终端用户:思考内容是模型内部生成的,直接展示有三个问题:可能泄漏系统提示词与内部策略;可能包含自相矛盾、反复推翻的表述,让用户觉得模型不靠谱;对多数用户来说一长串内心独白只会造成困惑。正确做法是只展示最终答案,把思考内容记录到日志用于排查与优化;如果产品确实想让用户看到正在思考,更稳妥的方式是展示一个抽象的进度提示,而不是原始思考文本。事实类任务仍建议用 检索增强 与引用核对兜底,不能只靠推理。

  4. 流式场景要区分思考中与回答中两个阶段做不同交互:推理模型的流式输出通常先吐思考内容、再吐最终答案,如果不做区分,前端会把一大段思考混进答案里,体验很差。工程上应解析接口返回的阶段标记,把思考阶段渲染成折叠面板或正在思考的提示,等进入回答阶段再切换到正常的正文流式渲染。这样做还有一个好处:用户在思考阶段就能看到界面有反馈,等待体感明显改善。对延迟更敏感的产品,可以在思考阶段先给出一个已理解问题、正在推导的占位文本。

  5. 用推理模型做抽取类任务时,要在提示里明确要求直接输出结构化结果:抽取、分类这类任务本不需要长篇推理,但很多推理模型会默认先想一大段,既慢又贵,还可能因为自我怀疑而漏抽或多抽字段,甚至在思考里脑补出原文没有的内容。正确做法是在系统提示里明确写清不要长篇思考、直接输出结构化结果,并把思考档位调到关闭或低档;如果模型支持,还可以配合结构化输出约束,强制它按指定字段返回。实测这一句话就能把抽取任务的思考 Token 压掉一半以上,而对准确率几乎没有影响。

  6. 要按请求难度做动态路由,把推理预算花在真正的难题上:推理模型的价值在于难题上的准确率跃升,如果所有请求都开高档,成本会失控而大部分预算被浪费在简单任务上。合理架构是在网关层先做一个轻量难度判定,把请求分成简单、中等、困难三档,简单任务走普通模型或关闭思考,中等任务走低到中档,只有明确识别为难题的请求,比如数学符号密集、多文件代码修改、长链条合规判断,才走高档。实测这样做能在整体准确率基本不掉的前提下,把推理相关成本压掉 40% 至 70%。

常见问题

思考 Token 为什么看不见却要计费,怎么监控和限制?
它并不是额外多收一笔钱,而是被并入输出 Token 一起计费的,因为对推理引擎来说思考过程与最终答案一样要逐 Token 生成、一样占用算力,所以监控思路是把它当成输出 Token 的一个子集来看。为什么看不见还要收费?因为计费的本质是为你消耗了多少生成算力付费,模型生成思考 Token 和生成答案 Token 走的是同一套解码流程,生成了就要算钱,只是厂商出于产品体验与安全考虑把它隐藏起来。监控办法有三层,第一层看接口返回的用量字段,主流接口通常会给出输出 Token 总数,部分还单独给出推理 Token 计数,把两者相减或直接读取即可得到思考量;第二层在网关侧做逐请求记录,把输入、可见输出、思考三段分开存,算出思考占比的平均值与高分位;第三层做业务线归因,按月把思考成本分摊到各业务,找出异常增长的那条线。限制手段同样有三条,一是调用时显式设置思考档位或思考预算上限,让模型不要天马行空;二是按任务类型路由,简单任务直接关闭思考;三是给单请求设置硬性成本上限,超限自动降档重试。经验阈值是当思考 Token 占输出总量超过 80% 时,就该复核是否用错了档位。
什么任务绝对不要开推理模型?
判断标准只有一条,就是任务是否需要多步推理,凡是答案基本确定、靠一次映射就能完成的任务都不要开,开了只会白花钱还不讨好。具体来说有四类任务应当明确关闭思考。分类与路由,例如意图识别、情感极性判断、工单分类,输出空间很小,正确率提升往往不到 1 个百分点,成本却翻数倍;改写与润色,包括翻译、摘要、格式转换、语气调整,它们依赖语言能力而非推理能力;结构化抽取,从合同或表单里抽字段,靠的是模式识别与指令遵循,开思考还可能因为自我怀疑而漏抽或多抽;实时高并发场景,如客服首响、搜索建议,思考带来的数秒延迟会直接伤害体验。另外,带工具调用的简单查询,比如查天气、查订单,一步到位,思考也没有用武之地。实用口诀是:一次映射能搞定的别思考,需要绕几个弯才该思考,拿不准就先用小样本做对照实验再决定。
推理模型是不是幻觉更少、也更可靠?
要分两类错误来看,在可验证的推理类错误上它确实明显更少,但在事实性错误上它并不天然更可靠,甚至可能把错误包装得更像真的。先看它强在哪:数学计算、代码逻辑、多步约束满足这类任务的正确与否可以被自动验证,模型在训练中正是被这类信号激励着多想多检查,因此正确率提升是实打实的,从普通模型的约 50% 提升到 85% 甚至 95% 属常见区间。再看它弱在哪:当问题依赖外部事实,比如某公司的现任负责人、某产品的发布时间、某法规的最新条款,而模型记忆里没有或记错时,推理能力帮不上忙,它可能围绕一个错误前提展开一长串自洽的推演,得出一个逻辑通顺但事实错误的结论。这种推理自洽但事实错误的失败模式比直接胡说更有迷惑性,因为用户看到严密步骤后容易放松警惕。因此正确的用法是分工:推理交给推理模型,事实交给检索。把检索到的文档作为证据喂进去,再要求模型基于证据推理,并在输出中标注引用,同时用一致性校验与引用核对兜底。这样组合后,事实类任务的错误率通常能从约 15% 降到 3% 以内,比单纯换推理模型有效得多。