迁到 Haiku 5.5 会碰到的 400
迁移指南写 Haiku 5.5 ID 是 claude-haiku-5-5。带 budget_tokens 的 thinking、助手预填,以及 Claude API 与 Google Cloud 上的 computer_20250124 会 400。temperature 必须是 1,top_p 必须是 0.99。

从 claude-haiku-4-5 换成 claude-haiku-5-5 时,一批旧字段会在模型读提示之前就失败。claude haiku 5.5 不兼容 的清单在迁移指南里按「从哪一款迁过来」分组。已经在 Haiku 4.5 上的代码,第一组就是全部。模型 ID 没有日期后缀,也没有单独别名。Claude API 上从 claude-haiku-4-5-20251001 或 claude-haiku-4-5 换成 claude-haiku-5-5。Bedrock 是 anthropic.claude-haiku-5-5。Google Cloud 从 claude-haiku-4-5@20251001 换成 claude-haiku-5-5。Foundry 和 AWS 上的 Claude Platform 都是 claude-haiku-5-5。
这些请求会 400
thinking 设成 {"type": "enabled", "budget_tokens": N} 会 400。要改成自适应,或干脆不传 thinking。自适应默认开着,回答可以以一个或多个 thinking 块开头。思考 token 算进 max_tokens。给 Haiku 4.5 调过的很小的 max_tokens,可能在思考块之后、正文之前就停,原因是 max_tokens。
采样参数和 Sonnet 5.5 不是同一句。Haiku 的指南写:三个字段都删掉最省事。如果请求里带了 temperature,它必须是 1。如果带了 top_p,它必须是 0.99,指南称这是默认。别的 temperature 或 top_p 会 400,包括 top_p 为 1。任何 top_k 会 400。两个采样字段同时出现也会 400。Sonnet 5.5 的文档没有给出「1 算不算默认」,见 Sonnet 5.5 上改温度会 400。不要把那篇的「别猜 1」抄到 Haiku 上,也不要把 Haiku 的 1 和 0.99 抄回 Sonnet。
消息以助手轮结尾、让模型接着写,会 400,即使思考关掉也一样。指南要求改成以用户轮结尾。Claude API 和 Google Cloud 上,声明 computer_20250124 会 400。要换成 {"type": "computer_toolset_20260801"},并去掉 computer-use-2025-01-24 这个 beta 头。旁边再带 fine-grained-tool-streaming-2025-05-14 也会 400。这和 Opus、Sonnet 文档里的 computer_20251124 不是同一个工具名。改之前对一下你现在发的是哪一个字符串。
思考块、强制工具和多出来的 token
强制 tool_choice(any 或点名某个工具)在 Haiku 5.5 上可以发出去。回答从工具调用开始,没有 thinking 块。想在调用前思考,指南写用 tool_choice: {"type": "auto"},并在提示里说明何时用工具。Sonnet 5.5 上强制工具会直接报错,见 Sonnet 5.5 的五处不兼容。两款不要共用一段客户端判断。
默认返回的 thinking 块里,thinking 字段是空的,只有 signature。要摘要的话,设 thinking: {"type": "adaptive", "display": "summarized"}。按位置读第一块当答案会读到思考。应按 type 选块。把思考块原样随工具结果送回。这些块只在产出它们的账户或关联账户里有效。换账户重放时,API 会在模型看到之前丢掉该块,请求仍成功,只是没有那段推理。若在送回思考块之前改了 system、tools 或更早的 messages,请求 400。2026 年 8 月 31 日 0 点 UTC 之前创建的账户,只有在设置了 thinking.block_binding.prefix_mismatch_behavior 时才报这个错。
同一段文本大约比 Haiku 4.5 多 30% token,具体看内容。max_tokens 和按旧计数做的成本都要重算。Haiku 4.5 上的 Priority Tier 承诺不能直接挪到 5.5,指南写 Priority Tier 不支持这款模型。stop_reason: "refusal" 需要处理。指南写它没有服务端回退模型。从 Haiku 3.5 或更早再迁,还要换代码执行工具和文本编辑工具的版本,并接受工具参数字符串里保留的尾部换行。