扩展思考(Extended Thinking)
手动模式下的扩展思考让用户直接控制 Claude 思考的多少。
核验日期
定义
在手动模式下,用户在每次请求上设置思考 token 预算,Claude 会依据该预算思考,然后才开始给出最终回答。使用启用类型并带有 token 预算的扩展思考已被弃用。Claude 4.7 或更新的模型不支持它,并会拒绝使用它的请求,返回 400 错误。
自适应思考是一种思考模式,Claude 在其中针对每次请求决定是否思考以及思考多少。当工作负载需要可预测的延迟或对思考成本的精确控制时,手动模式仍然有用。
一图看懂
交错思考让 Claude 在单个助手回合内的工具调用之间思考,并在决定下一步之前对每个工具结果进行推理。在手动模式下,交错思考仅支持通过 Messages API 使用的工具。
- 在 Claude Opus 4.5、Claude Sonnet 4.5(已弃用)以及更早的 Claude 4 模型上,需要在 API 请求中加入交错思考的 beta 标头。
- Claude Opus 4.6 的手动模式没有交错思考。
- Claude Haiku 4.5 不支持交错思考。
- Claude Opus 4.5 以及编号为 4.6 及以上的模型会在上下文中保留之前回合的思考块,并将其按输入计费。
- 在 Claude 4.5 模型上,Managed Agents 自行开启手动思考,预算固定,用户无法更改。
- 在更新的模型上,Managed Agents 使用自适应思考。
- 在 Claude Opus 4.6 和 Claude Sonnet 4.6 上,token 预算已被弃用。
- 迁移到自适应思考的映射很小:移除 token 预算,设置自适应类型,并用 effort 设置取代 token 预算来控制推理深度。
原文没有明确这些要点的先后顺序,因此按要点列出,不画先后箭头。
工作原理
要开启手动扩展思考,需添加一个 thinking 对象,将类型设为启用,并提供 budget_tokens 值。budget_tokens 参数为 Claude 内部推理过程可使用的 token 数量设定一个目标。更大的预算可以通过允许对复杂问题做更充分的分析来提升回答质量。
预算最少为 1,024 个 token,API 会拒绝更小的值。思考 token 计入该回合的 max_tokens 限制,因此预算必须为最终回答留出空间。唯一的例外是手动模式下的交错思考,此时 budget_tokens 可以超过 max_tokens,因为预算跨越一个助手回合内的所有思考块。
扩展思考不能与 max_tokens 设为 0 的缓存预热组合使用。预算是一个目标,而不是严格的上限。max_tokens 仍然是总输出的硬性上限。
Claude 可能在预算用尽之前很早就停止推理。
例子
有一个在 Messages API 中使用扩展思考的示例。在手动模式下,请求之间更改 token 预算会使缓存断点失效,就像切换思考模式一样,因为预算值会被渲染进提示词。在 Claude Sonnet 4.6 上运行带有消息级缓存的多轮对话,并在第三次请求时把预算从 4,000 个 token 改为 8,000 个 token,可以直接展示这种失效。
在该示例中,第三次请求会重新创建缓存,因为请求之间的预算发生了变化。响应中的一个思考 token 字段会报告计费输出 token 中有多少是内部推理。在手动模式下,启用思考的请求的最后一个助手回合必须以思考块开头,而自适应思考不再有这一要求。
更高的预算允许更全面的推理,收益递减的程度取决于任务,并以增加延迟为代价。
来源
本页内容整理自以下官方来源,点击可核对原文。
核验日期 ·
本页由 AI 依据上述官方来源整理,并经自动核对,未经本站实测。 发现错误?告诉我们。