本指南涵蓋遷移 Messages API 程式碼。如果您使用 Claude Managed Agents,除了更新模型名稱之外,不需要任何其他變更。
使用 Claude API 技能自動化您的遷移。 在 Claude Code 中,執行 /claude-api migrate 以呼叫內建的 Claude API 技能。它適用於本頁面上的任何目標模型:
/claude-api migrate this project to claude-opus-5該技能會在您的程式碼庫中套用模型 ID 替換,並視需要套用破壞性參數變更、預填(prefill)替換,以及針對目標模型的 effort 校準,然後產生一份需要手動驗證的項目清單。在編輯任何檔案之前,它會要求您確認遷移範圍(整個工作目錄、子目錄或特定檔案清單)。該技能也會偵測 Amazon Bedrock 和 Claude Platform on AWS 用戶端,並針對這些平台調整模型 ID 格式和功能變更。
Claude Fable 5 是 Anthropic 最強大的廣泛發布模型,已在 Claude API、Amazon Bedrock、Claude Platform on AWS、Google Cloud 和 Microsoft Foundry 上正式推出。Claude Mythos 5 具有相同的能力,並以有限可用性的方式提供給 Project Glasswing 中經核准的客戶。
claude-fable-5 和 claude-mythos-5 共享的基準設定:
thinking 設定。thinking: {type: "disabled"} 和手動擴展思考(thinking: {type: "enabled", budget_tokens: N})都會回傳 400 錯誤。invalid_request_error。具有 ZDR 安排的組織應聯繫其 Anthropic 客戶團隊以討論資料保留設定。或者,您可以按工作區設定資料保留。請參閱模型特定的資料保留要求以了解各平台的詳細資訊。兩個模型的差異之處:
stop_reason: "refusal" 拒絕請求。Claude Mythos 5 不包含這些分類器。請參閱拒絕與後備。Claude Mythos 5 是 Claude Mythos Preview(僅限邀請的研究預覽版)的存取受限後繼者。Claude Fable 5 是具有相同能力的正式推出模型,本節中的變更同樣適用於這兩個目標。
遷移大多是直接替換即可。Claude Mythos 5 和 Claude Fable 5 使用與 Claude Mythos Preview 相同的 Messages API 和相同的工具使用模式,且由於這三個模型使用相同的分詞器(tokenizer),token 數量大致不變。需要檢查的關鍵變更是不再可用的功能(列於下一節)和思考輸出。如果您遷移至 Claude Fable 5,還需要為安全分類器拒絕做好準備,這是 Claude Mythos Preview 和 Claude Mythos 5 所沒有的;請參閱拒絕與後備。
有關 Claude Mythos Preview 的退役時間表,請參閱模型棄用。
model = "claude-mythos-preview" # Before
model = "claude-mythos-5" # After
# 或者,使用具有相同功能的正式發布模型:
model = "claude-fable-5" # After擴展思考和思考 token 預算: 手動擴展思考(thinking: {type: "enabled", budget_tokens: N})在 claude-mythos-5 或 claude-fable-5 上不受支援,並會回傳 400 錯誤。Adaptive thinking(自適應思考)始終開啟:模型會在每個請求中自行決定何時思考以及思考多少,不需要任何 thinking 設定。thinking: {type: "disabled"} 會回傳錯誤。budget_tokens 沒有直接的替代品:思考是自適應的,而 effort 參數是一個獨立的輸出層級控制,不是思考預算。
之前(Claude Mythos Preview):
client.messages.create(
model="claude-mythos-preview",
max_tokens=16000,
thinking={"type": "enabled", "budget_tokens": 10000},
messages=[{"role": "user", "content": "..."}],
)之後(Claude Mythos 5):
client.messages.create(
model="claude-mythos-5",
max_tokens=16000,
messages=[{"role": "user", "content": "..."}],
)Claude Fable 5 的變更完全相同,只需將模型名稱改為 claude-fable-5。
助理預填: 預填助理訊息在 claude-mythos-5 或 claude-fable-5 上不受支援,並會回傳 400 錯誤,與 Claude Mythos Preview 相同。請改用系統提示指令。
思考輸出: 在 claude-mythos-5 和 claude-fable-5 上,永遠不會回傳原始思維鏈,但當 thinking.display 設定為 summarized 時,思考區塊仍會帶有可讀的摘要文字。在同一模型上繼續對話時,請將思考區塊原封不動地傳回。請參閱 Claude Fable 5 和 Claude Mythos 5 上的思考輸出。
claude-mythos-5 和 claude-fable-5 使用與 claude-mythos-preview 相同的分詞器(隨 Claude Opus 4.7 引入的分詞器)。從 claude-mythos-preview 遷移時,token 數量大致不變。與 Claude Opus 4.7 之前的模型相比,相同的內容可能會分詞為大約多 30% 的 token,具體取決於內容和工作負載的形態。
與 claude-mythos-preview 相比,/v1/messages/count_tokens 對 claude-mythos-5 和 claude-fable-5 回傳的值大致不變。請在您自己的工作負載上重新建立成本和延遲基準。
claude-mythos-preview 更新為 claude-mythos-5,或更新為 claude-fable-5 以使用正式推出的模型。thinking: {type: "enabled", budget_tokens: N})。自適應思考始終開啟,不需要 thinking 欄位。thinking: {type: "disabled"} 設定。在 claude-mythos-5 和 claude-fable-5 上停用思考會回傳錯誤。budget_tokens。它沒有直接的替代品:思考是自適應的,而 effort 參數是一個獨立的輸出層級控制,不是思考預算。thinking 欄位的程式碼僅將其視為顯示文字,並在同一模型上繼續時將思考區塊原封不動地傳回。thinking.display 在 claude-mythos-5 和 claude-fable-5 上預設為 "omitted",與 Claude Mythos Preview 相同;設定 display: "summarized" 以接收可讀的摘要。請參閱 Claude Fable 5 和 Claude Mythos 5 上的思考輸出。thinking 和 redacted_thinking 區塊。來自 claude-mythos-5 和 claude-fable-5 的思考區塊與產生它們的模型綁定,而 Claude Fable 5 和 Claude Mythos 5 以外的模型會靜默忽略它們。移除可使跨模型請求保持精簡和一致。stop_reason: "refusal" 並讀取 stop_details.category 欄位。Claude Fable 5 執行 Claude Mythos Preview 和 Claude Mythos 5 所沒有的安全分類器。請參閱拒絕與後備。claude-mythos-preview 遷移時,token 數量大致不變。Claude Fable 5 和 Claude Mythos 5 使用與 Claude Opus 5 相同的 Messages API 和相同的工具使用模式,預設具有相同的 1M token 上下文視窗和相同的 128k 最大輸出 token。預填和取樣參數限制以及思考顯示行為從 Claude Opus 5 原封不動地延續。需要檢查的變更是始終開啟的思考、定價、Priority Tier 和資料保留。
model = "claude-opus-5" # Before
model = "claude-fable-5" # After
# 或者,對於具有相同功能的 Project Glasswing 模型:
model = "claude-mythos-5" # After思考不再可以停用: 在 Claude Opus 5 上,思考預設開啟,並且可以在 effort 層級為 high 或以下時使用 thinking: {type: "disabled"} 關閉。在 claude-fable-5 和 claude-mythos-5 上,adaptive thinking(自適應思考)始終開啟,且 thinking: {type: "disabled"} 在任何 effort 層級都會回傳 400 錯誤。請移除 thinking: {type: "disabled"} 設定,並改用較低的 effort 層級來控制 token 支出。
定價: Claude Fable 5 和 Claude Mythos 5 的定價為每百萬輸入 token 10 美元,每百萬輸出 token 50 美元,而 Claude Opus 5 為 5 美元和 25 美元。請參閱 Claude 定價。
Priority Tier: Claude Opus 5 不支援 Priority Tier,因此沒有現有流量受到影響。如果您的組織有 Priority Tier 承諾,Claude Fable 5 支援它;Claude Mythos 5 則不支援。
資料保留: Claude Fable 5 和 Claude Mythos 5 需要 30 天的資料保留,且不適用於零資料保留(ZDR)安排;兩者都被指定為 Covered Models(受涵蓋模型)。請參閱模型特定的資料保留要求。
claude-opus-5 更新為 claude-fable-5(或 claude-mythos-5)。thinking: {type: "disabled"} 設定;它在 claude-fable-5 和 claude-mythos-5 上會回傳 400 錯誤。請改用較低的 effort 層級來控制 token 支出,並重新檢視在 Claude Opus 5 上以停用思考方式執行的工作負載的 max_tokens。如果您的程式碼使用 Claude Opus 4.7 或更早版本,請先套用相關的遷移至 Claude Opus 5 來源章節,以處理從您目前模型開始的 API 層級變更,然後再套用本節中的其餘差異。
遷移大多是直接替換即可。Claude Fable 5 和 Claude Mythos 5 使用與 Claude Opus 4.8 相同的 Messages API 和相同的工具使用模式,預設具有相同的 1M token 上下文視窗和相同的 128k 最大輸出 token。由於這些模型使用相同的分詞器,token 數量大致不變。需要檢查的關鍵變更是始終開啟的 adaptive thinking(自適應思考)、思考輸出、安全分類器拒絕(僅限 Claude Fable 5)和定價。
model = "claude-opus-4-8" # Before
model = "claude-fable-5" # After
# 或者,對於具有相同功能的 Project Glasswing 模型:
model = "claude-mythos-5" # After本節中的項目描述了在替換模型 ID 後值得檢查的 API 和行為差異。除非另有說明,它們同樣適用於 claude-fable-5 和 claude-mythos-5。
自適應思考始終開啟: Adaptive thinking(自適應思考)是 claude-fable-5 和 claude-mythos-5 上唯一的思考模式。模型會在每個請求中自行決定何時思考以及思考多少,不需要任何 thinking 設定。thinking: {type: "disabled"} 會回傳錯誤。請使用 effort 參數來控制思考深度。
需要檢查的行為變更:在 Claude Opus 4.8 上,沒有 thinking 欄位的請求會在不思考的情況下執行;在 claude-fable-5 和 claude-mythos-5 上,這些相同的請求會以自適應思考執行。max_tokens 仍然是總輸出(思考加上回應文字)的硬性限制,因此請重新檢視在 Claude Opus 4.8 上不使用思考執行的工作負載。請參閱成本控制。
之前(Claude Opus 4.8):
client.messages.create(
model="claude-opus-4-8",
max_tokens=16000,
thinking={"type": "adaptive"},
output_config={"effort": "high"},
messages=[{"role": "user", "content": "..."}],
)之後(Claude Fable 5):
client.messages.create(
model="claude-fable-5",
max_tokens=16000,
output_config={"effort": "high"},
messages=[{"role": "user", "content": "..."}],
)Claude Mythos 5 的變更完全相同,只需將模型名稱改為 claude-mythos-5。
擴展思考和思考預算(不變): 手動擴展思考(thinking: {type: "enabled", budget_tokens: N})在 claude-fable-5 或 claude-mythos-5 上不受支援,並會回傳 400 錯誤,與 Claude Opus 4.8 相同。budget_tokens 沒有直接的替代品:思考是自適應的,而 effort 參數是一個獨立的輸出層級控制,不是思考預算。
助理預填(不變): 預填助理訊息在 claude-fable-5 或 claude-mythos-5 上不受支援,並會回傳 400 錯誤,與 Claude Opus 4.8 相同。請改用系統提示指令。
思考輸出: 在 claude-fable-5 和 claude-mythos-5 上,永遠不會回傳原始思維鏈,但當 thinking.display 設定為 summarized 時,思考區塊仍會帶有可讀的摘要文字。在同一模型上繼續對話時,請將思考區塊原封不動地傳回。請參閱 Claude Fable 5 和 Claude Mythos 5 上的思考輸出。
安全分類器和 refusal 停止原因(僅限 Claude Fable 5): claude-fable-5 會在請求和回應生成期間執行安全分類器。Claude Mythos 5 不包含這些分類器。當分類器拒絕請求時,Messages API 會以成功的 HTTP 200 回應回傳 stop_reason: "refusal",而不是錯誤。stop_details.category 欄位會報告觸發的分類器,類別包括 "cyber"、"bio" 和 "reasoning_extraction",或者當拒絕不對應任何具名類別時為 null。請參閱拒絕類別表以了解完整集合。
對於在產生任何輸出之前被拒絕的請求,您不會被收取輸入 token 的費用。當分類器在串流中途觸發時,輸入和已串流的輸出會被計費;請捨棄部分輸出。
若要自動在另一個模型上重新執行被拒絕的請求,請傳遞選擇性加入的 fallbacks 參數,該參數在 Claude API 上處於測試版。此參數在 Message Batches API 或 Amazon Bedrock、Google Cloud 和 Microsoft Foundry 上不可用;在這三個平台上,請在用戶端執行重試或使用 SDK 拒絕後備中介軟體。請參閱拒絕與後備。
從 high effort 開始: Effort 參數的預設值仍為 high。在 Claude Opus 4.8 上,對於程式編寫和高自主性工作的建議是明確設定 xhigh。在 claude-fable-5 和 claude-mythos-5 上,對大多數任務使用 high 作為預設值,並將 xhigh 保留給對能力最敏感的工作負載。較低的 effort 設定仍然表現良好,且通常超過先前模型上 xhigh 的表現。如果任務完成但花費的時間超過必要,請降低 effort。請參閱為 Claude Fable 5 撰寫提示。
較低的提示快取最小值: claude-fable-5 和 claude-mythos-5 上可快取提示的最小長度為 512 個 token,低於 Claude Opus 4.8 上的 1,024 個 token。在 Claude Opus 4.8 上因太短而無法快取的提示現在可以建立快取項目,無需變更程式碼。請參閱提示快取以了解各模型的最小值。
claude-fable-5 和 claude-mythos-5 需要 30 天的資料保留;在 Claude API 上,不符合此要求的對 claude-fable-5 的請求會回傳 400 invalid_request_error。Claude Opus 4.8 在 ZDR 下仍然可用。請參閱模型特定的資料保留要求。claude-opus-4-8 更新為 claude-fable-5(或 claude-mythos-5)。thinking: {type: "disabled"} 設定。在 claude-fable-5 和 claude-mythos-5 上停用思考會回傳錯誤,而沒有 thinking 欄位的請求會以自適應思考執行。claude-fable-5 和 claude-mythos-5 上仍然不受支援。thinking 欄位的程式碼僅將其視為顯示文字,並在同一模型上繼續時將思考區塊原封不動地傳回。thinking.display 在 claude-fable-5 和 claude-mythos-5 上預設為 "omitted",與 Claude Opus 4.8 相同;設定 display: "summarized" 以接收可讀的摘要。請參閱 Claude Fable 5 和 Claude Mythos 5 上的思考輸出。thinking 和 redacted_thinking 區塊。來自 claude-fable-5 和 claude-mythos-5 的思考區塊與產生它們的模型綁定,而 Claude Fable 5 和 Claude Mythos 5 以外的模型會靜默忽略它們。移除可使跨模型請求保持精簡和一致。例外情況是兌換後備額度,這需要按照該功能的確切規則回傳請求主體。stop_reason: "refusal" 並讀取 stop_details.category 欄位。若要自動在另一個模型上重新執行被拒絕的請求,請考慮選擇性加入的 fallbacks 參數(測試版)。請參閱拒絕與後備。effort 設定。對大多數任務從 high 開始,包括在 Claude Opus 4.8 上以 xhigh 執行的工作負載。claude-opus-4-8 遷移時,token 數量大致不變;每 token 定價有所不同。Claude Opus 5 是相較於 Claude Opus 4.8 的階段性重大改進,在深度推理、代理式和長時程任務以及測試時運算擴展方面表現出色。有關行為差異和模型特定的提示模式,請參閱為 Claude Opus 5 撰寫提示。
Claude Opus 5 是 Claude Opus 4.8 的直接替換升級,定價相同,為每百萬輸入 token 5 美元,每百萬輸出 token 25 美元;請參閱 Claude 定價。對於已在 Claude Opus 4.8 上執行的程式碼,有兩個破壞性變更,在下方的「破壞性變更」中說明。Claude Opus 5 支援與 Claude Opus 4.8 相同的功能集,包括 1M token 上下文視窗(預設,無需測試版標頭)、128k 最大輸出 token、adaptive thinking(自適應思考)、提示快取、批次處理、Files API、PDF 支援、視覺,以及伺服器端和用戶端工具,但有兩個例外:網頁擷取在 Claude Opus 5 上不可用,且 Claude Opus 5 不支援 Priority Tier。請參閱各工具頁面以了解模型可用性。
本節僅涵蓋與 Claude Opus 4.8 的差異。如果您的程式碼使用 Claude Opus 4.7 或更早版本,請改用以下章節:從 Claude Opus 4.7 遷移至 Claude Opus 5 或從 Claude Opus 4.6 及更早的 Opus 模型遷移至 Claude Opus 5。它們包含此差異以及來自更早模型的破壞性變更(取樣參數被拒絕、手動擴展思考被拒絕、預填被移除、新的分詞器)。
# Opus 遷移
model = "claude-opus-4-8" # Before
model = "claude-opus-5" # Afterclaude-opus-5 是一個沒有日期後綴的固定模型 ID,與 claude-opus-4-8 和 claude-sonnet-5 採用相同的方案。
思考預設開啟: 在 Claude Opus 4.8 上,沒有 thinking 欄位的請求會在不思考的情況下執行;在 Claude Opus 5 上,相同的請求會以 adaptive thinking(自適應思考)執行。max_tokens 仍然是總輸出(思考加上回應文字)的硬性限制,因此請重新檢視在 Claude Opus 4.8 上不使用思考執行的工作負載。若要保留舊行為,請傳遞 thinking: {type: "disabled"},但受限於下一項中的 effort 上限;請注意,停用思考時,模型偶爾會以純文字形式發出工具呼叫,或在其可見輸出中包含內部 XML 標籤,因此在可能的情況下,請優先使用啟用思考的較低 effort 層級,而在無法這樣做的情況下,請參閱在停用思考的情況下執行以了解緩解措施。
停用思考的上限為 high effort: 您仍然可以使用 thinking: {type: "disabled"} 關閉思考,但僅限於 effort 層級為 high 或以下。將 thinking: {type: "disabled"} 與 effort xhigh 或 max 結合的請求會回傳 400 錯誤。Claude Opus 4.8 接受此組合,因此請在遷移前稽核停用思考的請求。
此檢查在每個請求上強制執行:每個請求的 effort 和思考設定都會獨立驗證,因此在停用思考的情況下將 effort 提高到 xhigh 或 max 的請求會被拒絕,即使對話中較早的請求已被接受。
之前(在 Claude Opus 4.8 上被接受,在 Claude Opus 5 上被拒絕):
client.messages.create(
model="claude-opus-4-8",
max_tokens=16000,
thinking={"type": "disabled"},
output_config={"effort": "xhigh"},
messages=[{"role": "user", "content": "..."}],
)之後(Claude Opus 5),移除 thinking 欄位以重新啟用思考:
client.messages.create(
model="claude-opus-5",
max_tokens=16000,
output_config={"effort": "xhigh"}, # thinking is on by default
messages=[{"role": "user", "content": "..."}],
)或保持停用思考並降低 effort:
client.messages.create(
model="claude-opus-5",
max_tokens=16000,
thinking={"type": "disabled"},
output_config={"effort": "high"}, # or "medium", "low"
messages=[{"role": "user", "content": "..."}],
)這些不是必需的,但會改善您的體驗:
針對能力關鍵的工作測試 max effort: Claude Opus 5 支援完整的 effort 層級集合(low、medium、high、xhigh、max)。在最大能力比 token 支出更重要的情況下,請測試 max effort。它可以在最苛刻的任務上帶來收益,但可能會因 token 使用量增加而出現報酬遞減,並且在較簡單的任務上可能容易過度思考。如果您以 xhigh 或 max effort 執行,請設定較大的 max_tokens,讓模型有空間思考和行動;從 64k token 開始並從那裡調整。
考慮自動後備: Claude Opus 5 附帶網路安全分類器,其 cyber 類別的拒絕可以後備至 Claude Opus 4.8。若要自動在另一個模型上重新執行被拒絕的請求,請考慮使用 "default" 模式的 fallbacks 參數(fallbacks: "default"),它會根據拒絕類別選擇建議的後備模型,而不是手動維護的模型清單。伺服器端後備處於測試版;"default" 模式需要 server-side-fallback-2026-07-01 測試版標頭。請參閱拒絕與後備。
快取較短的提示: Claude Opus 5 上可快取提示的最小長度為 512 個 token,低於 Claude Opus 4.8 上的 1,024 個 token。在 Claude Opus 4.8 上因太短而無法快取的提示現在可以建立快取項目,無需變更程式碼。請參閱提示快取以了解各模型的最小值。
在對話中途變更工具(測試版): 您可以在對話的回合之間新增或移除工具,而不會使先前回合的提示快取命中失效。請傳送測試版標頭 mid-conversation-tool-changes-2026-07-01。這對於逐步公開工具或隨著任務進展而淘汰工具的代理式工作負載很有用;如果沒有它,變更的工具清單會使快取的前綴失效。
重新調整長度和冗長度提示: Claude Opus 5 上的預設可見回應和書面交付成果比 Claude Opus 4.8 上更長,而降低 effort 會減少思考量,但不能可靠地縮短可見回應。請改為明確提示要求簡潔或目標長度。請參閱回應長度和冗長度和書面交付成果長度。
移除延續下來的驗證指令並限制範圍: Claude Opus 5 會在未被告知的情況下驗證自己的工作,因此請移除從為早期模型調整的提示中延續下來的明確驗證或自我檢查指令;保留它們會導致過度驗證。對於範圍狹窄的任務,請明確限制任務範圍。在多代理框架中,請明確指導哪些情境需要委派,或限制子代理的數量,因為 Claude Opus 5 比早期模型更容易委派。請參閱任務範圍和過度驗證和控制子代理產生。
claude-opus-4-8 更新為 claude-opus-5。thinking 欄位的情況下執行的工作負載:它們在 Claude Opus 5 上會以思考方式執行。重新檢視 max_tokens,它仍然是總輸出(思考加上回應文字)的硬性限制,或在 effort 為 high 或以下時傳遞 thinking: {type: "disabled"} 以保留舊行為。如果您停用思考,請檢視在停用思考的情況下執行以了解可能出現的輸出瑕疵及其提示緩解措施。thinking: {type: "disabled"} 與 effort xhigh 或 max 結合會回傳 400 錯誤,並在每個請求上強制執行。請重新啟用思考或將 effort 降低至 high 或以下。effort 設定:在您自己的評估上執行全新的 effort 掃描,而不是沿用為早期模型調整的設定。low 和 medium effort 值得作為成本和延遲控制進行測試,並在最大能力比 token 支出更重要的情況下測試 max effort。如果您以 xhigh 或 max effort 執行,請將 max_tokens 提高到至少 64k 作為起點。stop_reason: "refusal",並考慮使用 fallbacks: "default"(測試版)自動在建議的後備模型上重新執行被拒絕的請求。Claude Opus 5 在現有的 Claude Opus 4.7 提示和評估上應具有強大的開箱即用效能,且定價相同:每百萬輸入 token 5 美元,每百萬輸出 token 25 美元。它支援與 Claude Opus 4.7 相同的功能集,包括 1M token 上下文視窗、128k 最大輸出 token、自適應思考、提示快取、批次處理、Files API、PDF 支援、視覺,以及伺服器端和客戶端工具,但有兩個例外:網頁擷取在 Claude Opus 5 上不可用,且 Claude Opus 5 不支援 Priority Tier。它還新增了對話中系統訊息,並公開記錄了拒絕停止詳細資訊。
如果您的程式碼使用 Claude Opus 4.6 或更早版本,請改用從 Claude Opus 4.6 及更早的 Opus 模型遷移至 Claude Opus 5。該章節包含僅從 Claude Opus 4.7 升級時不會涵蓋的重大變更(取樣參數被拒絕、手動擴展思考被拒絕、新的 tokenizer)。
# Opus 遷移
model = "claude-opus-4-7" # Before
model = "claude-opus-5" # After思考預設開啟: 在 Claude Opus 4.7 上,沒有 thinking 欄位的請求會在不思考的情況下執行;在 Claude Opus 5 上,相同的請求會以自適應思考執行。max_tokens 仍然是總輸出(思考加上回應文字)的硬性限制,因此請重新檢視在 Claude Opus 4.7 上不使用思考執行的工作負載。若要保留舊行為,請傳遞 thinking: {type: "disabled"},但須遵守下一項中的 effort 上限;請注意,停用思考時,模型偶爾會以純文字形式發出工具呼叫,或在其可見輸出中包含內部 XML 標籤,因此在可能的情況下,請優先選擇啟用思考並使用較低的 effort 等級;若無法這樣做,請參閱停用思考執行以了解緩解措施。
停用思考的 effort 上限為 high: 您可以使用 thinking: {type: "disabled"} 關閉思考,但僅限於 effort 等級為 high 或更低時。將 thinking: {type: "disabled"} 與 effort xhigh 或 max 結合的請求會回傳 400 錯誤。Claude Opus 4.7 接受此組合,因此在遷移之前請稽核停用思考的請求。
此檢查會在每個請求上強制執行:每個請求的 effort 和思考設定都會獨立驗證,因此即使對話中較早的請求已被接受,在停用思考的情況下將 effort 提高到 xhigh 或 max 的請求仍會被拒絕。
之前(在 Claude Opus 4.7 上被接受,在 Claude Opus 5 上被拒絕):
client.messages.create(
model="claude-opus-4-7",
max_tokens=16000,
thinking={"type": "disabled"},
output_config={"effort": "xhigh"},
messages=[{"role": "user", "content": "..."}],
)之後(Claude Opus 5),可以移除 thinking 欄位以啟用思考執行:
client.messages.create(
model="claude-opus-5",
max_tokens=16000,
output_config={"effort": "xhigh"}, # thinking is on by default
messages=[{"role": "user", "content": "..."}],
)或保持停用思考並降低 effort:
client.messages.create(
model="claude-opus-5",
max_tokens=16000,
thinking={"type": "disabled"},
output_config={"effort": "high"}, # or "medium", "low"
messages=[{"role": "user", "content": "..."}],
)以下項目並非重大變更;它們描述了在您更換模型 ID 後值得檢查的行為差異。
取樣參數(未變更): 在 Claude Opus 5 上,將 temperature、top_p 或 top_k 設定為非預設值會回傳 400 錯誤,與 Claude Opus 4.7 相同。SDK 請求類型仍然定義這些欄位以與較早的模型相容,因此設定它們的程式碼可以通過類型檢查,但 API 會在伺服器端拒絕該請求。如果您在遷移至 Opus 4.7 時已移除這些參數,則無需進一步變更。
Effort 預設值為 high: 在 Claude API 和 Claude Code 上,Claude Opus 5 的 effort 參數預設值為 high。如果您已明確設定 effort,您的設定不會改變。
Effort 等級重新校準: 與 Claude Opus 4.7 相比,Claude Opus 5 上每個 effort 等級背後的 token 分配有所變更,且 Claude Opus 5 支援完整的 effort 等級集(low、medium、high、xhigh、max)。請在您自己的評估上重新執行 effort 掃描,而不是沿用為 Claude Opus 4.7 調校的設定。low 和 medium effort 值得作為成本和延遲控制進行測試,而在最大能力比 token 花費更重要的情況下,請測試 max effort。如果您以 xhigh 或 max effort 執行,請設定較大的 max_tokens,讓模型有空間思考和行動;從 64k token 開始並從那裡調校。請參閱 Effort。
1M 上下文視窗為預設值: Claude Opus 5 預設提供完整的 1M token 上下文視窗,無需 beta 標頭,也沒有長上下文額外費用。如果您的客戶端為了與較舊模型相容而傳遞上下文視窗 beta 標頭,您可以在 Claude Opus 5 上移除它。
對話中系統訊息: Claude Opus 5 接受在 messages 陣列中緊接在使用者回合之後的 role: "system" 訊息(須遵守放置規則)。對於從一開始就適用的指示,請使用頂層 system 欄位。Claude Opus 4.7 會以 400 錯誤拒絕 messages 中的 role: "system"。如果您維護重建完整訊息歷史以更新指示的程式碼路徑,您可以簡化它們並保留較早回合的提示快取命中。
拒絕停止詳細資訊: 拒絕回應上的 stop_details 物件(自 Claude Opus 4.7 起可用)現已公開記錄。當模型拒絕請求時,除了現有的 refusal stop reason 之外,它還會識別拒絕的類別。不需要 beta 標頭,也無法選擇退出。請參閱處理停止原因。
較低的提示快取最小值: Claude Opus 5 上可快取的最小提示長度為 512 個 token,低於 Claude Opus 4.7。在 Claude Opus 4.7 上因太短而無法快取的提示現在可以建立快取項目,無需變更程式碼。請參閱提示快取以了解各模型的最小值。
這些並非必要,但會改善您的體驗:
考慮自動後備: Claude Opus 5 隨附網路安全分類器,其網路類別的拒絕可以後備至 Claude Opus 4.8。若要自動在另一個模型上重新執行被拒絕的請求,請考慮使用 fallbacks 參數搭配 "default" 模式(fallbacks: "default"),它會根據拒絕類別選擇建議的後備模型,而不是手動維護的模型清單。伺服器端後備處於 beta 階段;"default" 模式需要 server-side-fallback-2026-07-01 beta 標頭。請參閱拒絕與後備。
在對話中途變更工具(beta): 您可以在對話的回合之間新增或移除工具,而不會使較早回合的提示快取命中失效。請傳送 beta 標頭 mid-conversation-tool-changes-2026-07-01。這對於逐步公開工具或隨著任務推進而淘汰工具的代理式工作負載很有用;若沒有它,變更的工具清單會使快取的前綴失效。
重新調校長度和冗長度提示: 與較早的 Opus 模型相比,Claude Opus 5 上的預設可見回應和書面交付成果會更長,而降低 effort 會減少思考量,但無法可靠地縮短可見回應。請改為明確提示要求簡潔或目標長度。請參閱回應長度和冗長度和書面交付成果長度。
移除沿用的驗證指示並限制範圍: Claude Opus 5 會在未被告知的情況下驗證自己的工作,因此請移除從為較早模型調校的提示中沿用的明確驗證或自我檢查指示;保留它們會導致過度驗證。對於範圍狹窄的任務,請明確限制任務範圍。在多代理框架中,請明確指導哪些情境需要委派,或限制子代理的數量,因為 Claude Opus 5 比較早的模型更容易委派。請參閱任務範圍和過度驗證和控制子代理產生。
claude-opus-4-7 更新為 claude-opus-5(或更新別名)。thinking 欄位的情況下執行的工作負載:它們在 Claude Opus 5 上會以思考執行。重新檢視 max_tokens,它仍然是總輸出(思考加上回應文字)的硬性限制,或在 effort 為 high 或更低時傳遞 thinking: {type: "disabled"} 以保留舊行為。如果您停用思考,請檢視停用思考執行以了解可能出現的輸出瑕疵及其提示緩解措施。thinking: {type: "disabled"} 搭配 effort xhigh 或 max 會回傳 400 錯誤,並在每個請求上強制執行。請重新啟用思考或將 effort 降低至 high 或更低。effort 設定:在您自己的評估上重新執行 effort 掃描,而不是沿用為 Claude Opus 4.7 調校的設定。測試 low 和 medium effort 作為成本和延遲控制,並在最大能力比 token 花費更重要的情況下測試 max effort。如果您以 xhigh 或 max effort 執行,請將 max_tokens 提高至至少 64k 作為起點。stop_details(自 Claude Opus 4.7 起可用;現已公開記錄),並考慮使用 fallbacks: "default"(beta)以自動在建議的後備模型上重新執行被拒絕的請求。Claude Opus 5 在現有的 Claude Opus 4.6 提示和評估上應該具有強大的開箱即用效能,且定價相同,但在遷移時有一些值得了解的行為和 API 變更。這些變更大多數在 Claude Opus 4.7 中生效;另外兩項——預設啟用思考以及停用思考時的 effort 上限——在 Claude Opus 5 中生效。以下涵蓋了所有這些變更,因此對於直接來自 Claude Opus 4.6 的程式碼,本節內容是完整的。Claude Opus 5 支援與 Claude Opus 4.6 相同的功能集,包括:
兩個例外:網頁擷取在 Claude Opus 5 上不可用,且 Claude Opus 5 不支援 Priority Tier。
# Opus 遷移
model = "claude-opus-4-6" # Before
model = "claude-opus-5" # After移除擴展思考: thinking: {type: "enabled", budget_tokens: N} 在 Claude Opus 4.7 或更新的模型上不再受支援,並會回傳 400 錯誤。請切換至自適應思考(thinking: {type: "adaptive"}),並使用 effort 參數來控制思考深度。在 Claude Opus 5 上,自適應思考預設啟用:thinking: {type: "adaptive"} 是有效的,且等同於完全省略 thinking 欄位(請參閱下一項)。
之前(Claude Opus 4.6):
client.messages.create(
model="claude-opus-4-6",
max_tokens=16000,
thinking={"type": "enabled", "budget_tokens": 10000},
messages=[{"role": "user", "content": "..."}],
)之後(Claude Opus 5):
client.messages.create(
model="claude-opus-5",
max_tokens=16000,
thinking={"type": "adaptive"},
output_config={"effort": "high"}, # or "max", "xhigh", "medium", "low"
messages=[{"role": "user", "content": "..."}],
)自適應思考可透過提示和 effort 參數進行引導;請參閱選擇 effort 等級。
預設啟用思考: 在 Claude Opus 4.6 和 Claude Opus 4.7 上,沒有 thinking 欄位的請求會在不思考的情況下執行;在 Claude Opus 5 上,相同的請求會以自適應思考執行。max_tokens 仍然是總輸出(思考加上回應文字)的硬性限制,因此請重新檢視先前不使用思考執行的工作負載。若要保留舊行為,請傳遞 thinking: {type: "disabled"},但須遵守下一項中的 effort 上限;請注意,停用思考時,模型偶爾可能會以純文字形式發出工具呼叫,或在其可見輸出中包含內部 XML 標籤,因此在可行的情況下,請優先使用較低的 effort 等級並啟用思考;若無法這樣做,請參閱在停用思考的情況下執行以了解緩解措施。
停用思考的 effort 上限為 high: 您可以使用 thinking: {type: "disabled"} 關閉思考,但僅限於 effort 等級為 high 或更低時。在 Claude Opus 5 上,將 thinking: {type: "disabled"} 與 effort xhigh 或 max 結合的請求會回傳 400 錯誤,且每個請求都會強制執行此規則。在遷移之前,請稽核停用思考的請求:重新啟用思考,或將 effort 降低至 high 或更低。
移除取樣參數: 在 Claude Opus 4.7 或更新的模型(包括 Claude Opus 5)上,將 temperature、top_p 或 top_k 設定為任何非預設值都會回傳 400 錯誤。最安全的遷移路徑是從請求酬載中完全省略這些參數。在 Claude Opus 5 上,建議使用提示來引導模型行為。如果您先前使用 temperature = 0 來追求確定性,請注意它在先前的模型上也從未保證產生相同的輸出。
預設省略思考內容: 在 Claude Opus 4.7 及更新的模型上,思考區塊仍會出現在回應串流中,但除非您明確選擇加入,否則其 thinking 欄位為空。這是相對於 Claude Opus 4.6 的一項無聲變更,Claude Opus 4.6 的預設行為是回傳摘要的思考文字。若要恢復摘要的思考內容,請將 thinking.display 設定為 "summarized":
thinking = {
"type": "adaptive",
"display": "summarized",
}在 Claude Opus 4.7 及更新的模型上,預設值為 "omitted"。如果您的產品會將推理過程串流給使用者,新的預設值會在輸出開始前呈現為一段長時間的停頓;請設定 display: "summarized" 以恢復思考期間的可見進度。詳情請參閱控制思考顯示。
更新的 token 計算: Claude Opus 4.7 引入了新的 tokenizer(分詞器),後續的 Opus 模型(包括 Claude Opus 5)也使用它。它有助於在廣泛的任務上提升效能,且與 Claude Opus 4.7 之前的模型相比,處理文字時可能會使用大約 1 倍到 1.35 倍的 token(最多約多 35%,視內容而異)。
/v1/messages/count_tokens 為 Claude Opus 5 回傳的 token 數量與 Claude Opus 4.6 不同。Token 效率可能因工作負載的形態而異。
提示介入、task_budget 和 effort 可以幫助控制成本並確保適當的 token 使用量。這些控制可能會以模型智慧為代價。請更新您的 max_tokens 參數以提供額外的餘裕,包括壓縮觸發條件。Claude Opus 5 以標準 API 定價提供 1M 上下文視窗,無長上下文額外費用。
移除預填(從 Opus 4.6 延續): 在 Claude Opus 4.7 及更新的模型(包括 Claude Opus 5)上,預填助理訊息會回傳 400 錯誤。請改用結構化輸出、系統提示指令或 output_config.format。
effort 參數讓您可以調整 Claude 的智慧與 token 花費之間的平衡,以能力換取更快的速度和更低的成本。Claude Opus 5 支援完整的 effort 等級集合,預設為 high。請在您自己的評估上重新進行 effort 掃描,而不是沿用為較早模型調校的設定:
max: 可以在最具挑戰性的任務上帶來提升,但隨著 token 使用量增加可能出現報酬遞減,且在較簡單的任務上可能容易過度思考。請在最大能力比 token 花費更重要的場景中測試它。xhigh: 為需要比預設更深入的長時間執行代理式和編碼工作提供擴展能力。high: 預設值。為大多數任務平衡 token 使用量和智慧。medium: 從預設值降一級以節省成本,值得作為成本和延遲控制進行測試。low: 最有效率。保留給簡短、範圍明確的任務和對延遲敏感的工作負載。如果您以 xhigh 或 max effort 執行,請設定較大的 max_tokens,讓模型有空間思考和行動;從 64k token 開始並從那裡調校。對於此模型而言,effort 比任何先前的 Opus 都更重要。升級時請積極地進行實驗。
Claude Opus 4.7 引入了幾項與 Claude Opus 4.6 不同的行為差異,這些差異不是 API 重大變更,但可能需要更新提示或移除鷹架。它們會延續到 Claude Opus 5,並有以下所述的調整。
回應長度因使用案例而異: Claude Opus 4.7 會根據其判斷的任務複雜度來校準回應長度,而不是預設為固定的詳細程度。這通常意味著簡單查詢的答案更短,而開放式分析的答案則長得多。
如果您的產品依賴特定風格或詳細程度的輸出,您可能需要調校您的提示。例如,若要降低詳細程度,請加入:「提供簡潔、聚焦的回應。跳過非必要的背景資訊,並保持範例精簡。」如果您看到特定類型的過度解釋,請在提示中加入針對性的指令來防止它們。
展示 Claude 如何以適當簡潔程度溝通的正面範例,往往比負面範例或告訴模型不要做什麼的指令更有效。在 Claude Opus 5 上,預設的可見回應和書面交付成果比較早的 Opus 模型更長,而降低 effort 會減少思考量,但不一定能可靠地縮短可見回應;請明確地提示要求簡潔或目標長度。請參閱回應長度和詳細程度。
更字面的指令遵循: Claude Opus 4.7 比 Claude Opus 4.6 更字面、更明確地解讀提示,特別是在較低的 effort 等級。它不會默默地將一個項目的指令推廣到另一個項目,也不會推斷您沒有提出的請求。這種字面性的好處是精確性和更少的反覆。對於具有精心調校的提示、結構化擷取以及需要可預測行為的管線的 API 使用案例,它通常表現更好。在遷移至 Claude Opus 5 時,進行提示和框架審查可能特別有幫助。
更直接的語氣: 與任何新模型一樣,長篇寫作的文體風格可能會改變。Claude Opus 4.7 更直接、更有主見,相較於 Claude Opus 4.6 較溫暖的風格,其認同式措辭和表情符號都更少。如果您的產品依賴特定的語氣,請根據新的基準重新評估風格提示。
代理式追蹤中的內建進度更新: Claude Opus 4.7 在長時間的代理式追蹤過程中,會向使用者提供更規律、更高品質的更新。如果您已加入鷹架來強制產生中間狀態訊息(「每 3 次工具呼叫後,總結進度」),請嘗試移除它。如果您發現 Claude Opus 4.7 面向使用者的更新的長度或內容與您的使用案例不太匹配,請在提示中明確描述這些更新應該是什麼樣子,並提供範例。
子代理生成已變更: Claude Opus 4.7 預設傾向於比 Claude Opus 4.6 生成更少的子代理,而 Claude Opus 5 則比較早的模型更容易委派給子代理。此行為可以透過提示朝任一方向引導;請針對何時需要子代理提供明確的指引,或限制子代理的數量。請參閱控制子代理生成。
更嚴格的 effort 校準: 與 Claude Opus 4.6 有顯著不同,Claude Opus 4.7 嚴格遵守 effort 等級,特別是在低端。在 low 和 medium 時,模型會將其工作範圍限定在被要求的內容,而不是做超出要求的事。
這對延遲和成本有利,但在以 low effort 執行中等複雜度的任務時,存在思考不足的風險。如果您在複雜問題上觀察到淺層推理,請將 effort 提高到 high 或 xhigh,而不是透過提示來繞過它。
如果您因延遲考量需要將 effort 保持在 low,請加入針對性的指引:「此任務涉及多步驟推理。在回應之前請仔細思考問題。」請參閱 Claude Opus 4.7 的建議 effort 等級。
預設較少的工具呼叫: Claude Opus 4.7 傾向於比 Claude Opus 4.6 更少使用工具,而更多使用推理。在大多數情況下,這會產生更好的結果。
若要增加工具使用量,請提高 effort 設定。high 或 xhigh effort 設定在代理式搜尋和編碼中顯示出明顯更多的工具使用量。您也可以調整您的提示,明確指示模型何時以及如何正確使用其工具。
即時網路安全防護措施: Claude Opus 4.7 新增的功能,涉及禁止或高風險主題的請求可能會導致拒絕。對於合法的安全工作,例如滲透測試、漏洞研究或紅隊演練,請申請 Cyber Verification Program 以請求降低限制。背景資訊請參閱防護措施、警告和申訴。
高解析度影像支援: Claude Opus 4.7 是第一個支援高解析度影像的 Claude 模型。最大影像解析度為長邊 2,576 像素,高於先前模型的 1,568 像素。這為視覺密集的工作負載帶來提升,對於電腦使用、螢幕截圖理解和文件分析特別有價值。
高解析度支援是自動的,不需要 beta 標頭或用戶端選擇加入。有兩件事需要規劃:
max_tokens 和成本預期,或者如果您不需要額外的保真度,請在傳送前進行降採樣。詳情請參閱 Claude Opus 4.7 的高解析度影像支援。
這些不是必需的,但會改善您的體驗:
重新評估 max_tokens: 由於相同的文字在 Claude Opus 4.7 及更新的模型上會產生更高的 token 數量,請更新您的 max_tokens 參數以提供額外的餘裕,包括壓縮觸發條件。提示介入、task_budget 和 effort 可以幫助控制成本並確保適當的 token 使用量。
稽核 token 計數預期: 任何在用戶端估算 token 或假設固定 token 與字元比例的程式碼路徑,都應該針對 Claude Opus 5 重新測試。請使用 Token 計數端點進行驗證。
採用任務預算(beta): Claude Opus 4.7 引入了任務預算。這些預算讓您可以告知 Claude 它在完整的代理式迴圈中有多少 token 可用,包括思考、工具呼叫、工具結果和最終輸出。模型會看到一個持續倒數的計數,並利用它來安排工作的優先順序,並在預算消耗時優雅地完成任務。若要使用,請設定 beta 標頭 task-budgets-2026-03-13,並將以下內容加入您的輸出設定:
output_config = {
"effort": "high",
"task_budget": {"type": "tokens", "total": 128000},
}您可能需要針對您的使用案例嘗試不同的任務預算。如果給予模型的任務預算過於嚴格,它可能會以較不徹底的方式完成任務,並將其預算作為限制因素提及。
對於品質比速度更重要的開放式代理式任務,請不要設定任務預算。將任務預算保留給您需要模型將其工作範圍限定在 token 配額內的工作負載。任務預算的最小值為 20k token。
任務預算不是硬性上限;它是模型知曉的一個建議。它與 max_tokens 不同:
task_budget: 涵蓋整個代理式迴圈的建議性上限。模型會看到它並用它來調整自己的節奏。max_tokens: 每個請求產生的 token 的硬性上限。它不會傳遞給模型,因此模型不會知道它。當您希望模型自我調節時使用 task_budget,並使用 max_tokens 作為限制使用量的硬性上限。
在 max 或 xhigh effort 時設定較大的 max_tokens: 如果您以 max 或 xhigh effort 執行 Claude Opus 4.7 或更新的模型,請設定較大的最大輸出 token 預算,讓模型有空間在其子代理和工具呼叫之間思考和行動。從 64k token 開始並從那裡調校。
如果不需要高解析度,請對影像進行降採樣: Claude Opus 4.7 及更新的模型支援最高 2576px / 3.75MP 的影像。高解析度影像會使用更多 token。如果不需要額外的影像保真度,請在傳送給 Claude 之前對影像進行降採樣,以避免 token 使用量增加。請參閱影像和視覺。
考慮自動後備: Claude Opus 5 隨附網路安全分類器,其網路類別的拒絕可以後備至 Claude Opus 4.8。若要自動在另一個模型上重新執行被拒絕的請求,請考慮使用 fallbacks 參數搭配 "default" 模式(fallbacks: "default"),它會根據拒絕類別選擇建議的後備模型,而不是手動維護的模型清單。伺服器端後備處於 beta 階段;"default" 模式需要 server-side-fallback-2026-07-01 beta 標頭。請參閱拒絕和後備。
快取較短的提示: Claude Opus 5 上可快取的最小提示長度為 512 個 token,低於較早的 Opus 模型。先前因太短而無法快取的提示現在可以建立快取項目,無需變更程式碼。請參閱提示快取以了解各模型的最小值。
在對話中途變更工具(beta): 您可以在對話的回合之間新增或移除工具,而不會使先前回合的提示快取命中失效。請傳送 beta 標頭 mid-conversation-tool-changes-2026-07-01。這對於逐步公開工具或隨著任務推進而淘汰工具的代理式工作負載很有用;若沒有它,變更的工具清單會使快取的前綴失效。
移除沿用的驗證指令並限制範圍: Claude Opus 5 會在未被告知的情況下驗證自己的工作,因此請移除從為較早模型調校的提示中沿用的明確驗證或自我檢查指令;保留它們會導致過度驗證。對於範圍狹窄的任務,請明確限制任務範圍。請參閱任務範圍和過度驗證。
claude-opus-4-6 更新為 claude-opus-5(或更新別名)。temperature、top_p 和 top_k。thinking: {type: "enabled", budget_tokens: N} 替換為 thinking: {type: "adaptive"} 加上 effort 參數,或完全移除 thinking 欄位;在 Claude Opus 5 上,自適應思考預設啟用。thinking 欄位的情況下執行的工作負載:它們在 Claude Opus 5 上會以思考模式執行。重新檢視 max_tokens,它仍然是總輸出(思考加上回應文字)的硬性限制,或在 effort 為 high 或更低時傳遞 thinking: {type: "disabled"} 以保留舊行為。thinking: {type: "disabled"} 搭配 effort xhigh 或 max 會回傳 400 錯誤,且每個請求都會強制執行。請重新啟用思考或將 effort 降低至 high 或更低。max_tokens 以因應更新的分詞方式。xhigh 或 max effort,請將 max_tokens 提高到至少 64k 作為起點。stop_reason: "refusal",並考慮使用 fallbacks: "default"(beta)自動在建議的後備模型上重新執行被拒絕的請求。如果您要從 Claude Opus 4.5、Opus 4.1(已棄用)或更早的模型直接遷移至 Claude Opus 5,請套用本節前面的所有變更,加上以下在 Opus 4.5 和 Opus 4.7 之間生效的累積變更。如果您是從 Opus 4.6 遷移,本節前面的變更就是您所需要的全部。
# Opus 遷移
model = "claude-opus-4-5" # Before
model = "claude-opus-5" # After移除預填已在從 Claude Opus 4.6 遷移的重大變更中涵蓋。
工具參數引號: Claude Opus 4.6 及更新的模型在工具呼叫引數中可能會產生略有不同的 JSON 字串跳脫(例如,對 Unicode 跳脫或正斜線跳脫的不同處理)。如果您將工具呼叫的 input 解析為原始字串而不是使用 JSON 解析器,請驗證您的解析邏輯。標準 JSON 解析器(例如 json.loads() 或 JSON.parse())會自動處理這些差異。
這些變更會改善您在 Claude Opus 4.7 及更新模型上的體驗。標記為**(在 Opus 4.7 上為必需)**的項目在 Opus 4.6 推出時是可選建議,但現在是強制性的;其餘的仍然是建議。
遷移至自適應思考(在 Opus 4.7 上為必需): thinking: {type: "enabled", budget_tokens: N} 在 Claude Opus 4.7 及更新的模型上會回傳 400 錯誤。請切換至 thinking: {type: "adaptive"} 並使用 effort 參數來控制思考深度;在 Claude Opus 5 上,thinking: {type: "adaptive"} 等同於省略 thinking 欄位,後者預設以自適應思考執行。請參閱思考。
response = client.beta.messages.create(
model="claude-opus-4-5",
max_tokens=16000,
thinking={"type": "enabled", "budget_tokens": 32000},
betas=["interleaved-thinking-2025-05-14"],
messages=[{"role": "user", "content": "Your prompt here"}],
)請注意,此遷移也會從 client.beta.messages.create 移至 client.messages.create。自適應思考和 effort 是 GA 功能,不需要 beta SDK 命名空間或任何 beta 標頭。
移除 effort beta 標頭: effort 參數現已 GA。請從您的請求中移除 betas=["effort-2025-11-24"]。
移除細粒度工具串流 beta 標頭: 細粒度工具串流現已 GA。請從您的請求中移除 betas=["fine-grained-tool-streaming-2025-05-14"]。
移除交錯思考 beta 標頭: 自適應思考會在 Claude Opus 4.7、Opus 4.6 和 Sonnet 4.6 上自動啟用交錯思考。請從您的請求中移除 betas=["interleaved-thinking-2025-05-14"]。該標頭在 Sonnet 4.6 上搭配手動擴展思考時仍然有效,但手動模式已棄用。
遷移至 output_config.format: 如果使用結構化輸出,請將 output_format={...} 更新為 output_config={"format": {...}}。舊參數仍然有效,但已棄用,並將在未來的模型版本中移除。
如果您要從 Opus 4.1(已棄用)或更早的模型直接遷移至 Claude Opus 5,請套用本節前面的所有變更,加上本小節中的額外變更。
# 來自 Opus 4.1
model = "claude-opus-4-1-20250805" # Before
model = "claude-opus-5" # After
# 來自 Sonnet 3.7
model = "claude-3-7-sonnet-20250219" # Before
model = "claude-opus-5" # After移除取樣參數
從 Claude 3.x 模型遷移時,這是一項重大變更。
從 Claude Opus 4.7 開始,將 temperature、top_p 或 top_k 設定為任何非預設值都會回傳 400 錯誤。最安全的遷移路徑是從請求中完全省略這些參數,並使用提示來引導模型的行為。如果您先前使用 temperature = 0 來追求確定性,請注意它從未保證產生相同的輸出。
# 之前 - 這在 Claude 4+ 模型中會出錯
response = client.messages.create(
model="claude-3-7-sonnet-20250219",
temperature=0.7,
top_p=0.9, # Non-default sampling params return 400 on Opus 4.7
# ...
)
# 之後
response = client.messages.create(
model="claude-opus-5",
# ...
)更新工具版本
從 Claude 3.x 模型遷移時,這是一項重大變更。
請更新至最新的工具版本。移除任何使用 undo_edit 命令的程式碼。
# 之前
tools = [{"type": "text_editor_20250124", "name": "str_replace_editor"}]
# 之後
tools = [{"type": "text_editor_20250728", "name": "str_replace_based_edit_tool"}]處理 refusal 停止原因
更新您的應用程式以處理 refusal 停止原因:
response = client.messages.create(...)
if response.stop_reason == "refusal":
# 適當處理拒絕回應
pass處理 model_context_window_exceeded 停止原因
Claude 4.5+ 模型在因達到上下文視窗限制(而非請求的 max_tokens 限制)而停止生成時,會回傳 model_context_window_exceeded 停止原因。請更新您的應用程式以處理這個新的停止原因:
response = client.messages.create(...)
if response.stop_reason == "model_context_window_exceeded":
# 適當處理上下文視窗限制
pass驗證工具參數處理(尾隨換行符號)
Claude 4.5+ 模型會保留工具呼叫字串參數中先前會被移除的尾隨換行符號。如果您的工具依賴與工具呼叫參數的精確字串比對,請驗證您的邏輯能正確處理尾隨換行符號。
針對行為變更更新您的提示
Claude 4+ 模型具有更簡潔、直接的溝通風格,並需要明確的指示。請檢視提示最佳實務以取得最佳化指引。
token-efficient-tools-2025-02-19 和 output-128k-2025-02-19。所有 Claude 4+ 模型都內建了 token 高效的工具使用,這些標頭沒有任何作用。claude-opus-5output_config.formatthinking: {type: "enabled", budget_tokens: N} 替換為 thinking: {type: "adaptive"} 加上 effort 參數(在 Opus 4.7 上會回傳 400)effort-2025-11-24 beta 標頭(effort 現已 GA)fine-grained-tool-streaming-2025-05-14 beta 標頭interleaved-thinking-2025-05-14 beta 標頭(自適應思考會自動啟用交錯思考)output_format 遷移至 output_config.format(如適用)temperature、top_p 和 top_k(非預設值在 Opus 4.7 上會回傳 400)text_editor_20250728、code_execution_20260521)refusal 停止原因model_context_window_exceeded 停止原因token-efficient-tools-2025-02-19、output-128k-2025-02-19)Claude Opus 5 和 Claude Sonnet 5 共享相同的 API 介面:兩者預設都啟用自適應思考,兩者在 Claude API 和 Claude Code 上的 effort 參數預設值都是 high,兩者預設都提供 1M token 上下文視窗以及 128k 最大輸出 token,且兩者都不支援 Priority Tier。手動擴展思考和非預設的取樣參數在兩個模型上都會回傳 400 錯誤,assistant 預填(prefill)也是如此。
model = "claude-sonnet-5" # Before
model = "claude-opus-5" # After定價: Claude Opus 5 的定價為每百萬輸入 token $5、每百萬輸出 token $25。對於 Claude Sonnet 5,每百萬輸入/輸出 token $2/$10 的推廣定價有效期至 2026 年 8 月 31 日,之後將採用 $3/$15 的標準定價。完整定價請參閱 Claude 定價。
停用思考的上限為 high effort: 在 Claude Sonnet 5 上,thinking: {type: "disabled"} 在任何 effort 等級下都會被接受。在 Claude Opus 5 上,只有在 effort 等級為 high 或更低時才會被接受;將 thinking: {type: "disabled"} 與 effort xhigh 或 max 組合的請求會回傳 400 錯誤,且每個請求都會強制執行此規則。在遷移之前,請審查停用思考的請求。
對話中途的系統訊息: Claude Opus 5 接受在 messages 陣列中緊接在 user 回合之後的 role: "system" 訊息(需遵守放置規則);Claude Sonnet 5 則不接受。如果您維護了為更新指令而重建完整訊息歷史的程式碼路徑,您可以簡化它們,並保留先前回合的提示快取命中。
網頁擷取不可用: 網頁擷取工具在 Claude Sonnet 5 上可用,但在 Claude Opus 5 上不可用。
claude-sonnet-5 更新為 claude-opus-5。thinking: {type: "disabled"} 與 effort xhigh 或 max 組合在 Claude Opus 5 上會回傳 400 錯誤。請重新啟用思考或將 effort 降低至 high 或更低。Claude Sonnet 5 在 Claude 模型系列中提供速度與智慧的最佳組合。它建立在 Claude Sonnet 4.6 的基礎之上。
Claude Sonnet 5 是 Claude Sonnet 4.6 的直接升級替代品。每百萬輸入/輸出 token $2/$10 美元的推廣定價有效期至 2026 年 8 月 31 日,之後將採用每百萬輸入/輸出 token $3/$15 美元的標準定價;詳情請參閱定價。對於已在 Claude Sonnet 4.6 上執行的程式碼,有兩項破壞性 API 變更:手動擴展思考(thinking: {type: "enabled", budget_tokens: N})以及設定為非預設值的取樣參數(temperature、top_p、top_k)不再被接受,並會回傳 400 錯誤。請改用自適應思考搭配 effort 參數。Claude Sonnet 5 支援與 Claude Sonnet 4.6 相同的功能集,包括 1M token 上下文視窗、自適應思考、提示快取、批次處理、Files API、PDF 支援、視覺,以及完整的伺服器端和用戶端工具。Priority Tier 在 Claude Sonnet 5 上不可用。Claude Sonnet 5 也使用新的 tokenizer(分詞器)。
如果您的程式碼使用 Claude Sonnet 4.5 或更早版本,也請套用從 Claude Sonnet 4.5 及更早的 Sonnet 模型遷移至 Claude Sonnet 5。這些步驟包含本節未涵蓋的破壞性變更(assistant 訊息預填被拒絕、工具參數 JSON 跳脫差異)。
# Sonnet 遷移
model = "claude-sonnet-4-6" # Before
model = "claude-sonnet-5" # After以下清單中的第 4 和第 5 項是破壞性變更。max_tokens 仍然是總輸出(思考加上回應文字)的硬性限制,因此對於先前在 Claude Sonnet 4.6 上不使用思考執行的工作負載,請重新檢視此設定。
新的 tokenizer: Claude Sonnet 5 使用新的 tokenizer。相同的輸入文字產生的 token 數量比 Claude Sonnet 4.6 多約 30%。確切的增加幅度取決於內容。請求、回應和串流事件保持相同的結構,不需要變更程式碼,但任何您以 token 衡量或編列預算的項目都會改變:相同文字的 usage 欄位和 token 計數結果會更高,1M token 上下文視窗能容納的文字更少,而針對 Claude Sonnet 4.6 調校的 max_tokens 限制可能會截斷等效的輸出。每 token 定價不變,因此等效請求的成本可能會有所不同。請針對 Claude Sonnet 5 重新執行 token 計數,而不是重複使用針對較早模型測量的計數。
128k 最大輸出 token(不變): Claude Sonnet 5 支援最多 128k 輸出 token,與 Claude Sonnet 4.6 相同。現有的 max_tokens 值仍然有效。在設定大小時請考量新的 tokenizer。
Assistant 訊息預填(不變): 預填 assistant 訊息在 Claude Sonnet 5 上會回傳 400 錯誤,與 Claude Sonnet 4.6 相同。如果您在遷移至 Claude Sonnet 4.6 時已移除預填,則不需要進一步變更。請改用結構化輸出、系統提示指令或 output_config.format。
自適應思考預設啟用: 在 Claude Sonnet 4.6 上,沒有 thinking 欄位的請求會在不使用思考的情況下執行;在 Claude Sonnet 5 上,相同的請求會使用自適應思考執行。若要關閉思考,請傳入 thinking: {type: "disabled"}。手動擴展思考(thinking: {type: "enabled", budget_tokens: N})不受支援,並會回傳 400 錯誤。請使用 effort 參數(預設為 high)來控制思考深度。
Claude Sonnet 5 預設啟用自適應思考。此處明確顯示 thinking 欄位是為了設定 display: "summarized";如果您省略 thinking,Claude Sonnet 5 預設會在回應中省略思考內容。關於各模型的預設值,請參閱各模型拒絕的配置。
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-sonnet-5",
max_tokens=16000,
thinking={"type": "adaptive", "display": "summarized"},
output_config={"effort": "high"},
messages=[
{
"role": "user",
"content": "Are there an infinite number of prime numbers such that n mod 4 == 3?",
}
],
)
# 回應包含摘要化的思考區塊和文字區塊
for block in response.content:
match block.type:
case "thinking":
print(f"\nThinking summary: {block.thinking}")
case "text":
print(f"\nResponse: {block.text}")移除取樣參數: 設定為非預設值的取樣參數(temperature、top_p、top_k)不被接受,並會回傳 400 錯誤。
網路安全防護措施: Claude Sonnet 5 是第一個具備即時網路安全防護措施的 Sonnet 層級模型。涉及禁止或高風險網路安全主題的請求可能會被拒絕。拒絕會以成功的 HTTP 200 回應回傳,並帶有 stop_reason: "refusal",而非錯誤。背景資訊請參閱防護措施、警告與申訴。
claude-sonnet-4-6 更新為 claude-sonnet-5。max_tokens 限制,並在有用的情況下將其提高至 128k 上限(與 Claude Sonnet 4.6 相同)。thinking: {type: "enabled", budget_tokens: N} 配置(會回傳 400 錯誤)。自適應思考預設啟用;傳入 {type: "disabled"} 可將其關閉,或使用 effort 參數來控制深度。temperature、top_p 和 top_k 參數(它們在 Claude Sonnet 5 上會回傳 400 錯誤)。stop_reason: "refusal" 的處理。max_tokens。如果您要從 Claude Sonnet 4.5 或更早的 Sonnet 模型直接遷移至 Claude Sonnet 5,請套用從 Claude Sonnet 4.6 遷移至 Claude Sonnet 5 的變更,再加上本節中的變更。
Claude Sonnet 5 的 effort 等級預設為 high,而 Sonnet 4.5 則沒有 effort 參數。在遷移時請考慮調整 effort 參數。如果未明確設定,使用預設的 effort 等級可能會導致較高的延遲。
不再支援預填 assistant 訊息
從 Sonnet 4.5 或更早版本遷移時,這是一項破壞性變更。
預填 assistant 訊息在 Claude Sonnet 4.6 及更新的模型(包括 Claude Sonnet 5)上會回傳 400 錯誤。請改用結構化輸出、系統提示指令或 output_config.format。
常見的預填使用案例與遷移方式:
控制輸出格式(強制 JSON/YAML 輸出):使用結構化輸出,或針對分類任務使用帶有 enum 欄位的工具。
消除開場白(移除「以下是...」之類的語句):在系統提示中加入直接指令:「直接回應,不要有開場白。不要以『以下是...』、『根據...』等語句開頭。」
避免不當拒絕: Claude 現在在適當拒絕方面表現得更好。在 user 訊息中使用清晰的提示而不使用預填應該就足夠了。
接續(恢復被中斷的回應):將接續內容移至 user 訊息:「您先前的回應被中斷,結尾為 [previous_response]。請從中斷處繼續。」
上下文補充 / 角色一致性(在長對話中刷新上下文):改為將先前以 assistant 預填形式提供的提醒注入到 user 回合中。
工具參數 JSON 跳脫可能有所不同
從 Sonnet 4.5 或更早版本遷移時,這是一項破壞性變更。
工具參數中的 JSON 字串跳脫可能與先前的模型不同。標準 JSON 解析器會自動處理此問題,但自訂的字串解析可能需要更新。
擴展思考變更: 來自 Claude Sonnet 4.5 的 budget_tokens 配置(thinking: {type: "enabled", budget_tokens: N})在 Claude Sonnet 5 上不受支援,並會回傳 400 錯誤。自適應思考預設啟用,因此大多數工作負載完全不需要 thinking 配置;請使用 effort 參數來控制思考深度。如果您在 Claude Sonnet 4.5 上不使用擴展思考執行,請傳入 thinking: {type: "disabled"} 以保留該行為。
移除取樣參數
從 Claude 3.x 模型遷移時,這是一項破壞性變更。
設定為非預設值的取樣參數(temperature、top_p、top_k)在 Claude Sonnet 5 上會回傳 400 錯誤。請從請求中移除它們,並改用提示來引導模型的行為。
更新工具版本
從 Claude 3.x 模型遷移時,這是一項破壞性變更。
更新至最新的工具版本(text_editor_20250728、code_execution_20260521)。移除任何使用 undo_edit 命令的程式碼。
處理 refusal 停止原因
更新您的應用程式以處理 refusal 停止原因。
針對行為變更更新您的提示
Claude 4 模型具有更簡潔、直接的溝通風格。請查閱提示最佳實務以取得最佳化指引。
Claude Haiku 4.5 和 Claude Sonnet 5 在 API 層面的差異比同一類別中相鄰模型之間的差異更大:Claude Haiku 4.5 使用手動擴展思考(預設關閉)、200k token 上下文視窗,以及最多 64k 輸出 token,而 Claude Sonnet 5 預設啟用自適應思考、預設提供 1M token 上下文視窗,並支援最多 128k 輸出 token。
model = "claude-haiku-4-5-20251001" # Before
model = "claude-sonnet-5" # After思考配置: Claude Haiku 4.5 支援手動擴展思考(thinking: {type: "enabled", budget_tokens: N})並拒絕 thinking: {type: "adaptive"}。在 Claude Sonnet 5 上,支援情況相反:自適應思考預設啟用,而手動擴展思考會回傳 400 錯誤。請移除 thinking: {type: "enabled", budget_tokens: N} 配置並依賴預設值,或傳入 thinking: {type: "disabled"} 來關閉思考。budget_tokens 沒有直接的替代品;請使用 effort 參數來控制思考深度。Effort 在 Claude Haiku 4.5 上不可用,在 Claude Sonnet 5 上預設為 high。
移除取樣參數: temperature 和 top_p 在 Claude Haiku 4.5 上可用(一次只能用一個,不能同時使用)。在 Claude Sonnet 5 上,將 temperature、top_p 或 top_k 設定為非預設值會回傳 400 錯誤。請移除這些參數,並使用提示來引導模型的行為。
移除 assistant 預填: 預填 assistant 訊息在 Claude Haiku 4.5 上可用,但在 Claude Sonnet 5 上會回傳 400 錯誤。請改用結構化輸出、系統提示指令或 output_config.format。
更大的上下文視窗和輸出: Claude Sonnet 5 預設提供 1M token 上下文視窗,高於 Claude Haiku 4.5 的 200k token,並支援最多 128k 輸出 token,高於 64k。Claude Sonnet 5 也使用不同的 tokenizer,因此請重新執行 token 計數,而不是重複使用針對 Claude Haiku 4.5 測量的計數。
定價: Claude Haiku 4.5 的定價為每百萬輸入/輸出 token $1/$5。對於 Claude Sonnet 5,每百萬輸入/輸出 token $2/$10 的推廣定價有效期至 2026 年 8 月 31 日,之後將採用 $3/$15 的標準定價。請參閱 Claude 定價。
網路安全防護措施: Claude Sonnet 5 具備即時網路安全防護措施。涉及禁止或高風險網路安全主題的請求可能會被拒絕,並以成功的 HTTP 200 回應回傳,帶有 stop_reason: "refusal"。背景資訊請參閱防護措施、警告與申訴。
claude-haiku-4-5-20251001(或 claude-haiku-4-5 別名)更新為 claude-sonnet-5。thinking: {type: "enabled", budget_tokens: N} 配置(會回傳 400 錯誤)。自適應思考預設啟用;傳入 thinking: {type: "disabled"} 以保留不使用思考的行為,並針對先前不使用思考執行的工作負載重新檢視 max_tokens。high)來控制思考深度和 token 消耗;它在 Claude Haiku 4.5 上不可用,因此沒有現有設定可以沿用。temperature 和 top_p 設定(非預設值在 Claude Sonnet 5 上會回傳 400 錯誤)。max_tokens 限制,您可以將其提高至 128k 上限。stop_reason: "refusal" 的處理。Claude Haiku 4.5 是最快速且最智慧的 Haiku 模型,具有接近前沿的效能,為互動式應用程式和大量處理提供頂級模型品質。
關於功能的完整概覽,請參閱模型概覽。
關於 Claude Haiku 4.5 的定價,請參閱 Claude 定價。
若要在程式編寫和推理任務上獲得顯著的效能提升,請考慮使用 thinking: {type: "enabled", budget_tokens: N} 啟用擴展思考。
更新您的模型名稱:
# 來自 Haiku 3.5
model = "claude-3-5-haiku-20241022" # Before
model = "claude-haiku-4-5-20251001" # After查看新的速率限制: Haiku 4.5 的速率限制與 Haiku 3.5 分開。詳情請參閱速率限制文件。
探索新功能: 請參閱模型概覽,了解上下文感知、增加的輸出容量(64k token)、更高的智慧以及改進的速度等詳細資訊。
這些破壞性變更適用於從 Claude 3.x Haiku 模型遷移的情況。
更新取樣參數
從 Claude 3.x 模型遷移時,這是一項破壞性變更。
只能使用 temperature 或 top_p 其中之一,不能同時使用。同時設定兩者在 Claude Haiku 4.5 上會回傳 400 錯誤。
更新工具版本
從 Claude 3.x 模型遷移時,這是一項破壞性變更。
更新至最新的工具版本(text_editor_20250728、code_execution_20250825)。移除任何使用 undo_edit 命令的程式碼。
處理 refusal 停止原因
更新您的應用程式以處理 refusal 停止原因。
針對行為變更更新您的提示
Claude 4 模型具有更簡潔、直接的溝通風格。請查閱提示最佳實務以取得最佳化指引。
claude-haiku-4-5-20251001text_editor_20250728、code_execution_20250825);不支援舊版本undo_edit 命令的程式碼(如適用)temperature 或 top_p 其中之一,不能同時使用(同時設定兩者會回傳 400 錯誤)refusal 停止原因Was this page helpful?