Claude Sonnet 5.5 的新功能
從 Claude Sonnet 5 遷移到 Claude Sonnet 5.5 時有哪些變化:破壞性變更、功能支援、行為差異、定價與可用性。
Claude Sonnet 5.5 提供速度與智慧的最佳組合。有五項破壞性變更可能會影響已在 Claude Sonnet 5 上執行的程式碼:
- 使用
between_tools關閉預先思考。 - 強制工具使用會傳回錯誤。
- 思考區塊與模型及對話綁定。
- 部分電腦使用工具版本不受支援。
- 顧問工具拒絕將四個模型作為顧問:Claude Opus 4.8、Claude Opus 4.7、Claude Sonnet 5 和 Claude Haiku 5.5。
另有一項變更會改變回應的結構,但不會導致任何請求失敗:工具呼叫之間的文字會以 thinking 區塊傳回。若應用程式會將這些文字串流給使用者,則在工具呼叫之間將不會有任何輸出,直到它設定會傳回文字的 display 值,或使用 between_tools 關閉預先思考為止。
新模型
| 模型 | Claude API ID | 說明 |
|---|---|---|
| Claude Sonnet 5.5 | 速度與智慧的最佳組合 |
「Adaptive thinking」(自適應思考)預設為開啟,而「effort parameter」(努力程度參數)控制思考的深度。它在 Claude API 上的預設值為 high。「Tokenizer」(分詞器)與 Claude Sonnet 5 相同,因此相同的文字會產生相同的 token 數量。關於「context window」(上下文視窗)、輸出限制、知識截止日期和價格,請參閱 Claude Sonnet 5.5 模型頁面。
如需所有目前的模型,請參閱模型概覽。
破壞性變更
使用 between_tools 關閉預先思考
若要在 Claude Sonnet 5.5 上關閉「up-front thinking」(預先思考),請傳送 thinking: {"type": "between_tools"},而非 "disabled"。這是此模型上最低的思考設定。所有提供 Claude Sonnet 5.5 的平台皆可使用此設定。模型在工具呼叫之間撰寫的簡短「progress updates」(進度更新)仍會以 thinking 區塊的形式傳回,並附帶其摘要文字。請將這些區塊連同助理輪次的其餘內容原封不動地傳回。您傳回的進度更新區塊會提供模型它所撰寫的完整筆記,而非摘要。如果您的請求未使用工具,回應將只包含文字,與在 Claude Sonnet 5 上使用 disabled 時相同。
在 Claude Sonnet 5.5 上,傳送 thinking: {"type": "disabled"} 的請求會傳回 400 invalid_request_error,其訊息會指向 between_tools。
between_tools 可在 low、medium 和 high effort 下使用。在 xhigh 或 max effort 下,使用 between_tools 的請求會傳回 400 錯誤。若要以 xhigh 或 max 執行,請使用自適應思考:省略 thinking 欄位,或傳送等效的 thinking: {"type": "adaptive"}。使用 between_tools 時,effort 無法在對話中途變更:與目前生效等級不同的每則訊息 output_config.effort 會傳回 400 錯誤。若要在每個輪次變更 effort,請使用自適應思考。
between_tools 不接受其他欄位:與其一起傳送的 display、budget_tokens 或 block_binding 會傳回 400 錯誤。手動思考預算(thinking: {"type": "enabled", "budget_tokens": N})會傳回 400 錯誤。請參閱思考以及移轉指南中的關閉預先思考。
不支援強制工具使用
Claude Sonnet 5.5 不支援「forced tool use」(強制工具使用)。將 tool_choice 設為 {"type": "any"} 或 {"type": "tool", "name": "..."} 會傳回 400 invalid_request_error:
tool_choice: type "tool" and "any" are not supported for this model.支援 tool_choice: {"type": "auto"}(預設值)與 {"type": "none"}。相同的檢查也適用於 token 計數端點。若要取得符合 schema 的工具輸入,請保留 tool_choice: {"type": "auto"} 並搭配嚴格工具使用設定 strict: true,或將 schema 移至結構化輸出。若要讓模型呼叫工具而非以文字回覆,請在提示中說明何時適用該工具。移轉指南中的不支援強制工具使用展示了變更前後的對照。
思考區塊與模型及對話綁定
每個思考區塊都會記錄產生它的模型。切換模型的對話,只有在所切換到的模型能夠讀取先前模型的思考區塊時,才會保留其先前的推理內容:
| 切換 | 是否保留推理內容 |
|---|---|
| 從 Claude Sonnet 5 或更早模型、Claude Opus 4.8 或更早模型,或 Claude Haiku 4.5 或更早模型切換至 Claude Sonnet 5.5 | 是 |
| 從 Claude Haiku 5.5 切換至 Claude Sonnet 5.5 | 是,但僅限於 Claude API 和 Claude Models on Google Cloud (Google managed) |
| 從任何其他模型切換至 Claude Sonnet 5.5 | 否 |
| 從 Claude Sonnet 5.5 切換至 Claude Opus 5.5、Claude Fable 5.2 或 Claude Mythos 5.2 | 是,但僅限於 Claude API 和 Claude Models on Google Cloud (Google managed) |
| 從 Claude Sonnet 5.5 切換至任何其他模型 | 否 |
當請求包含目標模型無法讀取的區塊時,API 會在模型收到之前將其捨棄。請求會成功,且被捨棄的區塊不會計費。使用 thinking-binding-controls-2026-08-01 beta 標頭時,API 會在頂層的 input_transformations 陣列中回報捨棄情形。請參閱切換模型再切換回來。關於不涉及 Claude Sonnet 5.5 的切換,請參閱在 Claude API 上哪些模型切換會保留推理。
API 也會檢查 Claude Sonnet 5.5 思考區塊之前的任何內容自模型產生該區塊以來是否已變更。此「prefix check」(前綴檢查)涵蓋 system 提示、tools 以及每則較早的訊息。請保持對話為僅附加(append-only):使用對話中途系統訊息來變更指示或工具,而非進行編輯。
未通過前綴檢查可能會、也可能不會導致 400 錯誤。若要識別並處理這兩種情況,請參閱思考區塊的前綴檢查。
前綴檢查會在 Claude API 和部分雲端平台上執行。
部分電腦使用工具版本不受支援
Claude Sonnet 5.5 透過 computer_toolset_20260801 工具集支援「computer use」(電腦使用)。在 Amazon Bedrock 上,Claude Sonnet 5.5 也接受搭配 computer-use-2025-11-24 beta 標頭的 computer_20251124 工具。對於任何不接受的電腦使用工具版本(例如 Claude API 上的 computer_20251124),Claude Sonnet 5.5 會傳回 400 錯誤。Claude API 的 invalid_request_error 訊息會指出被拒絕的類型,並在 Did you mean one of 之後列出模型接受的工具類型。訊息開頭如下:
'claude-sonnet-5-5' does not support tool types: computer_20251124.使用工具集的整合無需任何變更。若要將 computer_20251124 整合移轉至工具集,請依照從 computer_20251124 移轉操作,其中展示了變更前後的請求。移除 beta 標頭,並將 tools 項目替換為 {"type": "computer_toolset_20260801"}。接著更新您的代理迴圈,以處理成員 tool_use 區塊、批次動作,以及結果上的 toolset_name。
不支援部分顧問工具配對
顧問工具處於 beta 階段。Claude Sonnet 5.5 執行者僅接受以下顧問:
- Claude Mythos 5.2 和 Claude Fable 5.2
- Claude Mythos 5.1 和 Claude Fable 5.1
- Claude Mythos 5 和 Claude Fable 5
- Claude Opus 5.5 和 Claude Opus 5
- Claude Sonnet 5.5 本身
Claude Opus 4.8、Claude Opus 4.7、Claude Sonnet 5 和 Claude Haiku 5.5 顧問可搭配 Claude Sonnet 5 執行者使用。搭配 Claude Sonnet 5.5 執行者時,它們會傳回 400 invalid_request_error。Claude Sonnet 5.5 接受的每個顧問都會以加密形式傳回其建議,作為 advisor_redacted_result 區塊。因此您的用戶端無法讀取建議文字。請參閱顧問工具的模型相容性和結果變體。
功能支援
Claude Sonnet 5.5 支援以下功能:
- 逐訊息 effort,處於 beta 階段
- 對話中途的系統訊息
- 對話中途的工具變更,處於 beta 階段
- 「prompt caching」(提示快取),最低可快取提示為 512 個 token
- 批次處理
- Files API
- PDF 支援
- 視覺
- 伺服器端和用戶端工具(請參閱使用 Claude 進行工具使用)
Claude Sonnet 5 不支援每則訊息的 effort、對話中途的系統訊息或對話中途的工具變更。在 Claude Sonnet 5 上,最低可快取提示為 1,024 個 token。請參閱各功能的頁面以了解模型可用性。
隨需壓縮(beta)
使用 compact-2026-09-04 beta 標頭時,傳送頂層 compaction 參數的請求會傳回一個已簽署的 compaction 區塊,其中摘要了該請求中的訊息。在後續請求中,該區塊會放在 messages 的最前面,取代它所摘要的訊息。您可以自行選擇何時壓縮,以及在該區塊之後保留哪些輪次。在 Claude Sonnet 5.5 上,保留的輪次中的思考區塊在壓縮後可以維持有效。關於相關條件,請參閱壓縮與保留思考。關於平台可用性和完整的請求流程,請參閱隨需壓縮。
在訊息中定義工具(beta)
使用 inline-tools-2026-09-15 beta 標頭時,對話中途系統訊息中的 tool_addition 區塊可以攜帶完整的工具定義,而非參照。您可以在對話中途新增工具、變更其結構描述,或將伺服器工具移至較新版本,而無需編輯 tools,也不會失去提示快取。請參閱在訊息中定義工具。
思考區塊僅限於產生它們的帳戶
Claude Sonnet 5.5 產生的思考區塊僅在產生它們的帳戶或與其連結的帳戶中有效。當其他帳戶傳送這些區塊之一時,API 會在模型收到之前將該區塊捨棄,且請求會成功。來自 Claude Haiku 5.5、Claude Fable 5.2 和 Claude Mythos 5.2 的區塊也遵循相同的規則。
在 Claude API 和 Claude Models on Google Cloud (Google managed) 上,您可以查看哪些區塊被捨棄。傳送 thinking-binding-controls-2026-08-01 beta 標頭,回應就會在 input_transformations 中以 reason: "organization_binding_mismatch" 列出每個被捨棄的區塊。請參閱帳戶與雲端平台。
行為差異
關於以下各項的指引,請參閱為 Claude Sonnet 5.5 撰寫提示。Claude Sonnet 5.5 與 Claude Sonnet 5 在以下幾個方面有所不同,這些差異無需任何程式碼變更就會顯現:
- 努力程度已重新校準。 某個努力程度層級所產生的思考量與在 Claude Sonnet 5 上不同。請重新執行您的努力程度測試,而非沿用原有設定。除非您的工作負載屬於代理型或對延遲敏感,否則請從
high開始。對於代理型程式設計和多步驟工具使用,明確定義的任務請從medium開始,較困難或較長的任務則改用high。對於聊天和其他對延遲敏感的工作,請從medium或low開始。 - 工具呼叫之間的文字會以思考區塊傳回。 在工具呼叫之間,長於一兩句的筆記會以進度更新
thinking區塊傳回。較短的評論則維持為text。在預設的display: "omitted"下,進度更新區塊的文字為空,因此將這些筆記串流給使用者的應用程式在工具呼叫之間會沒有輸出,且不會出現錯誤。如果您使用between_tools關閉預先思考,文字就會傳回。若要接收該文字,請參閱移轉指南中的工具呼叫之間的文字會在思考區塊中傳回。 - 防護類別。 模型的防護機制可能會以五種
stop_details類別拒絕請求。"cyber"表示該請求可能促成網路危害。"bio"表示可能促成生物危害。"frontier_llm"表示可能協助開發競爭性 AI 模型。"reasoning_extraction"表示要求模型在回應文字中重現其內部推理。"general_harms"表示屬於其他使用政策範疇。請參閱拒絕、備援與計費。
拒絕、備援與計費
拒絕與備援中的所有內容皆適用於 Claude Sonnet 5.5。被拒絕的請求會傳回 HTTP 200,附帶 stop_reason: "refusal" 以及指出政策範疇的 stop_details 物件。
請在您的程式碼中處理拒絕,並設定備援。使用伺服器端備援(fallbacks: "default")時,在 "cyber" 或 "frontier_llm" 類別中被拒絕的請求會在 Claude Sonnet 5 上重新執行。在 "bio"、"reasoning_extraction" 或 "general_harms" 類別中被拒絕的請求不會重試。伺服器端備援在 Claude API 和 Claude Models on Google Cloud (Anthropic managed) 上處於 beta 階段。您也可以使用 SDK 中介軟體或您自己的重試機制。
在任何輸出之前發生的拒絕,在某些拒絕類別中會計費,在其他類別中則不會。無論如何,它都會計入您的速率限制。請參閱拒絕如何計費。
定價
Claude Sonnet 5.5 的價格與 Claude Sonnet 5 相同,但提示快取讀取除外,其費用為每百萬 token $0.10 美元,是 Claude Sonnet 5 費率的一半。關於完整清單、資料駐留和工具定價,請參閱定價。
可用性
Claude Sonnet 5.5 可在以下平台使用:
- Claude API: 所有客戶,模型 ID 為
claude-sonnet-5-5 - AWS: Amazon Bedrock 中的 Claude,模型 ID 為
anthropic.claude-sonnet-5-5;以及 Claude Platform on AWS,模型 ID 為claude-sonnet-5-5 - Google Cloud: Claude Models on Google Cloud (Anthropic managed),模型 ID 為
claude-sonnet-5-5;以及 Claude Models on Google Cloud (Google managed),模型 ID 為claude-sonnet-5-5 - Microsoft Foundry: Microsoft Foundry 中的 Claude,模型 ID 為
claude-sonnet-5-5
從 Claude Sonnet 5 遷移
更新您的模型 ID:
model = "claude-sonnet-5" # Before
model = "claude-sonnet-5-5" # After接著檢查六件事:
- 如果您的程式碼使用
disabled關閉思考,請改為傳送between_tools,並使用high或更低的 effort。 - 將
tool_choice類型any和tool替換為auto加上「strict tool use」(嚴格工具使用)。 - 保持對話僅附加(append-only)。在編輯先前的歷史記錄後重新傳送 Claude Sonnet 5.5 思考區塊的請求,可能會傳回 400 錯誤。請參閱思考區塊與模型及對話綁定。
- 如果您透過
computer_20251124進行電腦使用,請移轉至工具集。在 Amazon Bedrock 上,computer_20251124也可使用。 - 如果您使用顧問工具搭配 Claude Opus 4.8、Claude Opus 4.7、Claude Sonnet 5 或 Claude Haiku 5.5 顧問,請切換至 Claude Sonnet 5.5 接受的顧問。
- 如果您的介面會顯示工具呼叫之間的文字,請在使用自適應思考時設定
thinking.display。使用between_tools時,文字會在未設定該項的情況下傳回。請參閱工具呼叫之間的文字會在思考區塊中傳回。
Claude Sonnet 5.5 遷移指南提供從 Claude Sonnet 5 及更早模型遷移的逐步說明,以及完整的檢查清單。
後續步驟
這個頁面有幫助嗎?