Claude Sonnet 5.5 的新变化
从 Claude Sonnet 5 迁移到 Claude Sonnet 5.5 时会发生哪些变化:破坏性变更、功能支持、行为差异、定价和可用性。
Claude Sonnet 5.5 兼顾速度与智能,是两者的最佳组合。有五项 "breaking changes"(破坏性变更)会影响已在 Claude Sonnet 5 上运行的代码:
- 使用
between_tools关闭前置思考。 - 强制工具使用会返回错误。
- 思考块与模型和对话绑定。
- 在 Claude API 和 Google Cloud 上,不再接受早期的
computer_20251124计算机使用工具。 - 顾问工具不再接受 Claude Opus 4.8、Claude Opus 4.7 和 Claude Sonnet 5 作为顾问。
另有一项变更会改变响应结构,但不会导致任何请求失败:工具调用之间的文本以 thinking 块的形式返回。如果应用程序会将这些文本流式传输给用户,那么在工具调用之间,应用程序将不再输出任何内容。要恢复输出,需设置一个会返回该文本的 display 值,或使用 between_tools 关闭前置思考。
新模型
| 模型 | Claude API ID | 描述 |
|---|---|---|
| Claude Sonnet 5.5 | 速度与智能的最佳组合 |
"Adaptive thinking"(自适应思考)默认开启,"effort parameter"(努力程度参数)用于控制思考深度。该参数在 Claude API 上的默认值为 high。"tokenizer"(分词器)与 Claude Sonnet 5 相同,因此相同的文本会产生相同的令牌数。有关 "context window"(上下文窗口)、输出限制、知识截止日期和价格,请参阅 Claude Sonnet 5.5 模型页面。
有关所有当前模型,请参阅模型概览。
破坏性变更
使用 between_tools 关闭前置思考
要在 Claude Sonnet 5.5 上关闭前置思考,请发送 thinking: {"type": "between_tools"},而不是 "disabled"。这是该模型上最低的思考设置,在所有提供 Claude Sonnet 5.5 的平台上均可用,且无需 beta 标头。模型在工具调用之间写下的简短进度更新仍会以 thinking 块的形式返回,并附带摘要文本。请将这些块与助手轮次的其余部分一起原样传回。您传回的进度更新块会向模型提供它所写的完整笔记,而不是摘要。如果您的请求不使用工具,响应将只包含文本,与在 Claude Sonnet 5 上使用 disabled 时相同。
在 Claude Sonnet 5.5 上,发送 thinking: {"type": "disabled"} 的请求会返回 400 invalid_request_error,其消息会提示您改用 between_tools。
between_tools 可在 low、medium 和 high 努力程度下使用。在 xhigh 或 max 努力程度下,使用 between_tools 的请求会返回 400 错误。要以 xhigh 或 max 运行,请使用自适应思考:省略 thinking 字段,或发送与之等效的 thinking: {"type": "adaptive"}。使用 between_tools 时,努力程度不能在对话中途更改:如果按消息设置的 output_config.effort 与当前生效的级别不同,将返回 400 错误。要按轮次调整努力程度,请使用自适应思考。
between_tools 不接受任何其他字段:与其一同发送 display、budget_tokens 或 block_binding 会返回 400 错误。手动思考预算(thinking: {"type": "enabled", "budget_tokens": N})也会返回 400 错误。请参阅思考以及迁移指南中的前后对比。
不支持强制工具使用
Claude Sonnet 5.5 不支持 "forced tool use"(强制工具使用)。将 tool_choice 设置为 {"type": "any"} 或 {"type": "tool", "name": "..."} 会返回 400 invalid_request_error:
tool_choice: type "tool" and "any" are not supported for this model.支持 tool_choice: {"type": "auto"}(默认值)和 {"type": "none"}。令牌计数端点也会执行相同的检查。如需符合 schema 的工具输入,请保留 tool_choice: {"type": "auto"},并通过严格工具使用设置 strict: true,或将 schema 移至结构化输出。要让模型调用工具而不是以文本回复,请在提示中说明何时应使用该工具。迁移指南展示了前后对比。
思考块与模型和对话绑定
每个 "thinking block"(思考块)都会记录生成它的模型。每个模型都能读取自己的思考块,但只能读取部分其他模型的思考块。Claude Sonnet 5.5 可以读取来自 Claude Sonnet 5、Claude Opus 4.8、Claude Haiku 4.5 及更早模型的思考块,但无法读取来自 Claude Opus 5、Claude Opus 5.5 或任何 Claude Fable 或 Claude Mythos 模型的思考块。其他任何模型都无法读取 Claude Sonnet 5.5 的思考块。
因此,从 Claude Sonnet 5 切换到 Claude Sonnet 5.5 的对话会保留其推理内容;而从 Claude Sonnet 5.5 切换到任何其他模型的对话,在切换后的轮次中将不再包含这些推理内容。当请求中包含目标模型无法读取的块时,API 会在模型看到之前将其丢弃:请求仍会成功,且被丢弃的块不计费。使用 thinking-binding-controls-2026-08-01 beta 标头时,丢弃情况会在顶层的 input_transformations 数组中报告。请参阅在对话中途切换模型。
API 还会检查 Claude Sonnet 5.5 思考块之前的任何内容自该块生成以来是否发生了变化,包括 system 提示、tools 或更早的消息。对于在 2026 年 8 月 31 日 00:00 UTC 或之后创建的账户,在 Claude API、Amazon Bedrock 和 Google Cloud 上默认会强制执行该检查。在这些账户上,如果在发生此类变化后重放某个块,请求将返回 400 错误。如果希望改为丢弃受影响的块,请发送 thinking-binding-controls-2026-08-01 beta 标头,并将 thinking.block_binding.prefix_mismatch_behavior 设置为 "drop_block"。在较早创建的账户上,将该字段设置为任一值都会让该请求启用此检查。block_binding 仅适用于 thinking: {"type": "adaptive"}。使用 between_tools 时,请保持历史记录仅追加,或从被编辑的轮次起移除所有思考块。
请保持对话仅追加,这样检查就永远不会失败:通过对话中途的系统消息来更改指令或工具,而不是编辑历史记录。请参阅保留思考以及迁移指南中关于此变更的说明。
Claude API 和 Google Cloud 不支持 computer_20251124 计算机使用工具
在 Claude API 和 Google Cloud 上,Claude Sonnet 5.5 仅通过 computer_toolset_20260801 工具集支持 "computer use"(计算机使用)。声明早期 computer_20251124 工具的请求会返回 400 invalid_request_error。在 Claude API 上,错误消息会先指出被拒绝的类型,然后列出该模型接受的工具类型。消息开头如下:
'claude-sonnet-5-5' does not support tool types: computer_20251124.在 Amazon Bedrock 上,Claude Sonnet 5.5 接受早期的 computer_20251124 工具。
要迁移在 Claude API 或 Google Cloud 上的现有集成,请按照从 computer_20251124 迁移操作,其中展示了请求的前后对比。移除 beta 标头,将 tools 条目替换为 {"type": "computer_toolset_20260801"},并更新您的智能体循环以处理成员 tool_use 块、批量操作以及结果中的 toolset_name。该工具集在 Claude API 和 Google Cloud 上可用。有关其他平台,请参阅计算机使用工具的兼容性部分。已经使用该工具集的集成以及浏览器使用工具无需更改。
部分顾问工具组合不受支持
使用 "advisor tool"(顾问工具,beta)时,Claude Sonnet 5.5 执行者需要以 Claude Mythos 5.1、Claude Fable 5.1、Claude Mythos 5、Claude Fable 5、Claude Opus 5.5 或 Claude Opus 5 作为顾问,也可以使用 Claude Sonnet 5.5 本身。Claude Opus 4.8、Claude Opus 4.7 和 Claude Sonnet 5 顾问可与 Claude Sonnet 5 执行者配合使用,但与 Claude Sonnet 5.5 执行者搭配时会返回 400 invalid_request_error。Claude Sonnet 5.5 接受的所有顾问都会以加密形式返回建议,即 advisor_redacted_result 块,因此您的客户端无法读取建议文本。请参阅顾问工具的模型兼容性和结果变体。
功能支持
Claude Sonnet 5.5 支持以下功能:按消息设置努力程度(beta)、对话中途的系统消息、对话中途的工具更改(beta)、"prompt caching"(提示缓存,最小可缓存提示为 512 个令牌)、批处理、Files API、PDF 支持、视觉,以及服务器端和客户端工具。Claude Sonnet 5 不支持按消息设置努力程度、对话中途的系统消息和对话中途的工具更改,其最小可缓存提示为 1,024 个令牌。在 Claude API 和 Google Cloud 上,计算机使用需要 computer_toolset_20260801 工具集(请参阅破坏性变更)。有关各模型的可用性,请参阅各功能的页面。
按需压缩(beta)
使用 compact-2026-09-04 beta 标头时,发送顶层 compaction 参数的请求会返回一个经过签名的 compaction 块,其中包含整个对话的摘要。之后,您需要将该块放在最前面发送,以替代被摘要的消息。压缩时机由您决定。在满足压缩与保留思考中所述条件的情况下,您保留的轮次中的思考块在替换后仍可保持有效。这一点对 Claude Sonnet 5.5 尤为重要,因为它的思考块与对话绑定。有关平台可用性和完整的请求流程,请参阅按需压缩。
在消息中定义工具(beta)
使用 inline-tools-2026-09-15 beta 标头时,对话中途系统消息中的 tool_addition 块可以携带完整的工具定义,而不仅仅是引用。这样,您可以在对话中途添加工具、更改其 schema,或将服务器工具升级到更新版本,而无需编辑 tools,也不会使提示缓存失效。请参阅在消息中定义工具。
思考块仅限生成它们的账户使用
Claude Sonnet 5.5 生成的思考块只能在生成它们的账户或与其关联的账户中使用。当其他账户发送这些块时,API 会在模型看到之前将其丢弃,请求仍会成功。在 Claude API 和 Google Cloud 上,使用 thinking-binding-controls-2026-08-01 beta 标头时,响应会在 input_transformations 中列出每个被丢弃的块,并附带 reason: "organization_binding_mismatch"。来自早期模型的块不受影响。请参阅保留思考。
行为差异
即使不更改任何代码,Claude Sonnet 5.5 在以下几个方面也会表现出与 Claude Sonnet 5 的不同。Claude Sonnet 5.5 提示指南针对每一项都提供了指导:
- 努力程度已重新校准。 同一努力程度级别产生的思考量与在 Claude Sonnet 5 上不同。请重新测试各个努力程度,而不是沿用原有设置。除非您的工作负载属于智能体类型或对延迟敏感,否则请从
high开始。对于智能体编码和多步骤工具使用,明确定义的任务可从medium开始,更难或更长的任务再调整为high。对于聊天和其他对延迟敏感的工作,请从medium或low开始。 - 工具调用之间的文本以思考块的形式返回。 在工具调用之间,超过一两句话的笔记会以进度更新
thinking块的形式返回,较短的说明仍为text。在默认的display: "omitted"设置下,进度更新块的文本为空,因此会将这些笔记流式传输给用户的应用程序在工具调用之间将不再输出任何内容,且不会报错。如果您使用between_tools关闭前置思考,文本会重新返回。迁移指南介绍了如何接收这些文本。 - 安全防护类别。 模型的安全防护机制可能会以五种
stop_details类别之一拒绝请求。"cyber"表示该请求可能助长网络危害。"bio"表示该请求可能助长生物危害。"frontier_llm"表示该请求可能协助开发与之竞争的 AI 模型。"reasoning_extraction"表示该请求要求模型在响应文本中复现其内部推理。"general_harms"表示该请求属于其他使用政策领域。请参阅拒绝、回退和计费。
拒绝、回退和计费
拒绝与回退中的所有内容均适用于 Claude Sonnet 5.5。被拒绝的请求会返回 HTTP 200,其中包含 stop_reason: "refusal" 以及一个指明政策领域的 stop_details 对象。请处理拒绝情况并配置回退。服务器端回退(fallbacks: "default",beta 阶段,仅限 Claude API)会在 Claude Sonnet 5 上重试 "cyber" 和 "frontier_llm" 类别的拒绝,但不会重试 "bio"、"reasoning_extraction" 或 "general_harms" 类别的拒绝。您也可以使用 SDK 中间件或自行实现重试。在产生任何输出之前发生的拒绝是否计费取决于其拒绝类别,但无论是否计费,都会计入您的 "rate limits"(速率限制)。请参阅拒绝如何计费。
定价
Claude Sonnet 5.5 的价格与 Claude Sonnet 5 相同,包括提示缓存和批处理的费率。有关完整价目表、数据驻留和工具定价,请参阅定价。
可用性
Claude Sonnet 5.5 可在以下平台使用:
- Claude API: 所有客户,模型 ID 为
claude-sonnet-5-5。 - AWS: Claude in Amazon Bedrock,模型 ID 为
anthropic.claude-sonnet-5-5;以及 Claude Platform on AWS,模型 ID 为claude-sonnet-5-5。 - Google Cloud: Claude on Google Cloud,模型 ID 为
claude-sonnet-5-5。 - Microsoft Foundry: Claude in Microsoft Foundry,模型 ID 为
claude-sonnet-5-5。
从 Claude Sonnet 5 迁移
更新您的模型 ID:
model = "claude-sonnet-5" # Before
model = "claude-sonnet-5-5" # After然后检查以下六项:
- 如果您的代码使用
disabled关闭思考,请改为发送between_tools,并将努力程度设为high或更低。 - 将
tool_choice类型any和tool替换为auto,并配合使用严格工具使用。 - 保持对话仅追加。如果在编辑较早的历史记录后重放 Claude Sonnet 5.5 思考块,请求可能会返回 400 错误。请参阅思考块与模型和对话绑定。
- 如果您在 Claude API 或 Google Cloud 上通过
computer_20251124使用计算机使用功能,请迁移到工具集。 - 如果您在使用顾问工具时以 Claude Opus 4.8、Claude Opus 4.7 或 Claude Sonnet 5 作为顾问,请切换到 Claude Sonnet 5.5 接受的顾问。
- 如果您的界面会显示工具调用之间的文本,请在使用自适应思考时设置
thinking.display。使用between_tools时,无需此设置即可返回文本。请参阅工具调用之间的文本以思考块的形式返回。
迁移指南提供了从 Claude Sonnet 5 及更早模型迁移的分步说明,以及完整的检查清单。
后续步骤
Was this page helpful?