Anthropic 发布 Claude Sonnet 5.5,比 Sonnet 5 快 30% 且每 token 价格不变
Building with Claude Sonnet 5.5 / claude.dev Blog
Anthropic 发布 Claude 5.5 家族第二个模型 Claude Sonnet 5.5,比 Sonnet 5 更聪明、更高效且快 30%,每 token 价格不变,因完成同样工作所需 token 更少,多数任务成本最多降低 30%。官方建议把 Sonnet 5.5 用于修 bug、快速迭代功能等范围明确的日常任务,复杂长周期工作仍选 Opus 5.5,Haiku 5.5 将在未来几周加入该家族。模型 ID 为 claude-sonnet-5-5,已在 Claude API、Amazon Bedrock、Google Cloud、Microsoft Foundry 等平台上线,Claude Code 从 v2.1.284 起 sonnet 别名指向该模型,默认以 medium effort 运行并原生支持 1M 上下文窗口。
推荐理由
AI 评分 83
官方给出 Sonnet 5.5 与 Opus 5.5 的选型边界、价格与迁移清单,可据此判断是否换用及改动量。
主题
正文 · AI 翻译
何时选择 Sonnet 而非 Opus、它的成本如何,以及如何调优它。
Claude Sonnet 5.5 是继 Opus 5.5 之后 Claude 5.5 家族中的第二个模型。它相比 Sonnet 5 是明显的升级,更聪明、更高效,速度提升 30%。每 token 价格保持不变,而且由于 Sonnet 5.5 完成同样的工作通常需要的 token 少得多,对大多数工作而言成本最多降低 30%。
感谢 @jkeatn 提供代码转绘画相关的想法,感谢 @IceSolst 提供参考图像。
本指南讲的是如何用该模型进行构建。要试用它,请按原样运行以下请求:
循环按类型读取每个块,因为 Sonnet 5.5 默认会思考,所以响应可能以 thinking 块开头,而读取 content[0].text 的代码会出错。
在 SONNET 5.5 和 OPUS 5.5 之间选择
在 Claude 5.5 家族中,Opus 5.5 专为需要审慎判断的复杂工作而打造。对于范围明确的日常任务,例如修复 bug 和快速迭代功能,请使用 Sonnet 5.5。它还能制作精美的文档、幻灯片和电子表格,并且对设计有很强的眼光。它的速度使其非常适合快速迭代。Claude Haiku 5.5 将在未来几周加入该家族,面向高吞吐量、低延迟的工作流。
“在 Epic 的早期测试中,Claude Sonnet 5.5 达到了你对更高层级模型所期望的同等质量水准,在一次系统设计审计和一次数据流审查中都经受住了考验。新模型管理了数万行代码的游戏玩法系统架构,保持了响应的迅捷,处理了长达数小时的任务,并且在提示词不那么具体的情况下也能交付成果。”(Daniel Vogel,Epic Games 首席运营官)
当任务有明确的规格说明和验证结果的方法时,Sonnet 5.5 最为合适。正如提示词指南所说,“对于最困难的长周期工作,Opus 模型是更好的选择。”
所有 Sonnet 5.5 的价格,包括批处理和提示缓存,都与 Sonnet 5 相同,因此更换模型 ID 不会改变你的每 token 账单。仅限美国境内的推理(inference_geo: "us")费用为标准价格的 1.1 倍。
虽然每 token 价格不变,但总账单会变化,因为如前所述,Sonnet 5.5 每个任务通常比 Sonnet 5 使用更少的 token。
请注意,各平台发布时可能为 Sonnet 设置不同的默认 effort,例如在 Claude Platform 上为 high,在 Claude Code 中为 medium。
Sonnet 5.5 使用高分辨率图像档位,长边最高 2576 像素,一张 2000×1500 的图像消耗的 token 约为 Sonnet 4.6、Sonnet 4.5 或 Haiku 4.5 上的 2.5 倍。如果你不需要这些细节,请在发送前缩小图像。
模型详情
Claude API 默认使用 high,因此你一开始就能获得强劲的结果。从这里开始,进行评估,然后选择你的工作负载所需的 effort 级别。如果你倾向于使用 xhigh 或 max effort,请记住 Sonnet 5.5 会思考更久、成本更高。在某些任务上,你可能会失去 Sonnet 之所以有用的一些特质:它在质量、速度和成本之间的平衡。在这种情况下,请考虑 Opus 5.5。
从 SONNET 5 迁移
思考默认开启。如果你运行 Sonnet 5 时关闭了思考,可以使用 between_tools 关闭前置思考。下面的第 1 步展示了如何操作。
将模型 ID 改为 claude-sonnet-5-5,然后逐一处理五项破坏性变更和一项响应结构变更。Sonnet 5.5 迁移指南完整涵盖了每一项。
Claude Code 也可以为你完成迁移。运行 /claude-api migrate this project to claude-sonnet-5-5 以调用内置的 Claude API 技能,它会在你的代码库中应用模型 ID 替换和破坏性参数变更。
1. 使用 between_tools 关闭前置思考
在 Sonnet 5.5 上,不带 thinking 字段的请求会以自适应思考运行,而 thinking: {"type": "disabled"} 会返回 400 错误。请改为发送新的 between_tools 设置。使用 between_tools 时,思考只发生在工具调用之间,总响应时间相同或更快。
该示例还将 effort 从 xhigh 降为 high,因为 between_tools 有以下限制:
between_tools 在 low、medium 和 high effort 下可用。在 xhigh 或 max 下会返回 400 错误;要在这些级别运行,请使用自适应思考;它不接受其他字段。随它发送 display、budget_tokens 或 block_binding 会返回 400 错误;使用 between_tools 时,effort 不能在对话中途更改。要按轮次改变 effort,请使用自适应思考;模型在工具调用之间写出的简短进度更新仍会以 thinking 块的形式返回,并带有摘要文本。按类型读取内容块,并将这些块连同助手回合的其余部分原样传回。不使用工具时,响应只包含文本;它在所有提供 Sonnet 5.5 的平台上都可用,无需 beta 标头。如果你的 SDK 版本未定义 between_tools,请更新它
如果你使用 between_tools 关闭了前置思考,对于没有工具但需要几步推理的请求,请改用自适应思考。
2. 将强制 tool_choice 替换为 auto 加严格工具
type 为 any 或 tool 的 tool_choice 会返回 400 错误,包括在 token 计数端点上。请发送 auto,将工具标记为 strict: true 以使其输入符合 schema,并在提示词中说明何时使用它:
严格工具使用要求每个对象上都有 additionalProperties: false。
3. 保持对话仅追加
Sonnet 5.5 的思考块与模型和对话绑定。Sonnet 5.5 会读取 Sonnet 5 的思考块,因此从 Sonnet 5 切换到 Sonnet 5.5 的对话会保留其推理内容。其他模型无法读取 Sonnet 5.5 的思考块。
4. 将计算机使用移至工具集
在 Claude API 和 Google Cloud 上,Sonnet 5.5 仅通过 {"type": "computer_toolset_20260801"} 支持计算机使用;声明 computer_20251124 的请求会返回 400 错误。请从请求中移除 anthropic-beta: computer-use-2025-11-24 标头,并在 SDK 中移除 betas 参数,通过标准客户端而非 beta 命名空间调用 Messages API。替换 tools 条目,并更新你的智能体循环,以处理成员 tool_use 块、批量操作以及结果上的 toolset_name。如果你发送了 fine-grained-tool-streaming-2025-05-14 beta 标头,也请将其移除,因为它与工具集条目一起使用时会返回 400 错误;改为在每个需要它的工具上设置 eager_input_streaming: true。Amazon Bedrock 仍接受 computer_20251124。
5. 检查你的顾问配对
使用顾问工具时,Sonnet 5.5 执行器会拒绝 Opus 4.8、Opus 4.7 和 Sonnet 5 作为顾问。可接受的顾问包括 Opus 5.5、Opus 5 和 Sonnet 5.5 本身。来自每个可接受顾问的建议都会以 advisor_redacted_result 块的形式加密返回,因此你的代码无法读取建议文本。
6. 从思考块中读取工具调用之间的文本
此更改不会导致错误,但 UI 可能会停止显示模型在工具调用之间的注释。这些注释如果长于一两个句子,会以进度更新思考块的形式返回,而在默认显示下这些块为空。
使用自适应思考时,将 thinking.display 设置为 "updates"(beta,需带 thinking-display-updates-2026-08-18 标头)或 "summarized",并在每个非空思考块之后、紧随其后的 tool_use 块之前渲染它。使用 between_tools 时,文本返回时不带 display。
Sonnet 5.5 还新增了按消息设置 effort(beta)、对话中途系统消息和对话中途工具更改(beta)。如果你是从 Sonnet 4.6 或更早版本,或从 Haiku 4.5 迁移,迁移指南为每个起始模型提供了检查清单。
调优
重新运行你的 effort 扫描
Effort 级别已重新校准,因此同一级别产生的思考量不再与 Sonnet 5 上相同,你原来的设置也不会延续。除非你的工作负载是智能体式的或对延迟敏感,否则请从 high 开始。对于智能体式编码和多步工具使用,对于定义明确的任务请从 medium 开始,对于更难或更长的任务则转向 high。对于聊天和其他对延迟敏感的工作,请从 medium 或 low 开始。仅在你的评估显示质量提升时才使用 xhigh 或 max。
思考会计入 max_tokens,因此请留出余量。对于智能体式编码,将 max_tokens 设为 128,000(即模型的最大值),并流式传输响应。要减少思考,请降低 effort 级别,因为在系统提示中要求模型少思考并不能可靠地减少思考。
移除 Sonnet 5 的变通方案
现有的 Sonnet 5 提示词应无需更改即可表现良好。如果你的提示词带有变通方案,例如拒绝引导、工具调用重试垫片或“不要偷懒”,请移除它们,并在调整其他任何内容之前重新运行你的评估。
在低 effort 下要求真实检查
Sonnet 5.5 通常会在报告更改完成之前检查其工作,但在低 effort 下,它有时会跳过对更改进行实际验证的检查。如果你看到更改被报告为已完成,却没有测试或构建输出,提示指南建议使用以下系统提示段落:
使用 thinking.display 显示进度
不要要求模型在响应中写出其推理,因为这会招致 reasoning_extraction 拒绝。改为读取摘要思考:
如需单独面向用户的进度说明,请使用 display: "updates"(beta)。如果你希望在可预测的节点获得更新,例如在第一次工具调用前给出一行说明、在结尾给出简短回顾,请在系统提示中说明。
缓存更多提示词
最小可缓存提示词降至 512 个 token,因此较短的系统提示词和工具定义现在也符合条件。缓存读取的费用为输入价格的十分之一。在请求之间更改顶层 effort 会使缓存失效;要以不同级别运行某一轮,请使用按消息设置 effort(beta),它会保留缓存。
拒绝与回退
在我们的自动化行为审计中,Sonnet 5.5 在大多数对齐和诚实度指标上优于或持平 Sonnet 5。它也是首个具备与我们最强模型类似网络安全防护措施的 Sonnet 模型。大多数常规软件开发不受影响。
被拒绝的请求会返回 HTTP 200,stop_reason: "refusal",stop_details 会指明五个类别之一:cyber、bio、frontier_llm、reasoning_extraction 或 general_harms。服务端回退(fallbacks: "default",beta,Claude API)会在 Sonnet 5 上重试 cyber 和 frontier_llm 拒绝。它不会重试其他三类。你也可以使用 SDK 中间件或自己的重试逻辑。
对于合法的安全工作,Cyber Verification Program 将很快扩展以纳入 Sonnet 5.5。
可用性
Claude Sonnet 5.5 即日起在以下平台可用。在开发者平台上,请使用以下模型 ID:
Claude API,为 claude-sonnet-5-5;Amazon Bedrock,为 anthropic.claude-sonnet-5-5;AWS 上的 Claude Platform,为 claude-sonnet-5-5;Google Cloud,为 claude-sonnet-5-5;Microsoft Foundry,为 claude-sonnet-5-5,仅限 Global Standard 部署
在 Claude Code 中
从 Claude Code v2.1.284(Agent SDK for TypeScript v0.3.284 或更高版本)起,sonnet 别名在 Claude API 上解析为 Sonnet 5.5。它默认以 medium effort 运行,原生支持 1M 上下文窗口。在 Claude Code 中你无法关闭 Sonnet 5.5 的思考,effort 决定模型的思考量。Sonnet 5.5 没有快速模式。默认模型仍为 Opus 5.5,因此对于范围明确的任务,请使用 /model sonnet 切换。
我们希望你会喜欢试用 Sonnet 5.5,并一如既往地欢迎分享反馈。