Claude Opus 4.6 几乎可以直接替代 Claude 4.5,但有一些需要注意的破坏性变更。有关新功能的完整列表,请参阅 Claude 4.6 的新功能。
# Opus 迁移
model="claude-opus-4-5" # 之前
model="claude-opus-4-6" # 之后预填充移除:在 Claude 4.6 模型上预填充助手消息会返回 400 错误。请改用结构化输出、系统提示指令或 output_config.format。
工具参数引号处理:Claude 4.6 模型在工具调用参数中可能产生略有不同的 JSON 字符串转义(例如,对 Unicode 转义或正斜杠转义的不同处理)。如果您将工具调用的 input 作为原始字符串解析而不是使用 JSON 解析器,请验证您的解析逻辑。标准 JSON 解析器(如 json.loads() 或 JSON.parse())会自动处理这些差异。
这些不是必需的,但会改善您的使用体验:
迁移到自适应思考:thinking: {type: "enabled", budget_tokens: N} 在 Claude 4.6 模型上已弃用,将在未来的模型版本中移除。请切换到 thinking: {type: "adaptive"} 并使用 effort 参数来控制思考深度。请参阅自适应思考。
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=[...]
)请注意,此迁移还从 client.beta.messages.create 迁移到 client.messages.create — 自适应思考和 effort 是正式发布(GA)功能,不需要 beta SDK 命名空间或任何 beta 头。
移除 effort beta 头:effort 参数现已正式发布。请从您的请求中移除 betas=["effort-2025-11-24"]。
移除细粒度工具流式传输 beta 头:细粒度工具流式传输现已正式发布。请从您的请求中移除 betas=["fine-grained-tool-streaming-2025-05-14"]。
移除交错思考 beta 头:自适应思考会自动启用交错思考。请从您的请求中移除 betas=["interleaved-thinking-2025-05-14"]。
迁移到 output_config.format:如果使用结构化输出,请将 output_format={...} 更新为 output_config={"format": {...}}。旧参数仍然可用,但已弃用,将在未来的模型版本中移除。
如果您从 Opus 4.1、Sonnet 4 或更早的模型直接迁移到 Claude 4.6,请应用上述 Claude 4.6 破坏性变更以及本节中的额外变更。
# 从 Opus 4.1
model="claude-opus-4-1-20250805" # 之前
model="claude-opus-4-6" # 之后
# 从 Sonnet 4
model="claude-sonnet-4-20250514" # 之前
model="claude-opus-4-6" # 之后
# 从 Sonnet 3.7
model="claude-3-7-sonnet-20250219" # 之前
model="claude-opus-4-6" # 之后采样参数
这是从 Claude 3.x 模型迁移时的破坏性变更。
只能使用 temperature 或 top_p,不能同时使用:
# 之前 - 在 Claude 4+ 模型中这会报错
response = client.messages.create(
model="claude-3-7-sonnet-20250219",
temperature=0.7,
top_p=0.9, # 不能同时使用
...
)
# 之后
response = client.messages.create(
model="claude-opus-4-6",
temperature=0.7, # 使用 temperature 或 top_p,不能同时使用
...
)工具版本
这是从 Claude 3.x 模型迁移时的破坏性变更。
更新到最新的工具版本。移除任何使用 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+ 模型在生成因达到上下文窗口限制而停止时,会返回 model_context_window_exceeded 停止原因,而不是请求的 max_tokens 限制。更新您的应用程序以处理这个新的停止原因:
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+ 模型都内置了 token 高效工具使用,这些头不再有任何效果。claude-opus-4-6output_config.formatthinking: {type: "enabled", budget_tokens: N} 迁移到 thinking: {type: "adaptive"} 并使用 effort 参数(budget_tokens 已弃用,将在未来版本中移除)effort-2025-11-24 beta 头(effort 现已正式发布)fine-grained-tool-streaming-2025-05-14 beta 头interleaved-thinking-2025-05-14 beta 头output_format 迁移到 output_config.format(如适用)temperature 或 top_ptext_editor_20250728、code_execution_20250825)refusal 停止原因model_context_window_exceeded 停止原因token-efficient-tools-2025-02-19、output-128k-2025-02-19)Claude Sonnet 4.5 将强大的智能与快速的性能相结合,非常适合日常编码、分析和内容任务。
有关功能的完整概述,请参阅模型概述。
Sonnet 4.5 的定价为每百万输入 token 3 美元,每百万输出 token 15 美元。详情请参阅 Claude 定价。
更新您的模型名称:
# 从 Sonnet 4
model="claude-sonnet-4-20250514" # 之前
model="claude-sonnet-4-5-20250929" # 之后
# 从 Sonnet 3.7
model="claude-3-7-sonnet-20250219" # 之前
model="claude-sonnet-4-5-20250929" # 之后考虑启用扩展思考以在编码和推理任务上获得显著的性能提升(默认禁用):
response = client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=16000,
thinking={"type": "enabled", "budget_tokens": 10000},
messages=[...]
)这些破坏性变更适用于从 Claude 3.x Sonnet 模型迁移时。
采样参数
这是从 Claude 3.x 模型迁移时的破坏性变更。
只能使用 temperature 或 top_p,不能同时使用。
工具版本
这是从 Claude 3.x 模型迁移时的破坏性变更。
更新到最新的工具版本(text_editor_20250728、code_execution_20250825)。移除任何使用 undo_edit 命令的代码。
处理 refusal 停止原因
更新您的应用程序以处理 refusal 停止原因。
针对行为变更更新您的提示
Claude 4 模型具有更简洁、直接的沟通风格。请查看提示最佳实践以获取优化指导。
claude-sonnet-4-5-20250929text_editor_20250728、code_execution_20250825)— 不支持旧版本(如果从 3.x 迁移)undo_edit 命令的代码(如适用)temperature 或 top_p,不能同时使用(如果从 3.x 迁移)refusal 停止原因Claude Haiku 4.5 是我们最快、最智能的 Haiku 模型,具有接近前沿的性能,为交互式应用和大批量处理提供高端模型质量。
有关功能的完整概述,请参阅模型概述。
Haiku 4.5 的定价为每百万输入 token 1 美元,每百万输出 token 5 美元。详情请参阅 Claude 定价。
更新您的模型名称:
# 从 Haiku 3.5
model="claude-3-5-haiku-20241022" # 之前
model="claude-haiku-4-5-20251001" # 之后查看新的速率限制: Haiku 4.5 与 Haiku 3.5 有不同的速率限制。详情请参阅速率限制文档。
考虑启用扩展思考以在编码和推理任务上获得显著的性能提升(默认禁用):
response = client.messages.create(
model="claude-haiku-4-5-20251001",
max_tokens=16000,
thinking={"type": "enabled", "budget_tokens": 5000},
messages=[...]
)扩展思考会影响提示缓存效率。
探索新功能: 请参阅模型概述了解上下文感知、增加的输出容量(64K token)、更高的智能和更快的速度等详情。
这些破坏性变更适用于从 Claude 3.x Haiku 模型迁移时。
采样参数
这是从 Claude 3.x 模型迁移时的破坏性变更。
只能使用 temperature 或 top_p,不能同时使用。
工具版本
这是从 Claude 3.x 模型迁移时的破坏性变更。
更新到最新的工具版本(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,不能同时使用refusal 停止原因Was this page helpful?