推理 Token 的工作方式
一个普通请求有两个显而易见的部分:您发送的 Token以及模型生成的输出 Token。具备推理能力的模型可以将其生成的输出划分为另一个功能阶段:
- 它读取输入。
- 它生成推理 Token 来处理任务。
- 它生成最终答案。
这种三步描述很有用,但并非普遍适用。有些模型会在工具调用之间,或在可见输出的不同片段之间进行推理,而不是先一次性完成一个不间断的私有草稿。
“推理”描述的是这些生成的 Token 被用于什么目的。它并不意味着其他模型停止了计算,也不意味着普通模型完全不进行推理。每个模型都会执行数值计算,以选择下一个 Token。这里的特殊之处在于,模型会在生成面向用户的 Token 之前或之间,花费生成的 Token 来完成中间工作。
训练可以促成这种行为。例如,强化学习可以奖励正确的最终答案,并使模型形成检查结果、改变策略或回顾早期步骤等生成模式。因此,更多推理 Token 意味着更多推理时工作,而不是更多训练,也不是模型所存储知识发生了变化。
隐藏推理与可见摘要并不相同
“推理 Token”是一个统称,并非所有提供商都采用的统一标准。
OpenAI 会报告推理 Token 数量,但不会通过其 API 暴露原始推理。Google 可以返回思考摘要,以及表示推理状态的不透明签名。Anthropic 的接口和控制方式因模型而异:有些模型会暴露经过摘要的思考内容,有些则使用自适应工作量,而不是固定的 Token 预算。
这会产生三个不同的概念:
- 原始推理 Token:生成的中间工作内容。
- 推理摘要:为用户或开发者生成的更简短说明。
- 最终答案:用于完成请求的响应。
摘要并不是每个原始推理 Token 的逐字记录。隐藏原始轨迹也不意味着这些 Token 是免费的或不存在。要了解某个请求实际使用了什么,应查看 API 的用量元数据,而不是统计屏幕上显示的字数。
Token 用量示例
假设用量报告显示:
- 输入 Token:75
- 输出 Token 总数:1,186
- 输出中的推理 Token:1,024
生成输出中不属于推理的部分为:
1,186 − 1,024 = 162 个 Token
该请求并不是使用了 1,186 个答案 Token,另外又使用了 1,024 个推理 Token。1,024 个推理 Token 已经包含在 1,186 个输出 Token 的总数中。
这一点解释了为什么简短答案的输出计数可能远高于其可见文本所暗示的数量。不同 API 使用的字段名称可能不同,但应在响应的用量详情中查找嵌套的推理或思考计数。
推理 Token 为什么重要
成本
主要提供商通常会将推理或思考 Token 按生成的输出计费。因此,最终答案很短时,成本仍可能高于根据可见长度估算的金额。当前费率和计费规则因提供商而异;如需实际计算成本,请参考提供商的定价和用量文档。
输出限制与上下文限制
推理需要空间。提供商通常会将推理 Token 计入输出限制、上下文预算,或两者都计入。如果生成限制在推理过程中耗尽,请求可能会在生成有用的可见答案之前结束。
因此,最大输出设置不能总是理解为“最大答案长度”。它可能需要同时容纳中间推理和最终响应。具体规则因 API 而异。
响应时间
推理 Token 属于生成的工作内容。通常,推理 Token 越多,请求完成前所需的顺序生成就越多,这可能增加延迟。因此,工作量设置和 Token 预算控制的是质量、时间与成本之间的权衡,而不只是风格设置。
任务质量
当任务需要中间工作时,额外推理最有用,例如多步数学计算、代码调试、规划、约束检查或基于工具的工作流。简单的信息提取或格式设置可能不会从中获得多少收益。
更多并不一定更好。模型可能在无效路径上花费大量 Token,最终仍然出错。应根据您所关注的任务评估最终结果,而不要把推理 Token 数量当作质量评分。
常见误解
“推理 Token 是模型的私密想法”
这种说法虽然方便,但过于字面化。推理 Token 是模型生成的中间序列。它们可能类似于书面化的问题求解过程,但它们的存在并不能证明模型具有类似人类的思维、理解能力或自我意识。
“如果我能看到推理,那我看到的就是原始 Token”
不一定。产品可能显示摘要或经过筛选的解释。提供商文档会将这些显示内容与用于计费和统计的完整内部轨迹区分开来。
“一个 500 Token 的答案使用了 500 个输出 Token”
只有在没有其他生成 Token 被计入输出时才是这样。启用推理后,用量总数可能同时包含隐藏的推理 Token 和答案 Token。
“预算会准确告诉我模型将使用多少 Token”
这取决于提供商和模型。某个设置可能是硬性上限、目标值或工作量级别。有些模型会根据任务调整推理量。应将返回的用量计数视为测量结果,将请求设置视为控制项。
接下来阅读什么
阅读什么是输出 Token?以了解通常包含推理 Token 的更广泛计费类别。然后,在需要比较同一请求中的三类 Token 时,使用输入 Token、输出 Token 与推理 Token。