迁移与报错 · 核对于 2026-10-08

Claude Haiku 5.5 的破坏性变更:从 Haiku 4.5 迁移时的五项 400 与官方改法

截至 2026-10-08,Anthropic 官方 What's new 页把从 Claude Haiku 4.5 迁到 Claude Haiku 5.5 的五项改动标为 Breaking,这五项都可能让请求返回 400:手动 budget_tokens、非默认的 temperature / top_p / top_k、以 assistant 轮结尾的 prefill、旧版 computer_20250124 工具,以及回传 thinking 块时改写了早先轮次。本页逐条写变了什么、官方文档里有原文的报错字符串、以及官方给的改法;官方没给报错原文的项,只写「返回 400」。

更新于 2026-10-08

#Haiku 5.5 迁移#breaking changes#temperature 报错#adaptive thinking

五项破坏性变更里最先撞到的四条

budget_tokens

手动思考预算:400

官方迁移指南:thinking 写成 {"type": "enabled", "budget_tokens": N} 会返回 400。官方排错页对已移除 extended thinking 的型号给出的报错原文(不翻译):"thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior. 改法:换成 {"type": "adaptive"},用 output_config.effort 控制思考深浅。

temperature

采样参数:只剩默认值

官方迁移指南:带 temperature 只能是 1,带 top_p 只能是默认的 0.99,其它值都返回 400,包括 top_p 为 1;任何 top_k 值、以及同时带 temperature 和 top_p 的请求也返回 400。官方没有公布这一项的报错原文。改法:三个参数全部删掉,用提示词引导行为。

prefill

以 assistant 轮结尾:400

Haiku 4.5 在思考关闭时接受 prefill,Haiku 5.5 即使关掉思考也以 400 拒绝。官方错误页写 Claude 4.6 及之后的型号都不支持 prefill,消息原文:This model does not support assistant message prefill. The conversation must end with a user message. 改法:让 messages 以 user 轮结尾。

computer_20250124

computer use 旧工具:400

在 Claude API 与 Google Cloud 上,Haiku 5.5 只通过 computer_toolset_20260801 工具集支持 computer use,声明 computer_20250124 的请求返回 400。官方没有公布这一项的报错原文。改法:去掉 computer-use-2025-01-24 beta 头,把 tools 里那一项换成 {"type": "computer_toolset_20260801"}。

这一页回答什么

截至 2026-10-08,把请求里的 claude-haiku-4-5 换成 claude-haiku-5-5 后出现 400,先对照官方列出的五项破坏性变更逐条排查。官方 2026-10-07 的发布说明原句是「Code written for Claude Haiku 4.5 can break on Claude Haiku 5.5.」。另有四处不报错、但会改变响应或计量的变化:响应可能以 thinking 块开头;thinking 文本默认不返回;官方称同样的文本约多 30% token;thinking 块只在产生它的账号或与之关联的账号里有效。本页只讲请求体怎么改,不讲规格和价表。

2026-10-07:Claude Haiku 5.5 发布

Anthropic 发布说明 2026-10-07 条目:推出 Claude Haiku 5.5(claude-haiku-5-5),1M token 上下文、最大输出 128k token、支持带 effort 参数的 adaptive thinking。同一条目写明:为 Haiku 4.5 写的代码在 Haiku 5.5 上可能出错,手动 extended thinking(budget_tokens)返回 400;adaptive thinking 默认开启,响应可能以 thinking 块开头;同样的文本也会算出更多 token。迁移指南补充:claude-haiku-5-5 是固定 ID,没有日期后缀,也没有单独的别名。

三个日期

2026-08-31

「改写早先轮次」这项检查的账号分界线。官方迁移指南:2026-08-31 00:00 UTC 之前创建的账号,只有请求设了 thinking.block_binding.prefix_mismatch_behavior 才会报这个 400;之后创建的账号默认就会检查。官方 Preserved thinking 文档提醒:用自己的老 key 跑不出错,并不能说明你的代码没受影响。

2026-10-07

Claude Haiku 5.5 发布日。官方概览写「Released October 7, 2026」,anthropic.com 新闻页同日发布「Introducing Claude Haiku 5.5」;发布说明的同一条目已经提示 Haiku 4.5 的代码可能出错。

2026-10-15

官方弃用表里 claude-haiku-4-5-20251001 的状态仍是 Active,Deprecated 一栏为 N/A,Tentative retirement date 一栏写 Not sooner than October 15, 2026。这是下限,不是关停日。claude-haiku-5-5 那一行写 Not sooner than October 7, 2027。

