Claude Fable 5 是 Anthropic 能力最强的广泛发布模型,已在 Claude API、Amazon Bedrock、AWS 上的 Claude Platform、Google Cloud 和 Microsoft Foundry 上正式发布。Claude Mythos 5 具有相同的能力,以有限可用性的形式提供给 Project Glasswing 中获得批准的客户。
claude-fable-5 和 claude-mythos-5 共享的基准设置:
thinking 配置。thinking: {type: "disabled"} 和手动扩展思考(thinking: {type: "enabled", budget_tokens: N})均会返回 400 错误。invalid_request_error。具有 ZDR 安排的组织应联系其 Anthropic 客户团队讨论数据保留配置。或者,您可以按工作区配置数据保留。有关各平台的详细信息,请参阅特定模型的数据保留要求。两个模型的差异之处:
stop_reason: "refusal" 拒绝请求。Claude Mythos 5 不包含这些分类器。请参阅拒绝与回退。Claude Mythos 5 是 Claude Mythos Preview(仅限邀请的研究预览版)的访问受限后继版本。Claude Fable 5 是具有相同能力的正式发布模型,本节中的更改同样适用于这两个目标。
迁移基本上是即插即用的。Claude Mythos 5 和 Claude Fable 5 使用与 Claude Mythos Preview 相同的 Messages API 和相同的工具使用模式,并且由于这三个模型使用相同的分词器,令牌计数基本保持不变。需要检查的关键变更是不再可用的功能(在下一节中列出)和思考输出。如果您迁移到 Claude Fable 5,还需要为安全分类器拒绝做好准备,而 Claude Mythos Preview 和 Claude Mythos 5 没有此机制;请参阅拒绝与回退。
有关 Claude Mythos Preview 的停用时间表,请参阅模型弃用。
model = "claude-mythos-preview" # Before
model = "claude-mythos-5" # After
# 或者,使用具有相同功能的正式发布模型:
model = "claude-fable-5" # After扩展思考和思考令牌预算: claude-mythos-5 和 claude-fable-5 不支持手动扩展思考(thinking: {type: "enabled", budget_tokens: N}),会返回 400 错误。自适应思考始终开启:模型会在每个请求中自行决定何时思考以及思考多少,无需任何 thinking 配置。thinking: {type: "disabled"} 会返回错误。budget_tokens 没有直接的替代方案:思考是自适应的,而 effort 参数是一个独立的输出级别控制,而非思考预算。
之前(Claude Mythos Preview):
client.messages.create(
model="claude-mythos-preview",
max_tokens=16000,
thinking={"type": "enabled", "budget_tokens": 10000},
messages=[{"role": "user", "content": "..."}],
)之后(Claude Mythos 5):
client.messages.create(
model="claude-mythos-5",
max_tokens=16000,
messages=[{"role": "user", "content": "..."}],
)Claude Fable 5 的更改完全相同,只需将模型名称改为 claude-fable-5。
助手预填充: claude-mythos-5 和 claude-fable-5 不支持预填充助手消息,会返回 400 错误,与 Claude Mythos Preview 相同。请改用系统提示指令。
思考输出: 在 claude-mythos-5 和 claude-fable-5 上,原始思维链永远不会返回,但当 thinking.display 设置为 summarized 时,思考块仍会携带可读的摘要文本。在同一模型上继续对话时,请原样传回思考块。请参阅 Claude Fable 5 和 Claude Mythos 5 上的思考输出。
claude-mythos-5 和 claude-fable-5 使用与 claude-mythos-preview 相同的分词器(随 Claude Opus 4.7 引入的分词器)。从 claude-mythos-preview 迁移时,令牌计数基本保持不变。与 Claude Opus 4.7 之前的模型相比,相同内容的分词结果可能会多出约 30% 的令牌,具体因内容和工作负载形态而异。
与 claude-mythos-preview 相比,/v1/messages/count_tokens 对 claude-mythos-5 和 claude-fable-5 返回的值基本保持不变。请在您自己的工作负载上重新建立成本和延迟基准。
claude-mythos-preview 更新为 claude-mythos-5,或更新为正式发布的模型 claude-fable-5。thinking: {type: "enabled", budget_tokens: N})。自适应思考始终开启,无需 thinking 字段。thinking: {type: "disabled"} 配置。在 claude-mythos-5 和 claude-fable-5 上禁用思考会返回错误。budget_tokens。它没有直接的替代方案:思考是自适应的,而 effort 参数是一个独立的输出级别控制,而非思考预算。thinking 字段的代码仅将其视为显示文本,并在同一模型上继续对话时原样传回思考块。在 claude-mythos-5 和 claude-fable-5 上,thinking.display 默认为 "omitted",与 Claude Mythos Preview 相同;设置 display: "summarized" 以接收可读摘要。请参阅 Claude Fable 5 和 Claude Mythos 5 上的思考输出。thinking 和 redacted_thinking 块。来自 claude-mythos-5 和 claude-fable-5 的思考块与生成它们的模型绑定,Claude Fable 5 和 Claude Mythos 5 以外的模型会静默忽略它们。剥离这些块可使跨模型请求保持精简和统一。stop_reason: "refusal" 并读取 stop_details.category 字段。Claude Fable 5 运行的安全分类器是 Claude Mythos Preview 和 Claude Mythos 5 所没有的。请参阅拒绝与回退。claude-mythos-preview 迁移时,令牌计数基本保持不变。Claude Fable 5 和 Claude Mythos 5 使用与 Claude Opus 5 相同的 Messages API 和相同的工具使用模式,默认具有相同的 100 万令牌上下文窗口和相同的 128k 最大输出令牌。预填充和采样参数限制以及思考显示行为与 Claude Opus 5 保持一致。需要检查的变更是始终开启的思考、定价、Priority Tier 和数据保留。
model = "claude-opus-5" # Before
model = "claude-fable-5" # After
# 或者,对于具有相同功能的 Project Glasswing 模型:
model = "claude-mythos-5" # After思考不再可禁用: 在 Claude Opus 5 上,思考默认开启,可以在 high 或更低的 effort 级别下通过 thinking: {type: "disabled"} 关闭。在 claude-fable-5 和 claude-mythos-5 上,自适应思考始终开启,在任何 effort 级别下 thinking: {type: "disabled"} 都会返回 400 错误。请移除 thinking: {type: "disabled"} 配置,改用较低的 effort 级别来控制令牌消耗。
定价: Claude Fable 5 和 Claude Mythos 5 的定价为每百万输入令牌 10 美元、每百万输出令牌 50 美元,而 Claude Opus 5 为 5 美元和 25 美元。请参阅 Claude 定价。
Priority Tier: Claude Opus 5 不支持 Priority Tier,因此现有流量不受影响。如果您的组织有 Priority Tier 承诺,Claude Fable 5 支持该功能;Claude Mythos 5 不支持。
数据保留: Claude Fable 5 和 Claude Mythos 5 要求 30 天数据保留,且在零数据保留(ZDR)安排下不可用;两者均被指定为受管控模型(Covered Models)。请参阅特定模型的数据保留要求。
claude-opus-5 更新为 claude-fable-5(或 claude-mythos-5)。thinking: {type: "disabled"} 配置;在 claude-fable-5 和 claude-mythos-5 上会返回 400 错误。改用较低的 effort 级别来控制令牌消耗,并重新审视在 Claude Opus 5 上禁用思考运行的工作负载的 max_tokens。迁移基本上是即插即用的。Claude Fable 5 和 Claude Mythos 5 使用与 Claude Opus 4.8 相同的 Messages API 和相同的工具使用模式,默认具有相同的 100 万令牌上下文窗口和相同的 128k 最大输出令牌。由于这些模型使用相同的分词器,令牌计数基本保持不变。需要检查的关键变更是始终开启的自适应思考、思考输出、安全分类器拒绝(仅限 Claude Fable 5)和定价。
model = "claude-opus-4-8" # Before
model = "claude-fable-5" # After
# 或者,对于具有相同功能的 Project Glasswing 模型:
model = "claude-mythos-5" # After本节中的条目描述了在替换模型 ID 后值得检查的 API 和行为差异。除非另有说明,它们同样适用于 claude-fable-5 和 claude-mythos-5。
自适应思考始终开启: 自适应思考是 claude-fable-5 和 claude-mythos-5 上唯一的思考模式。模型会在每个请求中自行决定何时思考以及思考多少,无需任何 thinking 配置。thinking: {type: "disabled"} 会返回错误。使用 effort 参数来控制思考深度。
需要检查的行为变更:在 Claude Opus 4.8 上,没有 thinking 字段的请求在不思考的情况下运行;在 claude-fable-5 和 claude-mythos-5 上,相同的请求会以自适应思考方式运行。max_tokens 仍然是总输出(思考加响应文本)的硬性限制,因此请重新审视在 Claude Opus 4.8 上不带思考运行的工作负载的该参数。请参阅成本控制。
之前(Claude Opus 4.8):
client.messages.create(
model="claude-opus-4-8",
max_tokens=16000,
thinking={"type": "adaptive"},
output_config={"effort": "high"},
messages=[{"role": "user", "content": "..."}],
)之后(Claude Fable 5):
client.messages.create(
model="claude-fable-5",
max_tokens=16000,
output_config={"effort": "high"},
messages=[{"role": "user", "content": "..."}],
)Claude Mythos 5 的更改完全相同,只需将模型名称改为 claude-mythos-5。
扩展思考和思考预算(未变): claude-fable-5 和 claude-mythos-5 不支持手动扩展思考(thinking: {type: "enabled", budget_tokens: N}),会返回 400 错误,与 Claude Opus 4.8 相同。budget_tokens 没有直接的替代方案:思考是自适应的,而 effort 参数是一个独立的输出级别控制,而非思考预算。
助手预填充(未变): claude-fable-5 和 claude-mythos-5 不支持预填充助手消息,会返回 400 错误,与 Claude Opus 4.8 相同。请改用系统提示指令。
思考输出: 在 claude-fable-5 和 claude-mythos-5 上,原始思维链永远不会返回,但当 thinking.display 设置为 summarized 时,思考块仍会携带可读的摘要文本。在同一模型上继续对话时,请原样传回思考块。请参阅 Claude Fable 5 和 Claude Mythos 5 上的思考输出。
安全分类器和 refusal 停止原因(仅限 Claude Fable 5): claude-fable-5 会在请求时和响应生成期间运行安全分类器。Claude Mythos 5 不包含这些分类器。当分类器拒绝请求时,Messages API 会以成功的 HTTP 200 响应返回 stop_reason: "refusal",而非错误。stop_details.category 字段报告触发的分类器,类别包括 "cyber"、"bio" 和 "reasoning_extraction" 等,当拒绝未映射到任何命名类别时则为 null。完整列表请参阅拒绝类别表。
在生成任何输出之前被拒绝的请求,其输入令牌不会计费。当分类器在流式传输中途触发时,输入和已流式传输的输出会被计费;请丢弃部分输出。
要在另一个模型上自动重新运行被拒绝的请求,请传递可选的 fallbacks 参数,该参数在 Claude API 上处于测试阶段。该参数在 Message Batches API 以及 Amazon Bedrock、Google Cloud 和 Microsoft Foundry 上不可用;在这三个平台上,请在客户端运行重试或使用 SDK 拒绝回退中间件。请参阅拒绝与回退。
从 high effort 开始: effort 参数的默认值仍为 high。在 Claude Opus 4.8 上,针对编码和高自主性工作的建议是显式设置 xhigh。在 claude-fable-5 和 claude-mythos-5 上,对于大多数任务使用 high 作为默认值,并将 xhigh 保留给对能力最敏感的工作负载。较低的 effort 设置仍然表现良好,且通常超过先前模型上 xhigh 的性能。如果任务能够完成但耗时超过必要时间,请降低 effort。请参阅 Claude Fable 5 提示指南。
更低的提示缓存最小值: claude-fable-5 和 claude-mythos-5 上的最小可缓存提示长度为 512 个令牌,低于 Claude Opus 4.8 上的 1,024 个令牌。在 Claude Opus 4.8 上因太短而无法缓存的提示现在可以创建缓存条目,无需更改代码。有关各模型的最小值,请参阅提示缓存。
claude-fable-5 和 claude-mythos-5 要求 30 天数据保留;在 Claude API 上,不满足此要求的 claude-fable-5 请求会返回 400 invalid_request_error。Claude Opus 4.8 在 ZDR 下仍然可用。请参阅特定模型的数据保留要求。claude-opus-4-8 更新为 claude-fable-5(或 claude-mythos-5)。thinking: {type: "disabled"} 配置。在 claude-fable-5 和 claude-mythos-5 上禁用思考会返回错误,且没有 thinking 字段的请求会以自适应思考方式运行。claude-fable-5 和 claude-mythos-5 上仍不受支持。thinking 字段的代码仅将其视为显示文本,并在同一模型上继续对话时原样传回思考块。在 claude-fable-5 和 claude-mythos-5 上,thinking.display 默认为 "omitted",与 Claude Opus 4.8 相同;设置 display: "summarized" 以接收可读摘要。请参阅 Claude Fable 5 和 Claude Mythos 5 上的思考输出。thinking 和 redacted_thinking 块。来自 claude-fable-5 和 claude-mythos-5 的思考块与生成它们的模型绑定,Claude Fable 5 和 Claude Mythos 5 以外的模型会静默忽略它们。剥离这些块可使跨模型请求保持精简和统一。例外情况是兑换回退额度,这需要按照该功能的确切规则回显请求体。stop_reason: "refusal" 并读取 stop_details.category 字段。要在另一个模型上自动重新运行被拒绝的请求,请考虑使用可选的 fallbacks 参数(测试版)。请参阅拒绝与回退。effort 设置。对于大多数任务从 high 开始,包括在 Claude Opus 4.8 上以 xhigh 运行的工作负载。claude-opus-4-8 迁移时,令牌计数基本保持不变;每令牌定价不同。Claude Opus 5 相比 Claude Opus 4.8 是一次跨越式改进,在深度推理、智能体和长周期任务以及测试时计算扩展方面表现强劲。有关行为差异和特定模型的提示模式,请参阅 Claude Opus 5 提示指南。
Claude Opus 5 是 Claude Opus 4.8 的即插即用升级,定价相同,为每百万输入令牌 5 美元、每百万输出令牌 25 美元;请参阅 Claude 定价。对于已在 Claude Opus 4.8 上运行的代码,有两项破坏性变更,详见下文"破坏性变更"部分。Claude Opus 5 支持与 Claude Opus 4.8 相同的功能集,包括 100 万令牌上下文窗口(默认值,无需测试版标头)、128k 最大输出令牌、自适应思考、提示缓存、批处理、Files API、PDF 支持、视觉以及服务器端和客户端工具,但有两个例外:Claude Opus 5 不支持 web fetch,也不支持 Priority Tier。有关模型可用性,请参阅各工具页面。
# Opus 迁移
model = "claude-opus-4-8" # Before
model = "claude-opus-5" # Afterclaude-opus-5 是一个没有日期后缀的固定模型 ID,与 claude-opus-4-8 和 claude-sonnet-5 采用相同的命名方案。
思考默认开启: 在 Claude Opus 4.8 上,没有 thinking 字段的请求在不思考的情况下运行;在 Claude Opus 5 上,相同的请求会以自适应思考方式运行。max_tokens 仍然是总输出(思考加响应文本)的硬性限制,因此请重新审视在 Claude Opus 4.8 上不带思考运行的工作负载的该参数。要保留旧行为,请传递 thinking: {type: "disabled"},但需遵守下一条中的 effort 上限;请注意,禁用思考时,模型偶尔会将工具调用作为纯文本输出,或在其可见输出中包含内部 XML 标签,因此在可行的情况下优先使用启用思考的较低 effort 级别,在不可行的情况下请参阅在禁用思考的情况下运行了解缓解措施。
禁用思考的上限为 high effort: 您仍然可以通过 thinking: {type: "disabled"} 关闭思考,但仅限于 high 或更低的 effort 级别。将 thinking: {type: "disabled"} 与 effort xhigh 或 max 组合的请求会返回 400 错误。Claude Opus 4.8 接受此组合,因此在迁移前请审核禁用思考的请求。
该检查在每个请求上强制执行:每个请求的 effort 和思考配置都会独立验证,因此即使对话中较早的请求被接受,将 effort 提升到 xhigh 或 max 同时禁用思考的请求也会被拒绝。
之前(Claude Opus 4.8 接受,Claude Opus 5 拒绝):
client.messages.create(
model="claude-opus-4-8",
max_tokens=16000,
thinking={"type": "disabled"},
output_config={"effort": "xhigh"},
messages=[{"role": "user", "content": "..."}],
)之后(Claude Opus 5),要么移除 thinking 字段以重新启用思考:
client.messages.create(
model="claude-opus-5",
max_tokens=16000,
output_config={"effort": "xhigh"}, # thinking is on by default
messages=[{"role": "user", "content": "..."}],
)要么保持思考禁用并降低 effort:
client.messages.create(
model="claude-opus-5",
max_tokens=16000,
thinking={"type": "disabled"},
output_config={"effort": "high"}, # or "medium", "low"
messages=[{"role": "user", "content": "..."}],
)以下变更并非必需,但会改善您的使用体验:
为能力关键型工作测试 max effort: Claude Opus 5 支持完整的 effort 级别集(low、medium、high、xhigh、max)。在最大能力比令牌消耗更重要的场景下,请测试 max effort。它可以在最苛刻的任务上带来提升,但可能因令牌使用量增加而出现收益递减,并且在较简单的任务上容易过度思考。如果您以 xhigh 或 max effort 运行,请设置较大的 max_tokens,以便模型有足够空间进行思考和行动;从 64k 令牌开始并据此调整。
考虑自动回退: Claude Opus 5 附带网络安全分类器,其网络类别的拒绝可以回退到 Claude Opus 4.8。要在另一个模型上自动重新运行被拒绝的请求,请考虑使用带 "default" 模式的 fallbacks 参数(fallbacks: "default"),该模式会根据拒绝类别选择推荐的回退模型,而非手动维护的模型列表。服务器端回退处于测试阶段;"default" 模式需要 server-side-fallback-2026-07-01 测试版标头。请参阅拒绝与回退。
缓存更短的提示: Claude Opus 5 上的最小可缓存提示长度为 512 个令牌,低于 Claude Opus 4.8 上的 1,024 个令牌。在 Claude Opus 4.8 上因太短而无法缓存的提示现在可以创建缓存条目,无需更改代码。有关各模型的最小值,请参阅提示缓存。
在对话中途更改工具(测试版): 您可以在对话的各回合之间添加或移除工具,而不会使较早回合的提示缓存命中失效。发送测试版标头 mid-conversation-tool-changes-2026-07-01。这对于逐步暴露工具或随任务推进而停用工具的智能体工作负载很有用;如果没有此功能,更改的工具列表会使缓存的前缀失效。
重新调整长度和冗长度提示: 在 Claude Opus 5 上,默认的可见响应和书面交付物比 Claude Opus 4.8 更长,而降低 effort 会减少思考量,但不能可靠地缩短可见响应。请改为显式提示简洁性或目标长度。请参阅响应长度和冗长度和书面交付物长度。
移除沿用的验证指令并约束范围: Claude Opus 5 无需被告知即会验证自己的工作,因此请移除从为早期模型调优的提示中沿用的显式验证或自检指令;保留它们会导致过度验证。对于范围较窄的任务,请显式约束任务范围。在多智能体框架中,请明确指导哪些场景需要委派或限制子智能体的数量,因为 Claude Opus 5 比早期模型更倾向于委派。请参阅任务范围和过度验证和控制子智能体生成。
claude-opus-4-8 更新为 claude-opus-5。thinking 字段运行的工作负载:它们在 Claude Opus 5 上会带思考运行。重新审视 max_tokens,它仍然是总输出(思考加响应文本)的硬性限制,或在 effort high 或更低级别下传递 thinking: {type: "disabled"} 以保留旧行为。如果您禁用思考,请查阅在禁用思考的情况下运行,了解可能出现的输出异常及其提示缓解措施。thinking: {type: "disabled"} 与 effort xhigh 或 max 组合会返回 400 错误,在每个请求上强制执行。重新启用思考或将 effort 降低到 high 或更低。effort 设置:在您自己的评估上运行全新的 effort 扫描,而不是沿用为早期模型调优的设置。low 和 medium effort 值得作为成本和延迟控制进行测试,在最大能力比令牌消耗更重要的场景下测试 max effort。如果您以 xhigh 或 max effort 运行,请将 max_tokens 提高到至少 64k 作为起点。stop_reason: "refusal",并考虑使用 fallbacks: "default"(测试版)在推荐的回退模型上自动重新运行被拒绝的请求。Claude Opus 5 在现有的 Claude Opus 4.7 提示和评估上应具有出色的开箱即用性能,定价保持不变,即每百万输入令牌 5 美元、每百万输出令牌 25 美元。它支持与 Claude Opus 4.7 相同的功能集,包括 1M 令牌上下文窗口、128k 最大输出令牌、自适应思考、提示缓存、批处理、Files API、PDF 支持、视觉,以及服务器端和客户端工具,但有两个例外:web fetch 在 Claude Opus 5 上不可用,且 Claude Opus 5 不支持 Priority Tier。此外,它还新增了对话中途系统消息,并公开记录了拒绝停止详情。
# Opus 迁移
model = "claude-opus-4-7" # Before
model = "claude-opus-5" # After**思考默认开启:**在 Claude Opus 4.7 上,不带 thinking 字段的请求在不启用思考的情况下运行;在 Claude Opus 5 上,相同的请求会以自适应思考运行。max_tokens 仍然是总输出(思考加响应文本)的硬性限制,因此对于在 Claude Opus 4.7 上不启用思考运行的工作负载,请重新审视该参数。要保留旧行为,请传递 thinking: {type: "disabled"},但需遵守下一条中的 effort 上限;请注意,禁用思考时,模型偶尔会将工具调用作为纯文本输出,或在其可见输出中包含内部 XML 标签,因此请尽可能优先使用启用思考的较低 effort 级别;如果无法这样做,请参阅在禁用思考的情况下运行以了解缓解措施。
**禁用思考的上限为 high effort:**您可以使用 thinking: {type: "disabled"} 关闭思考,但仅限于 effort 级别为 high 或更低时。将 thinking: {type: "disabled"} 与 effort xhigh 或 max 组合的请求会返回 400 错误。Claude Opus 4.7 接受此组合,因此在迁移之前请审核禁用思考的请求。
该检查在每个请求上强制执行:每个请求的 effort 和思考配置都会独立验证,因此即使对话中较早的请求已被接受,将 effort 提升到 xhigh 或 max 同时禁用思考的请求也会被拒绝。
之前(在 Claude Opus 4.7 上被接受,在 Claude Opus 5 上被拒绝):
client.messages.create(
model="claude-opus-4-7",
max_tokens=16000,
thinking={"type": "disabled"},
output_config={"effort": "xhigh"},
messages=[{"role": "user", "content": "..."}],
)之后(Claude Opus 5),要么移除 thinking 字段以启用思考运行:
client.messages.create(
model="claude-opus-5",
max_tokens=16000,
output_config={"effort": "xhigh"}, # thinking is on by default
messages=[{"role": "user", "content": "..."}],
)要么保持禁用思考并降低 effort:
client.messages.create(
model="claude-opus-5",
max_tokens=16000,
thinking={"type": "disabled"},
output_config={"effort": "high"}, # or "medium", "low"
messages=[{"role": "user", "content": "..."}],
)以下各项不是破坏性变更;它们描述了在您更换模型 ID 后值得检查的行为差异。
**采样参数(未变更):**将 temperature、top_p 或 top_k 设置为非默认值会在 Claude Opus 5 上返回 400 错误,与 Claude Opus 4.7 相同。SDK 请求类型仍然定义这些字段以兼容早期模型,因此设置这些字段的代码可以通过类型检查,但 API 会在服务器端拒绝该请求。如果您在迁移到 Opus 4.7 时已移除这些参数,则无需进一步更改。
**Effort 默认值为 high:**Claude Opus 5 上的 effort 参数在 Claude API 和 Claude Code 上的默认值为 high。如果您已显式设置 effort,则您的设置保持不变。
**Effort 级别已重新校准:**与 Claude Opus 4.7 相比,Claude Opus 5 上每个 effort 级别背后的令牌分配有所变化,且 Claude Opus 5 支持完整的 effort 级别集(low、medium、high、xhigh、max)。请在您自己的评估上重新进行 effort 扫描,而不是沿用为 Claude Opus 4.7 调优的设置。low 和 medium effort 值得作为成本和延迟控制手段进行测试;在最大能力比令牌消耗更重要的场景下,请测试 max effort。如果您以 xhigh 或 max effort 运行,请设置较大的 max_tokens,以便模型有足够空间进行思考和行动;从 64k 令牌开始,然后进行调优。请参阅 Effort。
**1M 上下文窗口为默认值:**Claude Opus 5 默认提供完整的 1M 令牌上下文窗口,无需 beta 标头,也没有长上下文溢价。如果您的客户端为了兼容旧模型而传递上下文窗口 beta 标头,您可以在 Claude Opus 5 上将其移除。
**对话中途系统消息:**Claude Opus 5 接受在 messages 数组中紧跟用户轮次之后的 role: "system" 消息(需遵守放置规则)。对于从一开始就适用的指令,请使用顶层 system 字段。Claude Opus 4.7 会拒绝 messages 中的 role: "system" 并返回 400 错误。如果您维护的代码路径会重建完整的消息历史以更新指令,您可以简化这些代码路径,并保留较早轮次上的提示缓存命中。
**拒绝停止详情:**拒绝响应上的 stop_details 对象(自 Claude Opus 4.7 起可用)现已公开记录。当模型拒绝请求时,除了现有的 refusal 停止原因外,它还会标识拒绝的类别。无需 beta 标头,也没有退出选项。请参阅处理停止原因。
**更低的提示缓存最小值:**Claude Opus 5 上可缓存提示的最小长度为 512 个令牌,低于 Claude Opus 4.7。在 Claude Opus 4.7 上因太短而无法缓存的提示现在可以创建缓存条目,无需更改代码。有关各模型的最小值,请参阅提示缓存。
**快速模式:**Claude Opus 5 支持快速模式(研究预览版);快速模式在 Claude Opus 4.7 上不可用,带有 speed: "fast" 的请求会返回错误。speed: "fast" 参数和 fast-mode-2026-02-01 beta 标头在 Claude Opus 5 上的工作方式保持不变。
以下更改不是必需的,但会改善您的使用体验:
**考虑自动回退:**Claude Opus 5 附带网络安全分类器,其网络类别的拒绝可以回退到 Claude Opus 4.8。要在另一个模型上自动重新运行被拒绝的请求,请考虑使用带有 "default" 模式的 fallbacks 参数(fallbacks: "default"),该模式会根据拒绝类别选择推荐的回退模型,而不是使用手动维护的模型列表。服务器端回退处于 beta 阶段;"default" 模式需要 server-side-fallback-2026-07-01 beta 标头。请参阅拒绝和回退。
**对话中途更改工具(beta):**您可以在对话的各轮次之间添加或移除工具,而不会使较早轮次上的提示缓存命中失效。请发送 beta 标头 mid-conversation-tool-changes-2026-07-01。这对于随任务推进逐步公开工具或淘汰工具的智能体工作负载非常有用;如果没有此功能,更改后的工具列表会使缓存的前缀失效。
**重新调优长度和冗长度提示:**Claude Opus 5 上的默认可见响应和书面交付物比早期 Opus 模型更长,而降低 effort 会减少思考量,但不能可靠地缩短可见响应。请改为在提示中明确要求简洁或指定目标长度。请参阅响应长度和冗长度和书面交付物长度。
**移除沿用的验证指令并约束范围:**Claude Opus 5 无需被告知即会验证自己的工作,因此请移除从为早期模型调优的提示中沿用的显式验证或自检指令;保留这些指令会导致过度验证。对于范围较窄的任务,请显式约束任务范围。在多智能体框架中,请明确指导哪些场景需要委派,或限制子智能体的数量,因为 Claude Opus 5 比早期模型更倾向于委派。请参阅任务范围和过度验证和控制子智能体生成。
claude-opus-4-7 更新为 claude-opus-5(或更新别名)。thinking 字段运行的工作负载:它们在 Claude Opus 5 上会启用思考运行。重新审视 max_tokens,它仍然是总输出(思考加响应文本)的硬性限制;或者在 effort 为 high 或更低时传递 thinking: {type: "disabled"} 以保留旧行为。如果您禁用思考,请查阅在禁用思考的情况下运行,了解可能出现的输出异常及其提示缓解措施。thinking: {type: "disabled"} 与 effort xhigh 或 max 组合会返回 400 错误,且在每个请求上强制执行。请重新启用思考或将 effort 降低到 high 或更低。effort 设置:在您自己的评估上重新进行 effort 扫描,而不是沿用为 Claude Opus 4.7 调优的设置。测试 low 和 medium effort 作为成本和延迟控制手段,并在最大能力比令牌消耗更重要的场景下测试 max effort。如果您以 xhigh 或 max effort 运行,请将 max_tokens 提高到至少 64k 作为起点。stop_details(自 Claude Opus 4.7 起可用;现已公开记录),并考虑使用 fallbacks: "default"(beta)在推荐的回退模型上自动重新运行被拒绝的请求。speed: "fast" 和 fast-mode-2026-02-01 beta 标头在 Claude Opus 5 上的工作方式保持不变。Claude Opus 5 在现有的 Claude Opus 4.6 提示和评估上应具有出色的开箱即用性能,且定价相同,但在迁移过程中有一些行为和 API 变更值得了解。这些变更大多数在 Claude Opus 4.7 中已生效;另外两项——默认开启思考以及禁用思考时的 effort 上限——在 Claude Opus 5 中生效。以下涵盖了所有这些变更,因此对于直接从 Claude Opus 4.6 迁移的代码,本节内容是完整的。Claude Opus 5 支持与 Claude Opus 4.6 相同的功能集,包括:
两个例外:网页抓取在 Claude Opus 5 上不可用,且 Claude Opus 5 不支持 Priority Tier。
# Opus 迁移
model = "claude-opus-4-6" # Before
model = "claude-opus-5" # After扩展思考已移除: thinking: {type: "enabled", budget_tokens: N} 在 Claude Opus 4.7 或更高版本的模型上不再受支持,并会返回 400 错误。请切换到自适应思考(thinking: {type: "adaptive"}),并使用 effort 参数来控制思考深度。在 Claude Opus 5 上,自适应思考默认开启:thinking: {type: "adaptive"} 是有效的,等同于完全省略 thinking 字段(参见下一项)。
之前(Claude Opus 4.6):
client.messages.create(
model="claude-opus-4-6",
max_tokens=16000,
thinking={"type": "enabled", "budget_tokens": 10000},
messages=[{"role": "user", "content": "..."}],
)之后(Claude Opus 5):
client.messages.create(
model="claude-opus-5",
max_tokens=16000,
thinking={"type": "adaptive"},
output_config={"effort": "high"}, # or "max", "xhigh", "medium", "low"
messages=[{"role": "user", "content": "..."}],
)自适应思考可通过提示和 effort 参数进行引导;请参阅选择 effort 级别。
默认开启思考: 在 Claude Opus 4.6 和 Claude Opus 4.7 上,不带 thinking 字段的请求在不进行思考的情况下运行;在 Claude Opus 5 上,相同的请求会以自适应思考运行。max_tokens 仍然是总输出(思考加响应文本)的硬性限制,因此请重新审视之前在不进行思考的情况下运行的工作负载的该参数。要保留旧行为,请传递 thinking: {type: "disabled"},但需遵守下一项中的 effort 上限;请注意,禁用思考时,模型偶尔可能会将工具调用作为纯文本输出,或在其可见输出中包含内部 XML 标签,因此在可能的情况下,请优先使用启用思考的较低 effort 级别,在无法这样做的情况下,请参阅在禁用思考的情况下运行以了解缓解措施。
禁用思考的上限为 high effort: 您可以使用 thinking: {type: "disabled"} 关闭思考,但仅限于 effort 级别为 high 或更低时。在 Claude Opus 5 上,将 thinking: {type: "disabled"} 与 effort xhigh 或 max 组合的请求会返回 400 错误,每个请求都会强制执行此限制。在迁移之前,请审核禁用思考的请求:重新启用思考或将 effort 降低到 high 或更低。
采样参数已移除: 在 Claude Opus 4.7 或更高版本的模型(包括 Claude Opus 5)上,将 temperature、top_p 或 top_k 设置为任何非默认值都会返回 400 错误。最安全的迁移路径是从请求负载中完全省略这些参数。在 Claude Opus 5 上,推荐使用提示来引导模型行为。如果您之前使用 temperature = 0 来获得确定性,请注意它在之前的模型上也从未保证过完全相同的输出。
默认省略思考内容: 在 Claude Opus 4.7 及更高版本的模型上,思考块仍会出现在响应流中,但除非您明确选择加入,否则其 thinking 字段为空。这是相对于 Claude Opus 4.6 的一个静默变更,在 Claude Opus 4.6 中默认返回摘要化的思考文本。要恢复摘要化的思考内容,请将 thinking.display 设置为 "summarized":
thinking = {
"type": "adaptive",
"display": "summarized",
}在 Claude Opus 4.7 及更高版本的模型上,默认值为 "omitted"。如果您的产品向用户流式传输推理过程,新的默认值会表现为输出开始前的长时间停顿;设置 display: "summarized" 可恢复思考期间的可见进度。详情请参阅控制思考显示。
更新的令牌计数: Claude Opus 4.7 引入了新的分词器,后续的 Opus 模型(包括 Claude Opus 5)也使用该分词器。它有助于提升各种任务的性能,与 Claude Opus 4.7 之前的模型相比,处理文本时可能使用大约 1 倍到 1.35 倍的令牌(最多增加约 35%,因内容而异)。
对于 Claude Opus 5,/v1/messages/count_tokens 返回的令牌数与 Claude Opus 4.6 不同。令牌效率可能因工作负载形态而异。
提示干预、task_budget 和 effort 可以帮助控制成本并确保适当的令牌使用。这些控制可能会牺牲模型智能。请更新您的 max_tokens 参数以提供额外的余量,包括压缩触发器。Claude Opus 5 提供 100 万上下文窗口,按标准 API 定价,无长上下文附加费。
预填充移除(从 Opus 4.6 延续): 在 Claude Opus 4.7 及更高版本的模型(包括 Claude Opus 5)上,预填充助手消息会返回 400 错误。请改用结构化输出、系统提示指令或 output_config.format。
effort 参数允许您调整 Claude 的智能与令牌消耗之间的平衡,以能力换取更快的速度和更低的成本。Claude Opus 5 支持完整的 effort 级别集,默认为 high。请在您自己的评估上重新进行 effort 扫描,而不是沿用为早期模型调优的设置:
max: 可以在最苛刻的任务上带来提升,但可能因令牌使用增加而出现收益递减,并且在较简单的任务上可能容易过度思考。在最大能力比令牌消耗更重要的场景下测试它。xhigh: 为需要比默认值更深入处理的长时间运行的智能体和编码工作提供扩展能力。high: 默认值。在大多数任务中平衡令牌使用和智能。medium: 从默认值降一级以节省成本,值得作为成本和延迟控制进行测试。low: 最高效。保留用于简短、范围明确的任务和对延迟敏感的工作负载。如果您以 xhigh 或 max effort 运行,请设置较大的 max_tokens,以便模型有足够的空间进行思考和行动;从 64k 令牌开始,然后进行调整。对于此模型,effort 比任何之前的 Opus 都更重要。升级时请积极尝试不同的设置。
Claude Opus 4.7 引入了几项与 Claude Opus 4.6 不同的行为差异,这些不是 API 破坏性变更,但可能需要更新提示或移除脚手架。它们延续到 Claude Opus 5,并有以下所述的调整。
响应长度因用例而异: Claude Opus 4.7 会根据其判断的任务复杂程度来校准响应长度,而不是默认使用固定的详细程度。这通常意味着简单查询的答案更短,而开放式分析的答案则长得多。
如果您的产品依赖于特定的输出风格或详细程度,您可能需要调整提示。例如,要降低详细程度,可添加:"提供简洁、聚焦的响应。跳过非必要的上下文,并将示例保持在最少。"如果您看到特定类型的过度解释,请在提示中添加针对性的指令来防止它们。
展示 Claude 如何以适当简洁程度进行沟通的正面示例,往往比告诉模型不要做什么的负面示例或指令更有效。在 Claude Opus 5 上,默认的可见响应和书面交付物比早期 Opus 模型更长,降低 effort 会减少思考量,但不能可靠地缩短可见响应;请明确提示要求简洁或指定目标长度。请参阅响应长度和详细程度。
更字面化的指令遵循: Claude Opus 4.7 比 Claude Opus 4.6 更字面、更明确地解释提示,尤其是在较低的 effort 级别下。它不会默默地将一项指令从一个项目泛化到另一个项目,也不会推断您未提出的请求。这种字面化的好处是精确性和更少的反复。对于具有精心调优的提示、结构化提取以及需要可预测行为的流水线的 API 用例,它通常表现更好。在迁移到 Claude Opus 5 时,审查提示和框架可能特别有帮助。
更直接的语气: 与任何新模型一样,长篇写作的文风可能会有所变化。Claude Opus 4.7 更直接、更有主见,与 Claude Opus 4.6 更温暖的风格相比,认可性措辞更少,表情符号也更少。如果您的产品依赖于特定的语气,请根据新的基线重新评估风格提示。
智能体追踪中的内置进度更新: Claude Opus 4.7 在长时间的智能体追踪过程中向用户提供更规律、更高质量的更新。如果您添加了脚手架来强制生成中间状态消息("每 3 次工具调用后,总结进度"),请尝试移除它。如果您发现 Claude Opus 4.7 面向用户的更新的长度或内容不太适合您的用例,请在提示中明确描述这些更新应该是什么样子,并提供示例。
子智能体生成已变更: Claude Opus 4.7 默认倾向于生成比 Claude Opus 4.6 更少的子智能体,而 Claude Opus 5 比早期模型更容易委派给子智能体。该行为可以通过提示向任一方向引导;请明确指导何时需要子智能体,或限制子智能体的数量。请参阅控制子智能体生成。
更严格的 effort 校准: 与 Claude Opus 4.6 相比有显著变化,Claude Opus 4.7 严格遵守 effort 级别,尤其是在低端。在 low 和 medium 级别下,模型会将其工作范围限定在所要求的内容,而不会做超出要求的事情。
这对延迟和成本有利,但在以 low effort 运行的中等复杂任务上,存在一定的思考不足风险。如果您在复杂问题上观察到推理肤浅,请将 effort 提高到 high 或 xhigh,而不是通过提示来绕过它。
如果您需要为了延迟而将 effort 保持在 low,请添加针对性的指导:"此任务涉及多步推理。在响应之前请仔细思考问题。"请参阅 Claude Opus 4.7 的推荐 effort 级别。
默认更少的工具调用: Claude Opus 4.7 倾向于比 Claude Opus 4.6 更少使用工具,而更多使用推理。在大多数情况下,这会产生更好的结果。
要增加工具使用,请提高 effort 设置。high 或 xhigh effort 设置在智能体搜索和编码中显示出明显更多的工具使用。您也可以调整提示,明确指示模型何时以及如何正确使用其工具。
实时网络安全防护: Claude Opus 4.7 新增了此功能,涉及禁止或高风险主题的请求可能会导致拒绝。对于合法的安全工作,如渗透测试、漏洞研究或红队测试,请申请网络验证计划以请求降低限制。背景信息请参阅防护措施、警告和申诉。
高分辨率图像支持: Claude Opus 4.7 是首个支持高分辨率图像的 Claude 模型。最大图像分辨率在长边上为 2,576 像素,高于之前模型的 1,568 像素。这为视觉密集型工作负载带来了提升,对于计算机使用、屏幕截图理解和文档分析尤其有价值。
高分辨率支持是自动的,不需要 beta 标头或客户端选择加入。需要规划两件事:
max_tokens 和成本预期,或者如果您不需要额外的保真度,请在发送前进行降采样。详情请参阅 Claude Opus 4.7 上的高分辨率图像支持。
这些不是必需的,但会改善您的体验:
重新评估 max_tokens: 由于相同的文本在 Claude Opus 4.7 及更高版本的模型上会产生更高的令牌计数,请更新您的 max_tokens 参数以提供额外的余量,包括压缩触发器。提示干预、task_budget 和 effort 可以帮助控制成本并确保适当的令牌使用。
审核令牌计数预期: 任何在客户端估算令牌或假设固定令牌与字符比率的代码路径都应针对 Claude Opus 5 重新测试。使用令牌计数端点进行验证。
采用任务预算(beta): Claude Opus 4.7 引入了任务预算。这些预算让您告知 Claude 它在完整的智能体循环中有多少令牌可用,包括思考、工具调用、工具结果和最终输出。模型会看到一个运行中的倒计时,并使用它来确定工作优先级,并在预算消耗时优雅地完成任务。要使用此功能,请设置 beta 标头 task-budgets-2026-03-13 并将以下内容添加到您的输出配置中:
output_config = {
"effort": "high",
"task_budget": {"type": "tokens", "total": 128000},
}您可能需要为您的用例尝试不同的任务预算。如果给模型的任务预算过于严格,它可能会不那么彻底地完成任务,并将其预算作为约束条件提及。
对于质量比速度更重要的开放式智能体任务,请不要设置任务预算。将任务预算保留用于需要模型将其工作范围限定在令牌配额内的工作负载。任务预算的最小值为 20k 令牌。
任务预算不是硬性上限;它是模型知晓的一个建议。它与 max_tokens 不同:
task_budget: 整个智能体循环的建议性上限。模型会看到它并用它来调整自己的节奏。max_tokens: 每个请求生成令牌的硬性上限。它不会传递给模型,因此模型不知道它。当您希望模型自我调节时使用 task_budget,使用 max_tokens 作为硬性上限来限制使用量。
在 max 或 xhigh effort 下设置较大的 max_tokens: 如果您以 max 或 xhigh effort 运行 Claude Opus 4.7 或更高版本的模型,请设置较大的最大输出令牌预算,以便模型有足够的空间在其子智能体和工具调用中进行思考和行动。从 64k 令牌开始,然后进行调整。
如果不需要高分辨率,请对图像进行降采样: Claude Opus 4.7 及更高版本的模型支持最大 2576px / 3.75MP 的图像。高分辨率图像使用更多令牌。如果不需要额外的图像保真度,请在发送给 Claude 之前对图像进行降采样,以避免令牌使用量增加。请参阅图像和视觉。
考虑自动回退: Claude Opus 5 附带网络安全分类器,其网络类别的拒绝可以回退到 Claude Opus 4.8。要在另一个模型上自动重新运行被拒绝的请求,请考虑使用带有 "default" 模式的 fallbacks 参数(fallbacks: "default"),该模式会根据拒绝类别选择推荐的回退模型,而不是手动维护的模型列表。服务器端回退处于 beta 阶段;"default" 模式需要 server-side-fallback-2026-07-01 beta 标头。请参阅拒绝和回退。
缓存更短的提示: Claude Opus 5 上的最小可缓存提示长度为 512 个令牌,低于早期 Opus 模型。之前太短而无法缓存的提示现在可以创建缓存条目,无需更改代码。有关每个模型的最小值,请参阅提示缓存。
在对话中途更改工具(beta): 您可以在对话的轮次之间添加或移除工具,而不会使早期轮次的提示缓存命中失效。发送 beta 标头 mid-conversation-tool-changes-2026-07-01。这对于随任务进展逐步公开工具或停用工具的智能体工作负载很有用;如果没有它,更改的工具列表会使缓存的前缀失效。
移除沿用的验证指令并限制范围: Claude Opus 5 无需被告知即可验证自己的工作,因此请移除从为早期模型调优的提示中沿用的显式验证或自检指令;保留它们会导致过度验证。对于范围较窄的任务,请明确限制任务范围。请参阅任务范围和过度验证。
claude-opus-4-6 更新为 claude-opus-5(或更新别名)。temperature、top_p 和 top_k。thinking: {type: "enabled", budget_tokens: N} 替换为 thinking: {type: "adaptive"} 加上 effort 参数,或完全移除 thinking 字段;在 Claude Opus 5 上自适应思考默认开启。thinking 字段的情况下运行的工作负载:它们在 Claude Opus 5 上会以思考模式运行。重新审视 max_tokens,它仍然是总输出(思考加响应文本)的硬性限制,或者在 effort 为 high 或更低时传递 thinking: {type: "disabled"} 以保留旧行为。thinking: {type: "disabled"} 与 effort xhigh 或 max 组合会返回 400 错误,每个请求都会强制执行。重新启用思考或将 effort 降低到 high 或更低。max_tokens 以适应更新的分词方式。xhigh 或 max effort,请将 max_tokens 提高到至少 64k 作为起点。stop_reason: "refusal",并考虑使用 fallbacks: "default"(beta)在推荐的回退模型上自动重新运行被拒绝的请求。如果您从 Claude Opus 4.5、Opus 4.1 或更早的模型直接迁移到 Claude Opus 5,请应用本节前面的所有变更以及以下累积变更,这些变更在 Opus 4.5 和 Opus 4.7 之间生效。如果您从 Opus 4.6 迁移,本节前面的变更就是您所需的全部内容。
# Opus 迁移
model = "claude-opus-4-5" # Before
model = "claude-opus-5" # After预填充移除已在从 Claude Opus 4.6 迁移的破坏性变更中涵盖。
工具参数引号处理: Claude Opus 4.6 及更高版本的模型在工具调用参数中可能产生略有不同的 JSON 字符串转义(例如,Unicode 转义或正斜杠转义的不同处理)。如果您将工具调用 input 作为原始字符串解析而不是使用 JSON 解析器,请验证您的解析逻辑。标准 JSON 解析器(如 json.loads() 或 JSON.parse())会自动处理这些差异。
这些变更可改善您在 Claude Opus 4.7 及更高版本模型上的体验。标记为**(Opus 4.7 上必需)**的项目在 Opus 4.6 发布时是可选建议,但现在是强制性的;其余项目仍为推荐。
迁移到自适应思考(Opus 4.7 上必需): thinking: {type: "enabled", budget_tokens: N} 在 Claude Opus 4.7 及更高版本的模型上返回 400 错误。切换到 thinking: {type: "adaptive"} 并使用 effort 参数来控制思考深度;在 Claude Opus 5 上,thinking: {type: "adaptive"} 等同于省略 thinking 字段,后者默认以自适应思考运行。请参阅思考。
response = client.beta.messages.create(
model="claude-opus-4-5",
max_tokens=16000,
thinking={"type": "enabled", "budget_tokens": 32000},
betas=["interleaved-thinking-2025-05-14"],
messages=[{"role": "user", "content": "Your prompt here"}],
)请注意,迁移还从 client.beta.messages.create 移动到 client.messages.create。自适应思考和 effort 是 GA 功能,不需要 beta SDK 命名空间或任何 beta 标头。
移除 effort beta 标头: effort 参数现已 GA。从您的请求中移除 betas=["effort-2025-11-24"]。
移除细粒度工具流式传输 beta 标头: 细粒度工具流式传输现已 GA。从您的请求中移除 betas=["fine-grained-tool-streaming-2025-05-14"]。
移除交错思考 beta 标头: 自适应思考在 Claude Opus 4.7、Opus 4.6 和 Sonnet 4.6 上自动启用交错思考。从您的请求中移除 betas=["interleaved-thinking-2025-05-14"]。该标头在 Sonnet 4.6 上使用手动扩展思考时仍然有效,但手动模式已弃用。
迁移到 output_config.format: 如果使用结构化输出,请将 output_format={...} 更新为 output_config={"format": {...}}。旧参数仍然有效,但已弃用,将在未来的模型版本中移除。
如果您从 Opus 4.1 或更早的模型直接迁移到 Claude Opus 5,请应用本节前面的所有变更,以及本小节中的附加变更。
# 来自 Opus 4.1
model = "claude-opus-4-1-20250805" # Before
model = "claude-opus-5" # After
# 来自 Sonnet 3.7
model = "claude-3-7-sonnet-20250219" # Before
model = "claude-opus-5" # After移除采样参数
从 Claude Opus 4.7 开始,将 temperature、top_p 或 top_k 设置为任何非默认值都会返回 400 错误。最安全的迁移路径是从请求中完全省略这些参数,并使用提示来引导模型的行为。如果您之前使用 temperature = 0 来获得确定性,请注意它从未保证过完全相同的输出。
# 之前 - 这在 Claude 4+ 模型中会报错
response = client.messages.create(
model="claude-3-7-sonnet-20250219",
temperature=0.7,
top_p=0.9, # Non-default sampling params return 400 on Opus 4.7
# ...
)
# 之后
response = client.messages.create(
model="claude-opus-5",
# ...
)更新工具版本
更新到最新的工具版本。移除任何使用 undo_edit 命令的代码。
# 之前
tools = [{"type": "text_editor_20250124", "name": "str_replace_editor"}]
# 之后
tools = [{"type": "text_editor_20250728", "name": "str_replace_based_edit_tool"}]处理 refusal 停止原因
更新您的应用程序以处理 refusal 停止原因:
response = client.messages.create(...)
if response.stop_reason == "refusal":
# 适当处理拒绝情况
pass处理 model_context_window_exceeded 停止原因
Claude 4.5+ 模型在生成因达到上下文窗口限制(而非请求的 max_tokens 限制)而停止时,会返回 model_context_window_exceeded 停止原因。更新您的应用程序以处理这个新的停止原因:
response = client.messages.create(...)
if response.stop_reason == "model_context_window_exceeded":
# 适当处理上下文窗口限制
pass验证工具参数处理(尾随换行符)
Claude 4.5+ 模型会保留工具调用字符串参数中之前被剥离的尾随换行符。如果您的工具依赖于对工具调用参数的精确字符串匹配,请验证您的逻辑能正确处理尾随换行符。
针对行为变更更新您的提示
Claude 4+ 模型具有更简洁、直接的沟通风格,需要明确的指示。请查看提示最佳实践以获取优化指导。
token-efficient-tools-2025-02-19 和 output-128k-2025-02-19。所有 Claude 4+ 模型都内置了令牌高效的工具使用,这些标头没有任何效果。claude-opus-5output_config.formatthinking: {type: "enabled", budget_tokens: N} 替换为 thinking: {type: "adaptive"} 加上 effort 参数(在 Opus 4.7 上返回 400)effort-2025-11-24 beta 标头(effort 现已 GA)fine-grained-tool-streaming-2025-05-14 beta 标头interleaved-thinking-2025-05-14 beta 标头(自适应思考自动启用交错思考)output_format 迁移到 output_config.format(如适用)temperature、top_p 和 top_k(非默认值在 Opus 4.7 上返回 400)text_editor_20250728、code_execution_20260521)refusal 停止原因model_context_window_exceeded 停止原因token-efficient-tools-2025-02-19、output-128k-2025-02-19)Claude Opus 5 和 Claude Sonnet 5 共享相同的 API 接口:两者均默认启用 adaptive thinking(自适应思考),在 Claude API 和 Claude Code 上两者的 effort 参数均默认为 high,两者均默认提供 100 万令牌上下文窗口和 128k 最大输出令牌,且两者均不支持 Priority Tier。在这两个模型上,手动扩展思考和非默认采样参数都会返回 400 错误,助手消息预填充也是如此。
model = "claude-sonnet-5" # Before
model = "claude-opus-5" # After定价: Claude Opus 5 的定价为每百万输入令牌 5 美元,每百万输出令牌 25 美元。Claude Sonnet 5 的定价为每百万输入/输出令牌 2 美元/10 美元。完整定价请参阅 Claude 定价。
禁用思考的上限为 high effort: 在 Claude Sonnet 5 上,thinking: {type: "disabled"} 在任何 effort 级别下都会被接受。在 Claude Opus 5 上,仅当 effort 级别为 high 或更低时才会被接受;将 thinking: {type: "disabled"} 与 effort xhigh 或 max 组合的请求会返回 400 错误,此规则在每个请求上强制执行。在迁移之前,请审查禁用思考的请求。
对话中途系统消息: Claude Opus 5 接受在 messages 数组中紧跟用户轮次之后的 role: "system" 消息(需遵守放置规则);Claude Sonnet 5 不支持此功能。如果您维护的代码路径会重建完整消息历史以更新指令,您可以简化这些代码路径,并保留早期轮次的提示缓存命中。
Web fetch 不可用: web fetch 工具在 Claude Sonnet 5 上可用,但在 Claude Opus 5 上不可用。
claude-sonnet-5 更新为 claude-opus-5。thinking: {type: "disabled"} 与 effort xhigh 或 max 组合会返回 400 错误。请重新启用思考或将 effort 降低至 high 或更低。Claude Sonnet 5 在 Claude 模型系列中提供了速度与智能的最佳组合。它基于 Claude Sonnet 4.6 构建。
Claude Sonnet 5 是 Claude Sonnet 4.6 的直接升级替代,定价为每百万输入/输出令牌 2 美元/10 美元;详情请参阅定价。对于已在 Claude Sonnet 4.6 上运行的代码,有两项破坏性 API 变更:手动扩展思考(thinking: {type: "enabled", budget_tokens: N})和设置为非默认值的采样参数(temperature、top_p、top_k)不再被接受,会返回 400 错误。请改用 adaptive thinking(自适应思考)配合 effort 参数。Claude Sonnet 5 支持与 Claude Sonnet 4.6 相同的功能集,包括 100 万令牌上下文窗口、自适应思考、提示缓存、批处理、Files API、PDF 支持、视觉,以及完整的服务器端和客户端工具集。Priority Tier 在 Claude Sonnet 5 上不可用。Claude Sonnet 5 还使用了新的分词器。
# Sonnet 迁移
model = "claude-sonnet-4-6" # Before
model = "claude-sonnet-5" # After以下列表中的第 4 项和第 5 项是破坏性变更。max_tokens 仍然是总输出(思考加响应文本)的硬性限制,因此对于在 Claude Sonnet 4.6 上未启用思考运行的工作负载,请重新审视此参数。
新分词器: Claude Sonnet 5 使用新的分词器。相同的输入文本产生的令牌数比 Claude Sonnet 4.6 多约 30%。确切的增幅取决于内容。请求、响应和流式传输事件保持相同的结构,无需更改代码,但您以令牌为单位测量或预算的任何内容都会发生变化:相同文本的 usage 字段和令牌计数结果会更高,100 万令牌上下文窗口容纳的文本更少,为 Claude Sonnet 4.6 调优的 max_tokens 限制可能会截断等效输出。每令牌定价更低(2 美元/10 美元,而 Claude Sonnet 4.6 为每百万输入/输出令牌 3 美元/15 美元),但等效请求的成本不会按比例直接下降。请针对 Claude Sonnet 5 重新运行令牌计数,而不是复用针对早期模型测量的计数。
128k 最大输出令牌(未变): Claude Sonnet 5 支持最多 128k 输出令牌,与 Claude Sonnet 4.6 相同。现有的 max_tokens 值仍然有效。在设置大小时请考虑新分词器的影响。
助手消息预填充(未变): 在 Claude Sonnet 5 上预填充助手消息会返回 400 错误,与 Claude Sonnet 4.6 相同。如果您在迁移到 Claude Sonnet 4.6 时已移除预填充,则无需进一步更改。请改用结构化输出、系统提示指令或 output_config.format。
自适应思考默认启用: 在 Claude Sonnet 4.6 上,不带 thinking 字段的请求在不启用思考的情况下运行;在 Claude Sonnet 5 上,相同的请求会以自适应思考运行。要关闭思考,请传递 thinking: {type: "disabled"}。手动扩展思考(thinking: {type: "enabled", budget_tokens: N})不受支持,会返回 400 错误。使用 effort 参数(默认为 high)来控制思考深度。
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-sonnet-5",
max_tokens=16000,
thinking={"type": "adaptive", "display": "summarized"},
output_config={"effort": "high"},
messages=[
{
"role": "user",
"content": "Are there an infinite number of prime numbers such that n mod 4 == 3?",
}
],
)
# 响应包含摘要化的思考块和文本块
for block in response.content:
match block.type:
case "thinking":
print(f"\nThinking summary: {block.thinking}")
case "text":
print(f"\nResponse: {block.text}")采样参数已移除: 设置为非默认值的采样参数(temperature、top_p、top_k)不被接受,会返回 400 错误。
网络安全防护措施: Claude Sonnet 5 是首个具有实时网络安全防护措施的 Sonnet 级别模型。涉及被禁止或高风险网络安全主题的请求可能会被拒绝。拒绝以成功的 HTTP 200 响应返回,带有 stop_reason: "refusal",而非错误。背景信息请参阅防护措施、警告和申诉。
claude-sonnet-4-6 更新为 claude-sonnet-5。max_tokens 限制,并在有用的情况下将其提高至 128k 上限(与 Claude Sonnet 4.6 相同)。thinking: {type: "enabled", budget_tokens: N} 配置(会返回 400 错误)。自适应思考默认启用;传递 {type: "disabled"} 可将其关闭,或使用 effort 参数控制深度。temperature、top_p 和 top_k 参数(它们在 Claude Sonnet 5 上会返回 400 错误)。stop_reason: "refusal" 的处理。max_tokens。如果您从 Claude Sonnet 4.5 或更早的 Sonnet 模型直接迁移到 Claude Sonnet 5,请应用从 Claude Sonnet 4.6 迁移到 Claude Sonnet 5 中的变更,以及本节中的变更。
不再支持预填充助手消息
在 Claude Sonnet 4.6 及更高版本的模型(包括 Claude Sonnet 5)上,预填充助手消息会返回 400 错误。请改用结构化输出、系统提示指令或 output_config.format。
常见的预填充用例及迁移方法:
控制输出格式(强制 JSON/YAML 输出):使用结构化输出,或对分类任务使用带枚举字段的工具。
消除开场白(移除"以下是..."等短语):在系统提示中添加直接指令:"直接回应,不要开场白。不要以'以下是...'、'基于...'等短语开头。"
避免不当拒绝: Claude 现在在适当拒绝方面表现得更好。在用户消息中使用清晰的提示而不使用预填充应该就足够了。
续写(恢复被中断的响应):将续写内容移至用户消息:"您之前的响应被中断,结尾为 [previous_response]。请从中断处继续。"
上下文注入/角色一致性(在长对话中刷新上下文):将之前作为预填充助手提醒的内容改为注入到用户轮次中。
工具参数 JSON 转义可能不同
工具参数中的 JSON 字符串转义可能与之前的模型不同。标准 JSON 解析器会自动处理此问题,但基于字符串的自定义解析可能需要更新。
扩展思考变更: Claude Sonnet 4.5 的 budget_tokens 配置(thinking: {type: "enabled", budget_tokens: N})在 Claude Sonnet 5 上不受支持,会返回 400 错误。自适应思考默认启用,因此大多数工作负载根本不需要 thinking 配置;使用 effort 参数来控制思考深度。如果您在 Claude Sonnet 4.5 上未启用扩展思考运行,请传递 thinking: {type: "disabled"} 以保留该行为。
移除采样参数
在 Claude Sonnet 5 上,设置为非默认值的采样参数(temperature、top_p、top_k)会返回 400 错误。请从请求中移除它们,并改用提示来引导模型的行为。
更新工具版本
更新到最新的工具版本(text_editor_20250728、code_execution_20260521)。移除任何使用 undo_edit 命令的代码。
处理 refusal 停止原因
更新您的应用程序以处理 refusal 停止原因。
针对行为变化更新您的提示
Claude 4 模型具有更简洁、直接的沟通风格。请查阅提示最佳实践以获取优化指导。
Claude Haiku 4.5 和 Claude Sonnet 5 在 API 层面的差异比同一类别内相邻模型之间的差异更大:Claude Haiku 4.5 使用手动扩展思考(默认关闭)、20 万令牌上下文窗口和最多 64k 输出令牌,而 Claude Sonnet 5 默认启用自适应思考运行,默认提供 100 万令牌上下文窗口,并支持最多 128k 输出令牌。
model = "claude-haiku-4-5-20251001" # Before
model = "claude-sonnet-5" # After思考配置: Claude Haiku 4.5 支持手动扩展思考(thinking: {type: "enabled", budget_tokens: N}),并拒绝 thinking: {type: "adaptive"}。在 Claude Sonnet 5 上,支持情况相反:自适应思考默认启用,手动扩展思考会返回 400 错误。移除 thinking: {type: "enabled", budget_tokens: N} 配置并依赖默认设置,或传递 thinking: {type: "disabled"} 以关闭思考。budget_tokens 没有直接的替代项;使用 effort 参数来控制思考深度。Effort 在 Claude Haiku 4.5 上不可用,在 Claude Sonnet 5 上默认为 high。
采样参数已移除: temperature 和 top_p 在 Claude Haiku 4.5 上可用(一次只能使用一个,不能同时使用)。在 Claude Sonnet 5 上,将 temperature、top_p 或 top_k 设置为非默认值会返回 400 错误。移除这些参数,并使用提示来引导模型的行为。
助手预填充已移除: 预填充助手消息在 Claude Haiku 4.5 上可用,但在 Claude Sonnet 5 上会返回 400 错误。请改用结构化输出、系统提示指令或 output_config.format。
更大的上下文窗口和输出: Claude Sonnet 5 默认提供 100 万令牌上下文窗口,高于 Claude Haiku 4.5 的 20 万令牌,并支持最多 128k 输出令牌,高于 64k。Claude Sonnet 5 还使用不同的分词器,因此请重新运行令牌计数,而不是复用针对 Claude Haiku 4.5 测量的计数。
定价: Claude Haiku 4.5 的定价为每百万输入/输出令牌 1 美元/5 美元。Claude Sonnet 5 的定价为每百万输入/输出令牌 2 美元/10 美元。请参阅 Claude 定价。
网络安全防护措施: Claude Sonnet 5 具有实时网络安全防护措施。涉及被禁止或高风险网络安全主题的请求可能会被拒绝,以带有 stop_reason: "refusal" 的成功 HTTP 200 响应返回。背景信息请参阅防护措施、警告和申诉。
claude-haiku-4-5-20251001(或 claude-haiku-4-5 别名)更新为 claude-sonnet-5。thinking: {type: "enabled", budget_tokens: N} 配置(会返回 400 错误)。自适应思考默认启用;传递 thinking: {type: "disabled"} 以保留无思考行为,并对之前未启用思考运行的工作负载重新审视 max_tokens。high)来控制思考深度和令牌消耗;它在 Claude Haiku 4.5 上不可用,因此没有现有设置可以沿用。temperature 和 top_p 设置(非默认值在 Claude Sonnet 5 上会返回 400 错误)。max_tokens 限制,您可以将其提高至 128k 上限。stop_reason: "refusal" 的处理。Claude Haiku 4.5 是速度最快、最智能的 Haiku 模型,具有接近前沿的性能,为交互式应用和大批量处理提供优质的模型质量。
有关功能的完整概述,请参阅模型概述。
更新您的模型名称:
# 来自 Haiku 3.5
model = "claude-3-5-haiku-20241022" # Before
model = "claude-haiku-4-5-20251001" # After查看新的速率限制: Haiku 4.5 的速率限制与 Haiku 3.5 是分开的。详情请参阅速率限制文档。
探索新功能: 有关上下文感知、增加的输出容量(64k 令牌)、更高的智能和更快的速度的详细信息,请参阅模型概述。
这些破坏性变更适用于从 Claude 3.x Haiku 模型迁移的情况。
更新采样参数
仅使用 temperature 或 top_p 之一,不能同时使用。在 Claude Haiku 4.5 上同时设置两者会返回 400 错误。
更新工具版本
更新到最新的工具版本(text_editor_20250728、code_execution_20250825)。移除任何使用 undo_edit 命令的代码。
处理 refusal 停止原因
更新您的应用程序以处理 refusal 停止原因。
针对行为变化更新您的提示
Claude 4 模型具有更简洁、直接的沟通风格。请查阅提示最佳实践以获取优化指导。
claude-haiku-4-5-20251001text_editor_20250728、code_execution_20250825);不支持旧版本undo_edit 命令的代码(如适用)temperature 或 top_p 之一,不能同时使用(同时设置两者会返回 400 错误)refusal 停止原因Was this page helpful?