
LLM 的「推理」到底是什么:一段关于思考痕迹的诚实科普
Flask 作者 Armin Ronacher 拆解了 LLM 推理痕迹的本质:它只是模型被训练输出的一段文本,藏在特殊标记之间;reasoning effort 不过是系统提示里的一行字。理解这些机制,你才不会被「AI 会思考」的叙事带偏。
原文来源:What Is Reasoning — Flask 作者 Armin Ronacher 从最近「提取闭源模型推理痕迹」的论文出发,解释了 LLM 推理痕迹的真实机制:它只是文本、reasoning effort 只是系统提示里的一行配置。
最近几周,先是有人放出论文展示如何从闭源模型中提取推理痕迹,接着网上到处是「诱导模型泄露思考过程」的讨论。Twitter 上关于这件事的说法一半是真相、一半是误解。Flask 作者 Armin Ronacher 决定写篇文章把机制讲清楚——他的核心观点很直接:推理痕迹本质上就是一段文本,没什么神秘的。
推理痕迹是什么:只是文本
推理模型(reasoning model)在给出最终答案前,会先「想」一段。这段思考被训练成输出到草稿区(scratchpad),再输出最终答案。行业把这段思考包装得很神秘,但拆开看,它就是文本——模型被训练成把思考写进响应的一个特殊分区而已。
以 GPT-OSS 的 Harmony 响应格式为例,结构一目了然:
<|channel|>analysis<|message|>
我需要先理清这个问题……
<|end|><|start|>assistant<|channel|>final<|message|>
答案是……
<|return|>
analysis 和 final 是特殊标记,但标记之间的推理文本和最终答案用的是同一套 token。模型采样到 analysis 通道标记后,解析器把后面的文本路由到独立的流里,通过 Responses API 暴露出来。闭源模型则用一套简单的脱敏汇总逻辑处理。
—— 广告 ——
reasoning effort:系统提示里的一行字
早期 API 暴露「推理 token 预算」参数,让人觉得推理强度是采样过程的一个属性。实际上,推理强度直接写在系统提示里。GPT-OSS 就在系统提示里放了这么一行:
Reasoning: low
就这么简单。训练决定了模型对应的行为——比如输出切换到 analysis 通道的 token 序列。这也能解释为什么修改 effort 会让 KV 缓存失效:提示变了,缓存自然要重算。
开源社区对这套机制玩得更野。antirez 的 DwarfStar(DeepSeek 封装)在启用最大推理时往系统提示里塞了一段非常「用力」的话:
Reasoning Effort: Absolute maximum with no shortcuts permitted.
You MUST be very thorough in your thinking and comprehensively decompose the
problem to resolve the root cause, rigorously stress-testing your logic against
all potential paths, edge cases, and adversarial scenarios.
(这段话是不是有点眼熟?是的,很多 AI 产品里那股「孜孜不倦地全面分析」的劲儿,源头就是这类提示。)
泄密的真相:思考通道只是约定
推理 token 的去向是训练出来的约定:模型被训练成把草稿留在 final 通道之外。如果你骗它以为自己在 final 通道,它就可能把思考漏出来。更老的模型在关闭思考时,甚至会跑到 bash 工具里把想法 echo 到 /dev/null。
所以对某些模型来说,唯一「特殊」的行为反而是不思考。DwarfStar 禁用思考时用 </think> 做 prefill,启用时用 <think>——这两个 token 恰好是思考的开闭标记。GPT-OSS 不做 prefill,让模型自己决定。
更妙的是,有人发现用一个自定义的 think 工具可以诱导模型把推理放到不该放的地方——但仅在原生推理被禁用时有效。可能的解释是:某些推理 API 在启用推理时会 prefill 开思考标记,模型永远不会自己采样它;禁用时这个标记不会被 prefill,于是可被诱导。
一个让人哭笑不得的注脚
作者吐槽了一个花絮:写这篇博客时,他想用 GPT 5.6 terra 做拼写和语法检查,结果被安全过滤器拒绝——因为内容涉及「如何诱导模型泄露推理」这类话题。最后只能换 Kimi 来检查。这也侧面说明:各家的安全策略对「推理痕迹」这个话题有多敏感。
为什么这值得想清楚
把推理痕迹还原成「一段文本 + 一个通道约定 + 一行系统提示」,不是要贬低推理模型的能力——它们的数学和代码表现确实更好,reasoning 训练是实打实有效的技术。但理解机制能帮你避免两类误判:
一是别把推理痕迹当成「AI 的灵魂」。它只是模型为完成训练目标生成的内部话语,你可以提取、可以诱导、可以被一段巧妙的系统提示改变形态。它有价值,但价值在于它让模型产生更好的输出,而不在于它本身是什么「思考的证明」。
二是别被「推理摘要」骗了。API 返回的推理摘要是服务端事后生成的,不一定忠实反映真实推理过程——这点在之前关于推理链解码的研究里也被反复证实。你看到的「思考过程」是给用户看的叙事,不是模型的日志。
对做 AI 应用的人来说,这些机制层面的理解会直接影响工程决策:要不要在提示里调 effort、KV 缓存为什么会失效、为什么某些「诱导思考」的技巧只在特定开关下有效。Armin 的文章很短,但把术语背后的真实机制讲透了——值得每个把「推理模型」挂在嘴边的人读一遍。
© 2026 四月
原文链接:https://www.aprilzz.com/ramble/what-is-reasoning
相关文章
LLM 必然主义:为什么大语言模型是不可逆的技术转折点
LLM 不是又一个技术泡沫,而是计算范式的根本转变。就像互联网和智能手机一样,它不会消失,只会越来越深地嵌入基础设施。
AI 正在消灭软件工程的中产阶级:代码变便宜了,判断力变得更贵
AI 让任何人一天产出的代码量超过以前一年。资深工程师 Florian Herrengt 认为:AI 拆掉了速度限制,平庸工程师的破坏力被放大,而真正值钱的只剩判断力——工程师薪资将走向两极分化。
别让 AI 把话说得太好听:人性化输出是 Agent 时代的错误抽象
越来越多人给 LLM 加"人性化"指令——短句、通俗、像人说话。但一位开发者的观点值得停下来想想:人性化是在错误的地方做压缩,Agent 之间传递的应该是高保真的原始状态,而不是加工过的漂亮话。