口径分层:官方原句 / 官方没写的

官方确认(逐字可核)

官方 What's new 表格把五项标为 Breaking:① 手动 extended thinking 返回错误,把 budget_tokens 换成 adaptive thinking;② 非默认采样参数返回错误,省略 temperature、top_p、top_k;③ assistant prefill 返回错误,messages 以 user 轮结尾;④ 在 Claude API 与 Google Cloud 上 computer use 需要工具集,把 computer_20250124 换成 computer_toolset_20260801;⑤ 改写早先轮次会让 thinking 块失效,回传 thinking 块时让会话只追加。另有四项标为 Changed:响应可能以 thinking 块开头(按 type 选块);thinking 文本默认省略(要摘要就把 display 设为 summarized);同样的文本算出更多 token(重新计数,复查 max_tokens 与成本估算);跨账号回放 thinking 块(用产生它的账号回放)。

官方没写的部分

官方没有给这几样东西,本页也不补:采样参数和 computer_20250124 这两项 400 的报错原文(迁移指南只写 returns a 400 error);五项改动的豁免期或回退计划;Haiku 4.5 的确切关停日(弃用表只写不早于 2026-10-15);任何「某个第三方框架已经适配」的说法。

两组对照:跨代与同代

Haiku 4.5 与 Haiku 5.5:thinking 写法互斥

官方排错页的逐型号表:Haiku 4.5 只支持 extended thinking,默认关闭,发 adaptive 会被 400 拒绝(排错页对只支持 extended thinking 的型号给出的报错原文:adaptive thinking is not supported on this model);Haiku 5.5 只支持 adaptive,默认开启,发 enabled 会被 400 拒绝。迁移期间两个型号并跑时,thinking 字段要按型号分开写,同一份带 thinking 的请求体不能两边通用。

Haiku 5.5 与 Sonnet 5.5:关思考与强制工具不同

Haiku 5.5 在 effort 为 high 及以下可以用 {"type": "disabled"} 关掉思考,在 xhigh 或 max 下这样写返回 400;Sonnet 5.5 发 disabled 在任何 effort 下都返回 400。Haiku 5.5 接受强制 tool_choice(any 或指定工具),只是响应直接以工具调用开始、没有 thinking 块;Sonnet 5.5 对强制工具调用一律返回 400。两个型号的迁移正好在这两处不同,一边的改法不要直接套到另一边。

迁移步骤(照官方清单)

① 换型号 ID:Claude API 上把 claude-haiku-4-5-20251001 或 claude-haiku-4-5 改为 claude-haiku-5-5。② thinking:把 {"type": "enabled", "budget_tokens": N} 改为 {"type": "adaptive"},用 output_config.effort 决定思考量(官方示例用 medium,也是 Haiku 5.5 的默认 effort);原来不开思考或只给小预算的,选更低的 effort。读响应按 type 字段选块;max_tokens 太小可能在 thinking 块之后、正文之前以 max_tokens 停下,需要调大。③ 删掉 temperature、top_p、top_k。④ messages 以 user 轮结尾,prefill 按用途替换:控制输出格式用 structured outputs,分类用带 enum 字段的工具;省掉开场白就在 system prompt 里要求直接回答;续写把上次的内容挪进 user 消息;上下文提醒放进 user 轮。⑤ computer use:去掉 computer-use-2025-01-24 beta 头,tools 换成 {"type": "computer_toolset_20260801"},按每个 tool_use 块的 name 与 toolset_name 分派,结果里回传 toolset_name;环境不支持缩放就加 "configs": {"zoom": {"enabled": false}};如果发了 fine-grained-tool-streaming-2025-05-14 beta 头要删掉。⑥ 回传 thinking 块时 system、tools 与早先 messages 一律不改,只追加;要加指令用会话中途的 system 消息。⑦ 把 model 设为 claude-haiku-5-5 重新计数 token。在 Claude Code 里,官方的 /claude-api migrate 命令会做 ID 替换、破坏性参数改动、prefill 替换与 effort 校准,最后列出需要人工核对的清单。

QCode 这一侧:Haiku 5.5 上架以 /models 为准

截至 2026-10-08,claude-haiku-5-5 是否在 QCode 上架、何时上架,以 /models 页为准,本页不做预告。现有的 claude-haiku-4-5-20251001 在 QCode 可以继续调用,Haiku 4.5 的请求体不必为迁移提前改。Claude 走 Anthropic Messages 协议:按 docs.qcode.cc 的写法,Claude Code 设 ANTHROPIC_BASE_URL=https://api.qcode.cc/api,SDK 会拼成 /api/v1/messages;同一把 Key 不区分协议,协议由请求路径决定。按 token 计费,各模型单价见 /models。本页讲的五项改动都在请求体里,与 base URL 无关。

