Claude 自适应思考与扩展思考:到底变了什么
Claude 的思考方式经历了一次代际更替。旧的扩展思考要求你在每次请求里指定 token 预算——thinking: {“type”: “enabled”, “budget_tokens”: N}——但合适的预算因任务而异、无法事先猜准,改动预算值还会让提示词缓存失效。当前的自适应思考只需一行 type: “adaptive”:是否思考、思考多深,由模型根据请求难度自行判断。迁移是分阶段推进的:budget_tokens 在 Opus 4.6 / Sonnet 4.6 上被弃用,从 Opus 4.7 起被以 400 错误拒绝。本文把各模型的规则浓缩成一张表——Fable 5 始终思考(无法关闭),Opus 5 与 Sonnet 5 默认开启思考(Opus 5 仅在 effort high 及以下允许关闭),Opus 4.8 / 4.7 需要显式设置 adaptive,而 Sonnet 4.5 / Haiku 4.5 等旧代模型仍以 budget_tokens 作为唯一模式。深度控制转移到了 output_config: {“effort”: ...},共五档(默认 high),而且改动 effort 会像当年改预算一样打穿缓存。可见性由 display 决定:新一代的默认值是 “omitted”(空的 thinking 块),但无论哪种设置都会为全部思考 token 计费——用 usage.output_tokens_details.thinking_tokens 来测量;任何配置都不会返回原始思考链。在 Opus 5 上关闭思考有官方写明的副作用(工具调用被写成纯文本、内部标签泄漏),因此调低 effort 才是更安全的省钱杠杆。交错思考——在工具调用之间推理——在自适应模式下自动生效,旧的 beta 请求头不再需要。需要速度时,快速模式以 2 倍价格把同一个 Opus 提速约 2.5 倍(仅 Opus 5/4.8,在 Claude Code 里用 /fast 切换)。全部内容均以 Anthropic 官方的 Thinking、Extended thinking 与 Fast mode 文档为依据。