目录
2026年9月28日,Anthropic 发布了 Claude Sonnet 5.5。据公告介绍,它是继6天前的 Opus 5.5 之后“Claude 5.5 家族的第二个模型”,此前的 Sonnet 5(2026年6月30日发布)已转为 Legacy(旧模型,仍可继续使用)。官方模型列表对它的描述是“速度与智能结合得最好的模型”。
先说结论。价格与 Sonnet 5 完全相同(每百万 token 输入 $2、输出 $10、缓存读取 $0.20),在 Anthropic 的对比表中,多数行都比 Sonnet 5 大幅提升。另一方面,API 的用法变了:有5处变更会让在 Sonnet 5 上能运行的代码返回 400 错误。尤其是用来关闭思考的 thinking: {"type": "disabled"} 不能再用了,替代它的 between_tools 只有在 effort 为 high 及以下时才能通过。本文逐字对照官方文档和发布公告,按实际操作的顺序整理改了什么、迁移时哪些会出错、与 Opus 5.5 怎么选。
截至2026年9月29日的信息:本文在发布次日,逐字核对了 Claude Platform 官方文档(模型列表、Sonnet 5.5 页面、What's new、迁移指南、定价、thinking、effort、提示缓存)、Anthropic 的发布公告、Claude Code 的文档与 CHANGELOG,以及 GitHub 的 changelog。公告预告将在“几周内”推出的 Claude Haiku 5.5,此时尚未发布。
价格不变,破坏性变更有5处
— 官方定位是“速度与智能结合得最好的模型”
1. Sonnet 5.5 要点:性能、价格与迁移注意事项
在 Anthropic 的对比表中,每一行都超过了 Sonnet 5,在 GDPval-AA 上与 Opus 5.5 只差2分。不过公告自己也写道:“在复杂、没有固定答案的工作上,Opus 5.5 仍然明显更强”。
单价与 Sonnet 5 所有项目都相同。变化的是可缓存的最小长度,从 1,024 降到了 512 token。公告称“每个任务最多便宜三成”,但这是 Anthropic 自己的测量。
关闭思考改用 between_tools、强制工具调用返回 400、思考块与模型和对话绑定、旧版计算机操作工具不可用、advisor 的组合限制这5处。此外,工具调用之间的文字改为以 thinking 块返回。
一句话概括,Sonnet 5.5 就是“价格不变、能力上了一个台阶的 Sonnet,用法与 Opus 5.5 基本相同”。5处破坏性变更中有3处(强制工具调用、思考块绑定、旧版计算机操作工具)在 Opus 5.5 和 Fable 5.1 上也有。Sonnet 5.5 独有的情况有两点:关闭思考的手段以 between_tools 这个不同的值保留了下来,以及 advisor 工具的组合限制。
2. 核心规格与可用渠道
对比对象选了3个:被替代的 Sonnet 5、更高一档的 Opus 5.5、更低一档的 Haiku 4.5。
| 项目 | Sonnet 5.5 | Sonnet 5(Legacy) | Opus 5.5 | Haiku 4.5 |
|---|---|---|---|---|
| API 模型 ID | claude-sonnet-5-5 |
claude-sonnet-5 |
claude-opus-5-5 |
claude-haiku-4-5-20251001 |
| 价格(输入/输出) | $2 / $10 | $2 / $10 | $4 / $20 | $1 / $5 |
| 上下文 / 最大输出 | 100万 / 12.8万 | 100万 / 12.8万 | 100万 / 12.8万 | 20万 / 6.4万 |
| 思考(thinking) | 默认自适应思考(最低为 between_tools) |
默认自适应思考(可用 disabled 关闭) |
自适应思考始终开启(无法关闭) | 扩展思考(指定预算) |
| API 默认 effort | high | high | medium | 不支持 |
| 可靠知识截止 | 2026年6月 | 2026年1月 | 2026年6月 | 2025年2月 |
| 可缓存的最小长度 | 512 token | 1,024 token | 512 token | 4,096 token |
| 速度(官方相对标注) | 快 | — | 中等 | 最快 |
| 停止提供 | 不早于2027年9月28日 | 不早于2027年6月30日 | 不早于2027年9月22日 | 不早于2026年10月15日 |
出处:Anthropic“Models overview”、“Claude Sonnet 5.5”、“Claude Sonnet 5”、“Prompt caching”(2026年9月29日确认)。速度是当前产品线内的相对标注,Legacy 的 Sonnet 5 没有列出。停止提供的日期是 Anthropic 自营平台上的承诺,Amazon Bedrock 和 Google Cloud 由各家自行决定。
表中与 Sonnet 5 不同的只有“思考”“知识截止”“可缓存的最小长度”这3行。上下文、最大输出和 API 默认 effort 都相同,分词器也与 Sonnet 5 一样,同一段文字的 token 数不变(What's new)。在 Message Batches API 中,加上 beta 头 output-300k-2026-03-24,输出上限可扩展到30万 token(与 Sonnet 5 相同)。另外,给 temperature、top_p、top_k 传入非默认值会返回 400。这一点 Sonnet 5 也一样,只有从 Sonnet 4.6 或更早版本直接迁移时才相关。
可用渠道
Claude API(claude-sonnet-5-5)、Amazon Bedrock(anthropic.claude-sonnet-5-5)、Claude Platform on AWS、Google Cloud、Microsoft Foundry。发布当天即在所有平台上线。
claude.ai 与 Claude 应用(官方公开了 Sonnet 5.5 使用的系统提示词)、Claude Code(v2.1.284 及以上)、GitHub Copilot(Pro、Pro+、Max、Business、Enterprise)。
fast mode(高速版)在定价页上只适用于 Opus 5.5、Opus 5、Opus 4.8,Sonnet 5.5 没有。在 Bedrock 上,Sonnet 5.5 无法使用结构化输出(含 strict tool use)(迁移指南)。
3. 价格:与 Sonnet 5 相同,变的是缓存下限
官方 What's new 写道:“价格与 Sonnet 5 相同,提示缓存和批处理的价格也相同”。把具体单价列出来如下。
| 每百万 token | Sonnet 5.5 | Sonnet 5 | Opus 5.5 | Haiku 4.5 |
|---|---|---|---|---|
| 输入 | $2 | $2 | $4 | $1 |
| 输出 | $10 | $10 | $20 | $5 |
| 缓存写入(5分钟) | $2.50 | $2.50 | $5 | $1.25 |
| 缓存写入(1小时) | $4 | $4 | $8 | $2 |
| 缓存读取 | $0.20 | $0.20 | $0.20 | $0.10 |
| Batch API(输入/输出) | $1 / $5 | $1 / $5 | $2 / $10 | $0.50 / $2.50 |
出处:Anthropic“Pricing”(2026年9月29日确认)。Batch API 的输入和输出都比常规价格便宜50%。
“价格相同”之下会变的两件事
单价相同,账单金额却未必相同。有两个因素可能带来变化。
第一是可缓存的最小长度。在 Sonnet 5 上,不足 1,024 token 的提示即使加上 cache_control 也不会被缓存。Sonnet 5.5 把这个下限降到了 512 token。例如,每次都发送 800 token 的 system 提示和工具定义的处理,在 Sonnet 5 上不在缓存范围内,而在 Sonnet 5.5 上会被缓存。是否被缓存可以从响应的 usage 看出:如果 cache_creation_input_tokens 和 cache_read_input_tokens 都是 0,就说明没有缓存(官方 Prompt caching 页面)。达不到下限也不会报错,所以有没有缓存一直悄悄没生效的处理,值得趁迁移时重新检查一遍。
第二是每个任务的 token 数。公告写道:“完成同样的工作所需的 token 少得多,在 Anthropic 的测试中每个任务最多便宜三成”“输出生成比 Sonnet 5 快三成以上”。这是 Anthropic 自己的测量。另一方面,官方文档写道,effort 各档“经过了重新校准”,同一档位的思考量未必与 Sonnet 5 相同。思考的 token 即使不显示,也按输出 token 计费。迁移后只能实测 usage,用自己的工作重新比较。
试算:一次缓存读取1,000万、输入50万、输出30万 token 的任务(token 数为本文的假设,省略写入费用)
- Sonnet 5.5:$2.00 + $1.00 + $3.00 = $6.00(Sonnet 5 也一样)
- Opus 5.5:$2.00 + $2.00 + $6.00 = $10.00(约为 Sonnet 5.5 的1.7倍,而不是2倍)
- Haiku 4.5:$1.00 + $0.50 + $1.50 = $3.00(正好是 Sonnet 5.5 的一半)
这是按相同 token 数比较的单价计算,实际上各模型消耗的 token 数不同。单价依据 Anthropic“Pricing”。
与 Opus 5.5 的差距之所以不到“2倍”,是因为只有缓存读取这一项 Opus 5.5 也是 $0.20,价格相同。缓存比例越高的代理类工作,选 Sonnet 5.5 省下的钱就越少。Claude 全部模型的价格,整理在Opus、Sonnet、Haiku 价格对比中。
4. 基准测试:只在 Anthropic 的同一张表内解读
公告中的对比表有4列:Sonnet 5.5、Sonnet 5、Opus 5.5、GPT-6 Sol。先把表的条件写在前面。
- 这张表刊登在 Anthropic 的公告中,多数行是 Anthropic 自己测得的值。例外是 GDPval-AA v2.1 和 AA-Briefcase v1.1 由 Artificial Analysis 运行(表的注3)。
- Artificial Analysis 的这次测量是在发布前的环境中进行的,当时存在一个可能使结构化输出请求的响应变差的缺陷。Anthropic 注明“即使有影响也很小,而且是让分数偏低的方向”,并表示该缺陷已修复。
- Opus 5.5 的 Terminal-Bench 4.0 是 xhigh 下的值,为 Opus 5.5 的最高分(注1)。Sonnet 5.5 的 FrontierCode 列了两个值:max 下 46.2%,xhigh 下 52.1%(注2)。
- GPT-6 Sol 的 GDPval-AA、AA-Briefcase、Chartography 附有注释:可能是 OpenAI 修复图像理解缺陷之前的值(注4)。
| 基准测试 | Sonnet 5.5 | Sonnet 5 | Opus 5.5 | GPT-6 Sol |
|---|---|---|---|---|
| Terminal-Bench 4.0 终端中的代理式编程 |
70.6% | 10.3% | 66.4%(xhigh) | — |
| FrontierCode 1.1(Main) 改动能否被合并 |
52.1%(xhigh) 46.2%(max) |
42.4% | 54.4% | 49.3% |
| CursorBench 4.0 模糊的多文件任务 |
55.5% | 34.1% | 57.8% | — |
| GDPval-AA v2.1(Elo) 44个职业的实际工作(Artificial Analysis 运行) |
1844 | 1449 | 1846 | 1487 |
| AA-Briefcase v1.1(Elo) 长时间的知识工作(Artificial Analysis 运行) |
1811 | 1359 | 1822 | 1483 |
| Humanity's Last Exam 跨领域推理(使用工具) |
64.5% | 54.9% | 67.7% | — |
| OSWorld 2.1 电脑操作(表中注明“partial”) |
80.1% | 57.0% | 81.8% | — |
| Chartography 读取图表(不使用工具) |
61.6% | 15.6% | 64.4% | 53.6% |
出处:Anthropic“Introducing Claude Sonnet 5.5”的对比表及注释(2026年9月28日发布,9月29日确认)。粗体为该行最高值。“—”表示表中没有数值。测量方法的细节见同一公告所指向的 Sonnet 5.5 系统卡。
可以读出3点。
- 相比 Sonnet 5 提升很大。Terminal-Bench 4.0 从 10.3% 升到 70.6%,Chartography(不使用工具)从 15.6% 升到 61.6%,在同一张表内提升了数倍。GDPval-AA 提高了约400分。
- 与 Opus 5.5 的差距,多数行在几个百分点以内。GDPval-AA 差2分,CursorBench 差2.3个百分点,OSWorld 2.1 差1.7个百分点。在 Terminal-Bench 4.0 上,它超过了 Opus 5.5 的最高值(xhigh 的 66.4%)。
- 尽管如此,Anthropic 仍把 Opus 5.5 放在更高的位置。公告写道:“基准只能反映能力的一个侧面。无论是内部还是外部测试者都认为,在需要持续判断的复杂、没有固定答案的工作上,Opus 5.5 仍然明显更强”。
各 effort 档位的成本:来自公告图表的说明文字
公告中还有一张图,并列展示各 effort 档位的分数和每个任务的成本。下面列出其说明文字的内容。
在 Claude 应用的默认档位 medium 下,大幅超过 Sonnet 5 的最高分,每个任务的成本不到十分之一。
在 Claude Platform 的默认档位 high 下,与 GPT-6 Sol 的最高分持平,每个任务的成本约为其五分之一。比同为 high 的 Sonnet 5 高10个百分点,成本约为其十五分之一。
在最低的 low 下,超过 Sonnet 5 的最高分,每个任务的成本不到十分之一。
在 medium 下,超过 Sonnet 5 的最高分,每个任务的成本约为九分之一。
出处:Anthropic“Introducing Claude Sonnet 5.5”中图表的说明文字。由于 GPT-6 Sol 的数值未公开,Terminal-Bench 和 CursorBench 的图表中放的是 GPT-5.6 Sol(同一页面的注释)。
这里值得注意的是 FrontierCode 的两个值。Sonnet 5.5 在 max 下(46.2%)反而比 xhigh 下(52.1%)低。据 Anthropic 公告的注释,在 max 下,它更常运行 Claude Code 的代码审查技能,拆分给大量子代理,结果出现了超时或编辑超出任务范围的情况。effort 调高并不一定就会提升,所以档位最好用自己的工作比较后再决定(第7章)。GPT-6 Sol 一侧的数字,见GPT-6 Sol、Luna 发布解读。
不要和 Opus 5.5 公告中的表混在一起:同样是 Opus 5.5,Chartography 在 Opus 5.5 的公告中是“使用工具”的 89.0%,在这次的表中是“不使用工具”的 64.4%,条件不同。从两份公告里各挑数字并排放在一起,就等于在比较条件不同的值。要比较,就只比较同一张表里的各列。
5. 从 Sonnet 5 迁移时会返回 400 错误的5处破坏性变更及修复方法
官方的 What's new in Claude Sonnet 5.5 列出了影响在 Sonnet 5 上运行的代码的5处破坏性变更。每一处的错误都是 400 invalid_request_error。
① 关闭思考要用 between_tools,而不是 disabled
在 Sonnet 5 上,用 thinking: {"type": "disabled"} 可以在任何 effort 下关闭思考。在 Sonnet 5.5 上,disabled 会返回 400,消息如下。
"thinking.type.disabled" is not supported for this model. Use "thinking.type.between_tools" for the lowest thinking setting, or "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.
取而代之的是 thinking: {"type": "between_tools"},这是停止回答前集中进行的“前置思考”、该模型最低的思考设置。如果请求不使用工具,响应就和 Sonnet 5 的 disabled 一样只有正文。不需要 beta 头,在提供 Sonnet 5.5 的任何平台上都能用。不过,如果把它当成和 disabled 一样直接替换,会在下面3点上碰壁。
- effort 为 xhigh 和 max 时返回 400。
between_tools只在 low、medium、high 下能通过。在 Sonnet 5 上用“xhigh + 关闭思考”的处理,需要在把 effort 降到 high 及以下、和不再关闭思考之间二选一。 - 不能同时发送其他字段。把
display、budget_tokens、block_binding与between_tools一起发送,会返回 400。 - 不能在对话中途更改 effort。用逐条消息的 effort(beta)发送与当前不同的档位,会返回 400。如果想每轮切换档位,就用自适应思考(省略
thinking,或设为{"type": "adaptive"})。
下面用 Python 展示迁移指南中的前后示例。请注意,因为修改前的示例是 xhigh,修改后的示例降到了 high。
# Before:Sonnet 5 上可以通过,Sonnet 5.5 上返回 400 client.messages.create( model="claude-sonnet-5", max_tokens=16000, thinking={"type": "disabled"}, output_config={"effort": "xhigh"}, messages=[{"role": "user", "content": "..."}], ) # After:停止前置思考,effort 在 high 及以下 client.messages.create( model="claude-sonnet-5-5", max_tokens=16000, thinking={"type": "between_tools"}, output_config={"effort": "high"}, messages=[{"role": "user", "content": "..."}], )
即使是 between_tools,模型在工具调用之间写的简短进度备注,也会以带摘要文字的 thinking 块返回。不要丢弃它,要和助手这一轮的其余部分一起原样发回。通过发回的块,模型写下的备注全文会传给模型(What's new)。手动指定预算的 {"type": "enabled", "budget_tokens": N} 与 Sonnet 5 一样,仍然返回 400。
② 强制工具调用会报错
把 tool_choice 设为 {"type": "any"} 或 {"type": "tool", "name": "..."} 会返回 400。计算 token 数的 API 也按同样的规则判断。能用的只有 auto(默认)和 none。
tool_choice: type "tool" and "any" are not supported for this model.
修复:保持 tool_choice 为 auto,在工具定义中加上 strict: true(strict tool use),或者把 schema 改用结构化输出。在 auto 下,模型也可能不调用工具而直接用文字回答,所以要在提示中写明“什么情况下使用这个工具”。strict tool use 只接受 JSON Schema 的一部分,schema 中的每个 object 都需要 additionalProperties: false。一个请求中最多可以把20个工具设为 strict,MCP、computer use、browser use 的工具集不能加 strict。
# Before:Sonnet 5 上可以通过,Sonnet 5.5 上返回 400 client.messages.create( model="claude-sonnet-5", max_tokens=1024, tools=tools, tool_choice={"type": "tool", "name": "get_weather"}, messages=[{"role": "user", "content": "What's the weather in Paris?"}], ) # After:auto + strict,何时使用用文字说明 client.messages.create( model="claude-sonnet-5-5", max_tokens=1024, tools=[{**tool, "strict": True} for tool in tools], tool_choice={"type": "auto"}, messages=[{"role": "user", "content": "What's the weather in Paris? Use the get_weather tool."}], )
Amazon Bedrock 的情况不同。Bedrock 上的 Sonnet 5.5 无法使用结构化输出(含 strict tool use),所以不加 strict,直接发送 auto,在提示中写明何时调用工具,并用自己的代码校验工具的输入(迁移指南)。
③ 思考块与模型和对话绑定
thinking 块中记录着它是由哪个模型生成的。Sonnet 5.5 可以读取 Sonnet 5、Opus 4.8、Haiku 4.5 及更早模型的思考块,但读不了 Opus 5、Opus 5.5、Fable、Mythos 的。而且,没有任何其他模型能读取 Sonnet 5.5 的思考块。
- 从 Sonnet 5 → Sonnet 5.5 切换时,会继承此前的推理。
- 从 Sonnet 5.5 → 其他任何模型切换时,切换后的轮次都在没有 Sonnet 5.5 推理的情况下运行。请求本身会成功,被丢弃的块不计费。
Opus 5.5 的思考块 Fable 5.1 和 Mythos 5.1 可以读取,而 Sonnet 5.5 的思考块谁都读不了。如果你搭建了“只把难的部分从 Sonnet 5.5 升级到 Opus 5.5”的分流,就要以升级后 Sonnet 5.5 的推理会消失为前提来验证。
还有一点:会检查位于 Sonnet 5.5 思考块之前的内容(system、tools、更早的消息)在块生成之后是否被改动过。对于2026年8月31日0时(UTC)之后创建的账号,这项检查在 Claude API、Amazon Bedrock、Google Cloud 上默认强制执行,把思考块放在中途被改写过的历史里发送,会返回 400。
修复:对话只追加地推进。想改指令或工具时,不改写历史,而是使用对话中途的 system 消息(Sonnet 5.5 新支持的功能,Sonnet 5 没有)。如果无法避免改写,可以加上 beta 头 thinking-binding-controls-2026-08-01,把 thinking.block_binding.prefix_mismatch_behavior 设为 "drop_block",让它丢弃相应的块而不是报错。不过 block_binding 只能用于自适应思考,所以使用 between_tools 时,要么只追加,要么自己删掉改写那一轮之后的 thinking 块。
④ 在 Claude API 和 Google Cloud 上不能使用旧版计算机操作工具
Sonnet 5 也接受带 beta 头的旧版工具 computer_20251124 来进行电脑操作(computer use)。Claude API 和 Google Cloud 上的 Sonnet 5.5 只支持工具集 computer_toolset_20260801,声明旧版工具会返回 400。在 Claude API 上,消息以下面这句开头。
'claude-sonnet-5-5' does not support tool types: computer_20251124.
修复:去掉 beta 头,把 tools 换成 [{"type": "computer_toolset_20260801"}],并按工具集的形式(成员的 tool_use 块、一次多个操作、结果中的 toolset_name)修改代理的循环。如果发送了 fine-grained-tool-streaming-2025-05-14 这个 beta 头,也要去掉。它与工具集一起发送会返回 400,所以改为给每个需要的工具加上 eager_input_streaming: true。在 Amazon Bedrock 上旧版工具仍可照常使用,无需修改。
⑤ advisor 工具有不能使用的组合
advisor 工具(beta)是让执行角色的模型向更强的模型征求建议的机制。当 Sonnet 5.5 担任执行角色时,把顾问角色指定为 Opus 4.8、Opus 4.7、Opus 4.6、Sonnet 5、Sonnet 4.6 会返回 400。可用的是 Opus 5、Opus 5.5、Sonnet 5.5、Fable 5、Fable 5.1、Mythos 5、Mythos 5.1 中的任意一个。
此外,Sonnet 5.5 接受的所有顾问角色,都会把建议以加密的 advisor_redacted_result 块返回,因此客户端读不到建议的文字。把建议内容记入日志或显示在界面上的处理,需要重新设计。“Sonnet 5 担任执行角色、Opus 4.8 担任顾问角色”这类便宜的组合,在 Sonnet 5.5 上无法照搬。
6. 不报错却悄悄改变的地方
5处破坏性变更会返回 400,所以能察觉到。麻烦的是那些不报错、只有行为发生变化的地方。
| 变化 | 会发生什么、如何应对 |
|---|---|
| 工具调用之间的文字进入 thinking 块 | 在 Sonnet 5 上作为 text 块返回的、像“接下来确认一下××”这样超过1~2句的备注,会以进度用的 thinking 块返回(简短的一句话仍为 text)。在默认的 display: "omitted" 下内容为空,所以原本把中间过程推送给用户的界面,在工具调用期间会没有动静。如果用自适应思考,就把 display 设为 "updates"(beta,头为 thinking-display-updates-2026-08-18)或 "summarized",并把非空的 thinking 块显示在其后的 tool_use 之前。如果用 between_tools,无需设置就会返回文字。 |
| effort 各档重新校准 | 同一档位的思考量未必与 Sonnet 5 相同。官方的说法是“不要沿用原来的设置,重新分配 effort”(第7章)。 |
| 拒绝的类别变成5个 | cyber、bio、frontier_llm、reasoning_extraction、general_harms。被拒绝时会以 HTTP 200 返回 stop_reason: "refusal",因此要读取 stop_details 进行处理。服务器端的回退(fallbacks: "default",beta,仅限 Claude API)只对 cyber 和 frontier_llm 用 Sonnet 5 重试。 |
| 思考块与生成它的账号绑定 | Sonnet 5.5 的思考块只能在生成它的账号或与之关联的账号中使用。从其他账号发送时,块会被丢弃,请求仍会成功。公告写道:“也包括在 Claude Code 会话中途切换账号的情况”。 |
| 缓存下限降低 | 512~1,023 token 的提示会新被缓存。这会开始产生写入费用(5分钟缓存为输入的1.25倍),但从第二次起只需按读取价格计费(第3章)。 |
出处:What's new in Claude Sonnet 5.5、Migrating to Claude Sonnet 5.5、Anthropic 的公告
关于安全措施,公告也写到了变化。由于 Sonnet 5.5 可用于网络攻击的能力达到了 Opus 5 的水平,它成为第一个带着网络安全防护和回退机制发布的 Sonnet,高风险的网络安全工作会以可见的方式切换到 Sonnet 5。日常开发中的发现和修复 bug 不受影响。生物学方面的安全措施与 Sonnet 5 相同。
反过来,也有新增的功能。逐条消息的 effort(beta,可以在保持提示缓存的同时切换档位)、对话中途的 system 消息、对话中途更改工具(beta),这些 Sonnet 5 都没有。此外,What's new 中还列有可随时让模型总结对话的压缩功能(beta,头为 compact-2026-09-04),以及在消息中定义工具的功能(beta,头为 inline-tools-2026-09-15)。
7. 默认 effort:API 是 high,Claude Code 是 medium
Opus 5.5 在 API 上的默认 effort 也降到了 medium,但 Sonnet 5.5 在 API 上的默认值仍是 high。另一方面,公告写道“在 Claude Code 和应用中把默认值设为 medium”。同样是 Sonnet 5.5,在 API 和 Claude Code 中,不做任何指定时的思考深度相差一档。
官方 effort 页面对 Sonnet 5.5 的起点给出如下建议。
| 工作类型 | 起始档位(官方建议) | 备注 |
|---|---|---|
| 一般工作(下面两类以外) | high | 与 API 默认值相同 |
| 代理式编程、多步骤工具使用 | 从 medium 开始 | 规格明确的工作用 medium,困难或耗时长的工作升到 high |
| 聊天等对等待时间敏感的工作 | medium 或 low | 优先速度 |
| xhigh、max | 仅在评估显示质量提升时 | 不能与 between_tools 同时使用 |
出处:Anthropic“Effort”中的“Recommended effort levels for Claude Sonnet 5.5”、迁移指南
同一页面还建议:把 max_tokens 设得足够容纳思考和正文;在代理式编程中,把 max_tokens 设为该模型上限的 128,000,并用流式方式接收。即使在不返回思考内容的设置下,思考的 token 也计入 max_tokens。effort 本身的机制详见effort(工作量)设置解读,自适应思考详见自适应思考与扩展思考的区别。
8. 与 Opus 5.5、Haiku 怎么选
官方模型列表的建议仍是“拿不准就从 Opus 5.5 开始”,Sonnet 5.5 并没有成为起点。在此基础上,公告把 Sonnet 5.5 擅长的领域写为“范围明确的日常工作、修复 bug、制作文档、幻灯片和电子表格”,把 Opus 5.5 写为“需要审慎判断的复杂工作”,加以区分。公告还写道:“Sonnet 5.5 在 effort 设得较低时对 Opus 5.5 的补充效果最好。在较高的档位上,它们可能以相近的成本达到相近的性能”。也就是说,如果用 xhigh 或 max 运行,选 Sonnet 5.5 的成本优势不大。
- 想用 low 到 high 快速完成规格明确的实现或 bug 修复。
- 经常制作文档、幻灯片、电子表格。
- 想关闭前置思考、缩短等待时间(
between_tools)。 - 正在使用 Sonnet 5(可以同价替换)。
- 在没有固定答案的设计或调研中,需要持续作出判断。
- 拿不准选哪个(官方的起点)。
- 打算用高 effort 运行,与 Sonnet 5.5 的成本差会缩小。
- 想使用 fast mode(仅 Opus 支持)。
- 量大,最看重每件的单价(Haiku 4.5 是 Sonnet 5.5 的半价)。
- 20万 token 的上下文就够用。
- 公告预告 Haiku 5.5 将在“几周内”推出。
- Haiku 4.5 的停止提供日期是“不早于2026年10月15日”,请提前确认后续安排。
拿不准时的顺序是:① 用 medium 和 high 让 Sonnet 5.5 跑一遍自己的工作 → ② 不够的话,与 Opus 5.5 的 medium 比较 → ③ 如果 Sonnet 5.5 的 xhigh 与 Opus 5.5 的成本相当,就选 Opus 5.5。Opus 5.5 的详情见Opus 5.5 发布解读,当时全部模型的一览见主要 AI 模型一览与知识截止日期。
9. 在 Claude Code 和 GitHub Copilot 中使用
Claude Code 在 v2.1.284 的 CHANGELOG(2026年9月28日)中加入了 Sonnet 5.5,并把它设为 Anthropic API 上的默认 Sonnet。
在 Pro、Max、Team、Enterprise 和 API 上,default 仍是 Opus 5.5。要使用 Sonnet 5.5,请选择 /model sonnet(启动时则用 claude --model sonnet)。低于 v2.1.284 的版本无法使用,请执行 claude update。
sonnet 指向哪个模型因提供方而异会指向 Sonnet 5.5 的只有 Anthropic API。在 Claude Platform on AWS 上指向 Sonnet 4.6,在 Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上指向 Sonnet 4.5。在这些平台上使用时,请选择完整的模型名,或设置 ANTHROPIC_DEFAULT_SONNET_MODEL。
Sonnet 5.5 从 medium 开始。用户设置顶层的旧式 effortLevel,对 Opus 5.5 及之后的模型不起作用。思考开关、alwaysThinkingEnabled、MAX_THINKING_TOKENS=0 对 Sonnet 5.5 也没有效果。
安全分类器作出反应时,网络安全类的工作会用 Sonnet 5 重新执行,会话也继续使用该模型(要切回请用 /model)。生物学方面,Sonnet 5.5 没有替代模型,会以拒绝告终。
出处:Claude Code“Model configuration”与 CHANGELOG(v2.1.284,2026年9月29日确认)
上下文方面,在 Anthropic API 上 Sonnet 5.5 也始终是100万 token,无需指定 [1m],也没有额外费用。自动压缩(auto-compact)默认在约96.7万 token 时运行。通过 LLM 网关(设置了 ANTHROPIC_BASE_URL)使用时会按20万 token 处理,这时请在模型选择界面选“Sonnet 5.5 (1M context)”(sonnet[1m])。
规划用 Opus、执行用 Sonnet 的 opusplan,在 Anthropic API 上分别以 Opus 5.5 和 Sonnet 5.5 运行。用法整理在opusplan 解读中。Claude Code 本身以只追加的方式推进对话,所以不会被第5章③中的历史检查困扰(Opus 5.5 迁移指南中的说明)。
GitHub Copilot
GitHub 在同一天9月28日的 changelog 中宣布 Sonnet 5.5 正式可用。适用于 Copilot Pro、Pro+、Max、Business、Enterprise,可以在 VS Code、Visual Studio、Copilot CLI、Copilot coding agent、github.com、JetBrains IDE、Xcode 等的模型选择界面中选择。由于是逐步推送,可能不会马上出现。按用量计费,适用提供方的标价。在 Business 和 Enterprise 中,由管理员在 Copilot 设置的模型策略中决定是否可用。
10. 迁移步骤(API 用户)
下面从迁移指南的检查清单中,挑出适用于从 Sonnet 5 迁移的人的项目,按操作顺序排列。Claude Code 还有协助这项工作的 /claude-api migrate(迁移指南中介绍的内置技能,在编辑前会先确认处理范围)。
- 把模型 ID 从
claude-sonnet-5改为claude-sonnet-5-5(Bedrock 为anthropic.claude-sonnet-5-5)。 - 把
thinking: {"type": "disabled"}换成{"type": "between_tools"},并把 effort 设为 high 及以下。 - 把
tool_choice的any和tool换成auto+ strict tool use(Bedrock 只用auto,并自行校验输入)。 - 如果中途改写
system、tools或过去的消息,改成只追加的形式。 - 如果在 Claude API 或 Google Cloud 上使用 computer use,迁到
computer_toolset_20260801并修改循环。 - 如果 advisor 工具的顾问角色是 Opus 4.8、Opus 4.7、Sonnet 5 等,换成 Sonnet 5.5 接受的顾问角色,并以建议会被加密返回为前提。
- 如果在界面上显示中间过程,把
display设为"updates"或"summarized"(使用between_tools时不需要)。 - 处理
stop_reason: "refusal",并设置回退。 - 如果有分流到其他模型的机制,以 Sonnet 5.5 的推理不会被继承为前提进行验证。
- 重新分配 effort,重新测量成本和等待时间。也检查不足 1,024 token 的提示的缓存情况。
出处:把 Anthropic“Migrating to Claude Sonnet 5.5”中的“Every starting model”和“Migrating to Claude Sonnet 5.5 from Claude Sonnet 5”按操作顺序重新排列
如果从 Sonnet 4.6 或更早版本直接迁移,还需要应对:原本没有指定思考的处理也会运行思考、预算指定和 temperature 等返回 400,以及同一段文字的 token 约增加三成。如果在 Claude Managed Agents 中使用,除了更换模型名以外无需其他修改(迁移指南中的注释)。
总结
Claude Sonnet 5.5 是一次价格不变、性能大幅提升,但 API 用法向 Opus 5.5 靠拢的发布。在 Anthropic 自己的表中,每一行都比 Sonnet 5 有所提升,多数行与 Opus 5.5 的差距缩小到几个百分点以内。另一方面,disabled、强制工具调用、旧版计算机操作工具、改写历史,以及部分 advisor 组合,都成了返回 400 的原因。
最容易忽视的,是替代关闭思考的 between_tools 只在 high 及以下才能通过,以及默认 effort 在 API 上是 high、在 Claude Code 中是 medium 这一差异。在 API 上要明确指定 effort,在 Claude Code 中用 /model sonnet 选择后再确认 effort。是否变便宜了,要看 usage,而不是看单价。
最后,基准分数是在那张表、那种条件下测得的值。Anthropic 自己也写道:“在复杂、没有固定答案的工作上,Opus 5.5 明显更强”。不妨先从用自己的工作比较 Sonnet 5.5 的 medium 和 high 开始。
FAQ
Q. Sonnet 5.5 比 Sonnet 5 贵吗?
A. 单价所有项目都相同(输入 $2、输出 $10、缓存读取 $0.20,Batch API 为半价)。Anthropic 称“每个任务最多便宜三成”,但这是它自己的测量。effort 各档已重新校准,迁移后请用 usage 确认。
Q. 有办法关闭思考(thinking)吗?
A. 在 API 上,可以用 thinking: {"type": "between_tools"} 停止前置思考。如果请求不使用工具,响应就只有正文。不过 effort 为 xhigh 和 max 时会返回 400,工具之间的进度备注会以 thinking 块返回。在 Claude Code 中,关闭 Sonnet 5.5 思考的设置不起作用。
Q. 改了模型 ID 之后出现了 400 错误。
A. 可以从错误消息判断。"thinking.type.disabled" 是思考的指定问题,tool_choice: type "tool" and "any" 是强制工具调用,computer_20251124 是旧版计算机操作工具。如果是在使用 between_tools 时出现,就检查 effort 是否在 xhigh 及以上,或者是否同时发送了 display 等字段。如果使用了 advisor 工具,请怀疑顾问角色的模型;如果在对话中途改写了历史,请怀疑思考块的检查(第5章③)。
Q. 在 Claude Code 中没有变成 Sonnet 5.5。
A. 默认模型是 Opus 5.5,所以要用 /model sonnet 选择。如果仍然是 Sonnet 5,说明版本低于 v2.1.284,请执行 claude update。在 Bedrock、Google Cloud、Claude Platform on AWS、Microsoft Foundry 上,sonnet 指向较旧的 Sonnet,所以请选择完整的模型名,或设置 ANTHROPIC_DEFAULT_SONNET_MODEL。
Q. Opus 5.5 和 Sonnet 5.5,应该把哪个设为默认?
A. 官方的起点是 Opus 5.5。如果以范围明确的实现、bug 修复、文档制作为主,并用 low 到 high 的 effort 运行,Sonnet 5.5 的输入输出单价只要一半。如果用 xhigh 或 max 运行,正如公告所说,成本差距会缩小,请用自己的工作把两者都比较一下。
附注:本文的数值依据 Anthropic 官方公告“Introducing Claude Sonnet 5.5”(基准测试依据同一页面的对比表和图表说明文字)、官方文档“Models overview”“Claude Sonnet 5.5”“What's new in Claude Sonnet 5.5”“Migrating to Claude Sonnet 5.5”“Pricing”“Thinking”“Effort”“Prompt caching”,Claude Code 的“Model configuration”与 CHANGELOG,以及 GitHub 的 changelog(均于2026年9月29日确认)。规格和价格可能会变更,最终请以官方文档为准。
相关文章:Claude Opus 5.5 发布解读、Claude Fable 5.1 的破坏性变更与迁移、Claude 价格对比。