常见问题

Haiku 5.5 报 temperature 相关的 400,怎么改?

把 temperature、top_p、top_k 从请求里删掉。官方迁移指南写:带 temperature 只能是 1,带 top_p 只能是默认的 0.99,其它值都返回 400,包括 top_p 为 1;任何 top_k 值、以及同时带 temperature 和 top_p 的请求也返回 400。官方 Thinking 文档补充:这在每个请求上都生效,与是否开思考无关。官方没有公布这一项的报错原文,本页不替它编。

budget_tokens 还能用吗?想完全关掉思考怎么办?

不能用。thinking 写成 enabled 加 budget_tokens 会返回 400,改成 {"type": "adaptive"} 并用 output_config.effort 调深浅。要关思考,Haiku 5.5 在 effort 为 high 及以下接受 {"type": "disabled"};在 xhigh 或 max 下这样发会返回 400,报错原文:output_config.effort 'xhigh' is not supported when thinking is disabled on this model. Use effort 'high' or below, or enable thinking. 官方更推荐用 effort 来权衡,而不是关掉思考。

响应的第一个内容块变成了 thinking,是 bug 吗?

不是。Haiku 5.5 默认开启 adaptive thinking,即使请求里没提 thinking,响应也可能以一个或多个 thinking 块开头,所以要按 type 字段选块,不要按位置取第一块。默认返回的 thinking 块里 thinking 字段为空、只带 signature;要拿到摘要,设 {"type": "adaptive", "display": "summarized"}。思考 token 计入 max_tokens,上限太小可能在 thinking 块之后、正文之前就停下。

报错里出现 The block is bound to a different conversation 是什么意思?

意思是你回传的 thinking 块之前,system、tools 或早先的 messages 被改过。Haiku 4.5 不做这项检查。2026-08-31 00:00 UTC 之前创建的账号,只有请求设了 thinking.block_binding.prefix_mismatch_behavior 才报;之后创建的账号默认就报。原样重发同一个请求体不会消除这个错误。改法:会话只追加;要加指令用会话中途的 system 消息,不改 system 或 tools;要让当前请求继续,带 thinking-binding-controls-2026-08-01 beta 头,并把 prefix_mismatch_behavior 设为 drop_block。

迁移期间能用同一份代码同时跑 Haiku 4.5 和 Haiku 5.5 吗?

带 thinking 字段的请求体不能共用。官方逐型号表:Haiku 4.5 只支持 extended thinking 并拒绝 adaptive,Haiku 5.5 只支持 adaptive 并拒绝 enabled。两者的默认值也不同:Haiku 4.5 默认不思考,Haiku 5.5 默认开启。thinking 字段要按型号分支写。

Haiku 4.5 什么时候退役?必须马上迁吗?

官方没有公布关停日。截至 2026-10-08,弃用表里 claude-haiku-4-5-20251001 的状态是 Active,Deprecated 一栏为 N/A,Tentative retirement date 一栏写 Not sooner than October 15, 2026,这是下限,不是关停日。claude-haiku-5-5 那一行写 Not sooner than October 7, 2027。何时迁移,按你自己负载上的测试决定。

信息来源

Anthropic 官方文档:Claude Haiku 5.5 的 What's new、迁移指南与模型概览,API 发布说明 2026-10-07 条目,Troubleshooting thinking、Preserved thinking、Thinking 与 API 错误页,computer use 工具文档,模型弃用表;anthropic.com 新闻页。QCode 一侧只用 docs.qcode.cc 的「端点与 API 路径」文档。全部抓取于 2026-10-08,报错字符串逐字保留。

先把请求体改对,再换型号

同一把 QCode Key 可调 claude-haiku-4-5-20251001、claude-sonnet-5-5 与 claude-opus-5-5,按 token 计费,各模型单价见 /models;Haiku 5.5 上架以 /models 为准。

相关阅读

本页核对于 2026-10-08,以 Anthropic 官方页面为准,上游调整不另行通知。报错字符串按官方文档逐字保留、不翻译;官方没有给原文的项只写「返回 400」。token 增量等百分比是官方自述。模型可用性以 /models 为准。QCode 与 Anthropic 无隶属关系。

先体验,再决定

不确定选哪档?先买体验版(¥60/月),满意再升级,旧套餐剩余价值按比例退回余额。