將 claude-haiku-4-5 更改為 claude-haiku-5-5 是這次遷移中最小的部分。五個在 Haiku 4.5 上有效的請求模式現在返回 400 錯誤,還有幾個變更雖然不會導致請求失敗,但會改變你獲得的內容、成本或模型在代理內的行為。
Anthropic 表示現有的 Haiku 4.5 提示應該在 Haiku 5.5 上無需更改即可正常工作。圍繞這些提示的請求代碼則是另一回事。這篇文章列出了你將遇到的每個問題:你會看到什麼、為什麼會發生以及如何修復,後面還附有檢查清單。權威參考是 Anthropic 的 Haiku 5.5 遷移指南。
分診:匹配症狀
| 你所看到的 | 原因 | 修復 |
|---|---|---|
| 在有思考預算的請求上返回 400 | 手動思考已被移除 | 自適應思考加上努力 |
| 在設置 temperature、top_p 或 top_k 時返回 400 | 取樣參數被鎖定 | 移除它們 |
| 當消息在助手回合結束時返回 400 | 預填內容已被移除 | 在用戶回合結束 |
| 在計算機使用時返回 400 | 舊的計算機工具被拒絕 | 轉移到計算機工具集 |
| 在編輯早期回合後返回 400 | 思考與歷史綁定 | 保持歷史為附加模式 |
| 解析器返回空或錯誤的文本 | 思考區塊優先 | 按類型選擇區塊 |
| 回覆被截斷或缺失 | 思考計入上限 | 提高 max_tokens 或降低努力 |
| 令牌計數和帳單增加約 30% | 新的分詞器 | 在新模型上重新計數 |
| 回應帶有停止原因拒絕 | 新的安全分類器 | 在你的客戶端處理 |
前五個錯誤非常明顯。其餘的錯誤則靜默發生,這使得它們更難以發現。
五個明顯的錯誤
1. 手動思考預算
你會看到什麼:在任何發送 thinking: {"type": "enabled", "budget_tokens": N} 的請求上返回 400。
為什麼:Haiku 4.5 只支持帶有令牌預算的手動擴展思考。Haiku 5.5 只支持自適應思考,並通過 effort 控制深度。
修復:發送 {"type": "adaptive"} 或省略 thinking,並選擇一個努力級別。舊的預算較小以節省令牌,選擇一個較低的級別。
# 之前:Haiku 4.5
thinking={"type": "enabled", "budget_tokens": 8000}
# 之後:Haiku 5.5
thinking={"type": "adaptive"},
output_config={"effort": "medium"},
2. 取樣參數
你會看到什麼:當請求設置 temperature、top_p 或 top_k 時返回 400。
為什麼:Haiku 5.5 只接受默認值:temperature 為 1 和 top_p 為 0.99。任何其他值或任何 top_k,或者同時發送 temperature 和 top_p 都會返回 400,無論是否使用思考。top_p 為 1 也會被拒絕。
修復:移除這三個參數。常見情況是對分類器使用 temperature=0,以獲得穩定的標籤。用結構化輸出或輸入為枚舉的工具替換它,這樣標籤集由架構強制,而不是由取樣決定。還要檢查 SDK 包裝器和網關,這些可能會為你添加默認的取樣值。
3. 助手預填
你會看到什麼:當 messages 中的最後一個條目是助手回合時返回 400,即使思考關閉。
為什麼:在 Haiku 5.5 上不支持預填,這與當前的 Claude 系列其他產品一致。
修復:以用戶回合結束 messages,並用其原本的內容替換預填。格式控制變為結構化輸出 (output_config.format)。預填的前言變為系統提示指令以直接回答。中斷回覆的延續移入用戶消息中:“你之前的回應以 [text] 結束。從那裡繼續。”
4. 計算機使用
你會看到什麼:當請求聲明 computer_20250124 工具時,在 Claude API 或 Google Cloud 返回 400。
為什麼:在這些平台上,Haiku 5.5 只通過更新的工具集 computer_toolset_20260801 支持計算機使用。
修復:刪除 computer-use-2025-01-24 beta 標頭,將工具條目替換為 {"type": "computer_toolset_20260801"},並更新代理循環:根據每個 tool_use 區塊的 name 和 toolset_name 進行調度,而不是根據 input.action,在每個此類區塊中處理一個回合,並在結果中回顯 toolset_name。Zoom 默認開啟;如果你的環境不支持,請在工具集配置中禁用它。在 Amazon Bedrock 上,選擇版本之前請檢查計算機使用工具的兼容性說明。相同的工具集系列還帶來了瀏覽器使用,這是 Haiku 4.5 所沒有的。
5. 編輯早期回合
你會看到什麼:當請求在某些之前的內容更改後發送思考區塊時返回 400:系統提示、工具列表或早期消息。
為什麼:Haiku 5.5 的思考區塊僅在所有發送的內容未更改時保持有效。對於在 2026 年 8 月 31 日或之後創建的帳戶,這一檢查默認強制執行,而對於舊帳戶,僅在請求選擇加入時強制執行。
修復:保持對話為附加模式。常見的罪魁禍首是帶有時間戳的系統提示、隨著插件連接而增長的工具列表、客戶端截斷以及注入歷史的提醒,這些在下一回合中被刪除。對於每回合的指令,Haiku 5.5 支持在 messages 中的系統消息,無需 beta 標頭,這樣可以在不編輯之前內容的情況下添加上下文。
靜默錯誤
思考區塊優先。思考默認開啟,因此回應可以以一個或多個 thinking 區塊開始。讀取 response.content[0].text 作為答案的代碼會失效或返回空文本。按 type 選擇區塊。
思考文本默認為空。Haiku 4.5 返回摘要思考。Haiku 5.5 返回的 thinking 區塊的文本字段為空,只有簽名。如果你的 UI 顯示推理摘要,設置 thinking: {"type": "adaptive", "display": "summarized"}。無論如何,將思考區塊與工具結果一起返回,未經修改;丟棄空區塊的序列化程序會將它們刪除。
max_tokens 現在必須涵蓋思考。為短答案設置的上限可能會被思考用完,導致回應在任何文本之前以 stop_reason: "max_tokens" 結束。提高上限或降低努力。
相同文本的令牌數量增加約 30%。新的分詞器改變了 usage 字段、count_tokens 結果、上下文預算以及為 Haiku 4.5 調整的任何 max_tokens。它還將 100K 令牌的價格線移至約 77K 令牌,因為 Haiku 4.5 是這樣計算的。在信任成本儀表板之前,請在模型設置為 claude-haiku-5-5 的情況下重新計數實際提示。
默認努力為中等。Haiku 4.5 沒有努力設置。Haiku 5.5 默認為 medium,這可能比簡單路徑所需的思考更多。明確設置它。
思考區塊隨著創建它們的帳戶而保留。如果你的服務通過不同的 API 帳戶重播存儲的對話,Haiku 5.5 的思考區塊會被靜默丟棄,請求將在沒有這些推理的情況下運行。通過生成它的帳戶重播每個對話。
優先級層級不會轉移。Haiku 5.5 不支持優先級層級,因此如果你依賴於 Haiku 4.5 的話,請單獨計劃容量。
網關列表可能不同。目前 AIHubMix 上的 Haiku 5.5 頁面 列出了 200K 的上下文長度,而 Anthropic 指定為 1M。在遷移長提示工作負載之前,請確認你使用的路由的限制。
對於具有實際權限的代理的重要行為變更
拒絕是新的,並且沒有任何東西為你捕捉它們。Haiku 5.5 在四個類別中運行安全分類器:網絡、生物、前沿 LLM 開發和一般危害。拒絕會作為正常的 HTTP 200 返回,並帶有 stop_reason: "refusal" 和 stop_details 中的類別。與 Sonnet 5.5 和 Opus 5.5 不同,Haiku 5.5 沒有服務器端的後備:後備模型列表返回 400,默認後備模式使請求被拒絕。在讀取 content 之前檢查 stop_reason,並在自己的代碼中決定是否重新表述、升級到更大的模型或停止。根據 發布文章,網絡安全防護措施允許比 Sonnet 5.5 更廣泛的防禦工作,但阻止滲透測試。
工具結果中的用戶文本可能被忽略。Haiku 5.5 被訓練以抵抗通過工具結果的提示注入。如果你的工具在任務中傳遞用戶輸入的消息,模型可能會將其視為不可信並忽略它。在最後一個工具結果之後將用戶輸入放在文本區塊中,並將工具通知保持在單獨的系統消息中。
在低努力下,代理可能會提前停止或跳過檢查。在 low 的長編碼代理系統提示下,Haiku 5.5 有時會在任務完成之前將任務交回,而在 low 和 medium 下,它有時會在不運行測試的情況下報告代碼更改已完成。Anthropic 的 Haiku 5.5 提示指南 為兩者提供了簡短的指導。對於可以寫文件或運行命令的代理,未經驗證的“完成”是兩者中更危險的。
強制工具跳過思考。強制的 tool_choice 仍然被接受,但模型會在思考之前調用工具。對於具有副作用的工具,auto 加上明確指令可以讓模型在行動之前進行推理。
搜索工具需要今天的日期。當 Haiku 5.5 擁有搜索工具時,請在系統提示或工具描述中提供當前日期。在 Anthropic 的測試中,這使答案基於最近的結果。
通過 AIHubMix 遷移的請求
一個使用 temperature=0、思考預算和預填 { 的 Haiku 4.5 分類器,重寫為 Haiku 5.5,並在 AIHubMix Claude 原生端點 上:
import os
import anthropic
client = anthropic.Anthropic(
api_key=os.environ["AIHUBMIX_API_KEY"],
base_url="https://aihubmix.com",
)
r = client.messages.create(
model="claude-haiku-5-5",
max_tokens=2000, # 思考加上 JSON 的空間
output_config={
"effort": "low", # 替換舊的思考預算
"format": { # 替換預填和 temperature=0
"type": "json_schema",
"schema": {
"type": "object",
"properties": {
"label": {"type": "string", "enum": ["billing", "bug", "other"]}
},
"required": ["label"],
"additionalProperties": False,
},
},
},
messages=[{"role": "user", "content": "票據:'我在十月被收費兩次。'"}],
)
if r.stop_reason == "refusal":
raise RuntimeError(f"拒絕:{r.stop_details}")
text = next(b.text for b in r.content if b.type == "text")
print(text)
確認網關是否在你的第一次測試運行中不變地轉發 output_config 字段和更新的 beta 標頭是值得的。當遷移的路由通過你的評估時,AIHubMix 模型列表 使你能夠輕鬆將相同的代碼指向 Sonnet 5.5,以處理在 Haiku 上持續失敗的任何任務類型。
遷移檢查清單
- 將模型 ID 更改為 claude-haiku-5-5,無日期後綴。
- 用自適應思考和明確的努力級別替換每個思考預算。
- 移除 temperature、top_p 和 top_k,包括包裝器添加的默認值。
- 用結構化輸出、系統指令或用戶回合延續替換助手預填。
- 將計算機使用移至計算機工具集並更新代理循環。
- 如果思考區塊被重播,則使對話歷史為附加模式。
- 按區塊類型讀取回應內容,並在重播時保留空的思考區塊。
- 在短答案路由上提高 max_tokens,或降低努力。
- 在讀取內容之前處理拒絕停止原因;不要配置服務器端的後備。
- 在新模型上重新計數提示令牌並重新基準成本儀表板。
- 檢查哪些提示現在超過 100K 令牌並修剪或拆分它們。
- 如果用戶看到推理摘要,則將顯示設置為摘要。
- 將中途用戶輸入放在工具結果之外。
- 給予啟用搜索的代理今天的日期。
- 在移動大量數據之前,重新檢查速率限制、優先級層級需求和你的網關上下文限制。
常見問題
我的 Haiku 4.5 提示能在 Haiku 5.5 上工作嗎?
Anthropic 表示現有提示應該能夠正常工作而無需更改。圍繞它們的請求參數是造成錯誤的原因:思考預算、取樣設置、預填和舊的計算機使用工具都會返回錯誤。
為什麼我移除 temperature 0 後分類器會失敗?
它不應該失敗,但標籤可能會有更多變化。使用結構化輸出或具有枚舉字段的工具,以便允許的標籤由架構強制,這比 temperature 0 更可靠。
我還能關閉思考嗎?
可以,在低、中和高努力下。在 xhigh 和 max 下,禁用思考會返回錯誤。Anthropic 建議使用較低的努力級別,因為模型可以自行在簡單請求上跳過思考。
當 Haiku 5.5 拒絕時,我的代碼應該怎麼做?
在讀取內容之前檢查停止原因。Haiku 5.5 沒有服務器端的後備,因此你的代碼決定是否重新表述、將請求發送到更大的模型或向用戶返回錯誤。
為什麼我遷移後令牌使用量上升?
有兩個原因。新的分詞器對相同文本計算約 30% 更多的令牌,並且思考默認開啟,增加了輸出令牌。降低努力並在新模型上重新計數你的提示。
我需要為提示緩存更改任何內容嗎?
通常不需要,並且變得更容易:可緩存的最小提示從 4,096 降低到 512 令牌,早期回合的思考區塊默認保留在緩存前綴中。避免編輯早期回合,因為這現在會使思考區塊和緩存無效。
對話可以從 Haiku 5.5 升級到更大的模型嗎?
可以。Sonnet 5.5 和 Opus 5.5 可以讀取 Haiku 5.5 的思考區塊,因此升級到任一模型的對話保留其早期推理。對於其他目標模型,請先檢查保留思考的文檔。
繼續閱讀:Claude Haiku 5.5 系列
- 在計劃遷移之前,了解新模型是否達到你的質量標準是有幫助的。要了解 Haiku 4.5、GPT-6 Luna 和 Sonnet 5.5 的基準,請閱讀 Claude Haiku 5.5 vs Haiku 4.5:十美分現在能買到什麼
- 檢查清單的第 2 步要求你選擇一個努力級別。每個級別在令牌上的成本和起始位置,請閱讀 Claude Haiku 5.5 努力級別:中等是默認,低通常足夠
- 分詞器的變更不僅改變價格線,還改變你的儀表板。要查看這對實際帳單的影響,請閱讀 Claude Haiku 5.5 定價:90% 削減背後的 100K 線
來源
- Claude Haiku 5.5 遷移指南 (Claude 平台文檔)
- 提示 Claude Haiku 5.5 (Claude 平台文檔)
- 介紹 Claude Haiku 5.5 (Anthropic)
- Claude Haiku 5.5 在 AIHubMix 上
- Claude Haiku 5.5 現已推出,價格為每百萬令牌 0.10 美元。在遷移之前請閱讀 100K 規則 (Roo 的新聞稿)



