Claude Fable 5.1 與 Claude Mythos 5.1 遷移指南
透過本遷移指南,從 Claude Fable 5、Claude Mythos 5、Claude Opus 5 或 Claude Opus 4.8 切換至 Claude Fable 5.1 與 Claude Mythos 5.1。啟用 Claude Fable 5.1 與 Claude Mythos 5.1 的指引包含模型 ID、重大變更以及遷移檢查清單。
Claude Fable 5.1 接替 Claude Fable 5,輸入與輸出價格相同,而快取讀取的費用僅為四分之一。它可在 Claude API、Amazon Bedrock、Claude Platform on AWS、Google Cloud 以及 Microsoft Foundry 上使用。Claude Mythos 5.1 具備相同的功能,僅提供給通過 Anthropic 驗證計畫(例如 Cyber Verification Program)驗證的組織使用。關於行為差異與提示模式,請參閱為 Claude Fable 5.1 撰寫提示。
claude-fable-5-1 與 claude-mythos-5-1 共用的基準設定:
- 思考:自適應思考(adaptive thinking)始終開啟,與 Claude Fable 5 相同。模型會自行決定何時思考以及思考多少。不需要任何
thinking設定。thinking: {type: "disabled"}與手動擴展思考(thinking: {type: "enabled", budget_tokens: N})都會回傳 400 錯誤。 - 預填(Prefill):預填助理訊息會回傳 400 錯誤,與 Claude Fable 5 相同。請改用「system prompt」(系統提示)指令。
- 工具選擇(Tool choice):支援
{type: "auto"}(預設值)與{type: "none"}。以{type: "any"}或{type: "tool", name: "..."}強制呼叫工具會回傳 400 錯誤。請參閱重大變更。 - 跨模型保留的思考:Claude Fable 5.1 可讀取來自 Claude Opus 5、Claude Fable 5、Claude Mythos 5 以及更早期 Claude 模型的思考區塊。這些模型皆無法讀取 Claude Fable 5.1 的區塊。請參閱重大變更。
- 上下文視窗與輸出:預設為 1M token 的「context window」(上下文視窗),每次請求最多 128k 輸出 token。
- 定價:每百萬輸入 token 10 美元,每百萬輸出 token 50 美元,與 Claude Fable 5 相同。「prompt caching」(提示快取)讀取為每百萬 token 0.25 美元,是 Claude Fable 5 費率的四分之一。請參閱 Claude 定價。
- 資料保留:兩個模型皆要求 30 天資料保留,除非經 Anthropic 明確授權,否則不適用於零資料保留(ZDR)安排,並且被指定為 Covered Models,與 Claude Fable 5 及 Claude Mythos 5 相同。在 Claude API 上,來自未設定 30 天保留的組織或工作區的請求會回傳 400
invalid_request_error。具有 ZDR 安排的組織應聯繫其 Anthropic 客戶團隊,或依工作區設定保留。各平台的詳細資訊請參閱特定模型的資料保留要求。
兩個模型的差異之處:
- 可用性:Claude Fable 5.1 不需要存取核准。Claude Mythos 5.1 僅提供給通過 Anthropic 驗證計畫(例如 Cyber Verification Program)驗證的組織使用。若要申請存取,請申請涵蓋您使用案例的計畫,或聯繫您的 Anthropic 客戶團隊。
- Priority Tier:兩個模型皆不支援 Priority Tier。Claude Fable 5 則支援。
從 Claude Fable 5 遷移至 Claude Fable 5.1
遷移大致上可直接替換。API 介面、限制、每 token 定價、分詞器(tokenizer)、始終開啟的自適應思考、拒絕處理以及 stop_details 類別都與 Claude Fable 5 相同。變更之處:強制工具選擇會回傳 400 錯誤;只有 Claude Fable 5.1 與 Claude Mythos 5.1 能讀取 Claude Fable 5.1 的思考區塊,且僅限於產生這些區塊的對話中;快取讀取費用更低;以及代理迴圈行為有三方面的差異。相同的變更也適用於 Claude Mythos 5.1,但思考區塊的對話檢查除外,Claude Mythos 5.1 不會執行該檢查。
更新您的模型名稱
model = "claude-fable-5" # Before
model = "claude-fable-5-1" # After
# 或者,若使用 Claude Mythos 5.1(為經驗證的組織提供相同功能):
model = "claude-mythos-5-1" # After重大變更
-
不支援強制工具選擇:Claude Fable 5 接受
tool_choice的auto、none、any與tool。在claude-fable-5-1上,{type: "any"}與{type: "tool", name: "..."}會回傳 400invalid_request_error:tool_choice: type "tool" and "any" are not supported for this model.此檢查適用於 Messages API、Message Batches API 以及 token 計數端點。
之前(Claude Fable 5):
Pythonclient = anthropic.Anthropic() record_summary_tool = { "name": "record_summary", "description": "Record the structured summary of the document.", "input_schema": { "type": "object", "properties": {"summary": {"type": "string"}}, "required": ["summary"], }, } response = client.messages.create( model="claude-fable-5", max_tokens=16000, tools=[record_summary_tool], tool_choice={"type": "tool", "name": "record_summary"}, messages=[{"role": "user", "content": "Summarize: The meeting moved to Thursday."}], ) print(response.content)之後(Claude Fable 5.1):將
tool_choice保留為auto,在指令中指名工具,並設定strict: true使呼叫符合您的結構描述(schema)。(在 CMEK 組織中,結構化輸出(包括strict: true)在 Claude Fable 模型上不可用,請僅依賴指令。)例如:Pythonclient = anthropic.Anthropic() record_summary_tool = { "name": "record_summary", "description": "Record the structured summary of the document.", "strict": True, "input_schema": { "type": "object", "properties": {"summary": {"type": "string"}}, "required": ["summary"], "additionalProperties": False, }, } response = client.messages.create( model="claude-fable-5-1", max_tokens=16000, tools=[record_summary_tool], tool_choice={"type": "auto"}, messages=[ { "role": "user", "content": "Summarize: The meeting moved to Thursday. Call the record_summary tool with your result.", } ], ) print(response.content)請參閱嚴格工具使用與強制工具使用。如果您強制使用工具只是為了取得符合 schema 的 JSON,請改用 JSON 輸出(
output_config.format)。如果是您的應用程式(而非使用者)要求在多輪對話的當前輪次中呼叫特定工具,請在最新的
user輪次之後附加一則對話中途系統訊息。指名該工具,說明本輪次必須呼叫它,並告訴 Claude 以該呼叫開始其回應。由於該訊息是附加的,而非寫入頂層system提示中,先前的輪次保持位元組完全相同,並保留其提示快取命中:Pythonclient = anthropic.Anthropic() search_help_center_tool = { "name": "search_help_center", "description": "Search the help center for policy and troubleshooting articles.", "strict": True, "input_schema": { "type": "object", "properties": {"query": {"type": "string"}}, "required": ["query"], "additionalProperties": False, }, } response = client.messages.create( model="claude-fable-5-1", max_tokens=16000, system="You are a customer support assistant for an online electronics store.", tools=[search_help_center_tool], messages=[ { "role": "user", "content": "My headphones from order A1234 arrived yesterday.", }, { "role": "assistant", "content": "Thanks for confirming. How can I help with order A1234?", }, {"role": "user", "content": "I opened the box. Can I still return them?"}, # 此應用程式要求在回答任何政策相關問題之前, # 必須先查詢說明中心。將此要求以 system message(系統訊息)附加, # 可讓先前的對話輪次保持不變。 { "role": "system", "content": "Tool-use requirement for the current turn: the application requires a call to the search_help_center tool in your response to the user's latest message. Begin your response with the search_help_center tool call. Do not reply with text only.", }, ], ) print(response.content)在後續請求中,請將
role: "system"訊息保留在歷史記錄中,如同任何其他輪次一樣。對話中途系統訊息不需要 beta 標頭。對於不得呼叫工具的輪次,tool_choice: {"type": "none"}仍然有效。 -
只有 Claude Fable 5.1 與 Claude Mythos 5.1 能讀取 Claude Fable 5.1 的思考區塊:每個
thinking區塊都會記錄產生它的模型。Claude Fable 5.1 可讀取自己的區塊,以及來自 Claude Mythos 5.1、Claude Opus 5、Claude Fable 5、Claude Mythos 5 和更早 Claude 模型的區塊。從上述任一模型轉移到claude-fable-5-1的對話會保留其先前的推理。此條件是單向的:除了 Claude Mythos 5.1 之外,這些模型都無法讀取 Claude Fable 5.1 的區塊。在 Claude Fable 5.1 上執行過的對話,可能會透過路由器切換、用戶端重試或分類器拒絕備援(包括伺服器端備援)轉到另一個較舊或較新的模型。API 會在該模型看到之前移除它無法讀取的區塊,請求會成功,且您不會因被捨棄的輸入 token 而被計費。目標模型會在沒有該推理的情況下重新規劃,這可能會提高切換後第一個輪次的成本與「latency」(延遲)。若要查看被捨棄的內容,請傳送
thinking-binding-controls-2026-08-01beta 標頭:回應將帶有一個input_transformations陣列,以reason: "model_binding_mismatch"列出每個被捨棄的區塊。請參閱在對話中途切換模型。 -
編輯先前的輪次會使思考區塊失效:來自 Claude Fable 5.1 的每個
thinking區塊僅對其之前的system提示、tools與對話歷史有效。如果由 Claude Code、claude.ai、Claude Managed Agents 或 Claude Agent SDK 管理您的對話歷史,它已經會保持該前綴完整。如果您的程式碼自行建構messages陣列,則本項目適用於您,而保留的思考是完整的整合指南。在強制執行此檢查的情況下,若在上述任一項變更後將區塊傳回,該請求會以 400 錯誤被拒絕:messages.5.content.0: Invalid `signature` in `thinking` block. The block is bound to a different conversation. Remove the block, or set `thinking.block_binding.prefix_mismatch_behavior` to "drop_block". That setting requires the `thinking-binding-controls-2026-08-01` value in the `anthropic-beta` header.API 會對 2026 年 8 月 31 日當天或之後建立的新帳戶強制執行此檢查。對於較早建立的帳戶,API 會記錄不符情況,但不會採取行動,除非請求設定了
thinking.block_binding.prefix_mismatch_behavior,以選擇加入強制執行。在這些帳戶上,如果您傳送thinking-binding-controls-2026-08-01beta 標頭且未設定該欄位,回應會在input_transformations中以thinking_mismatch_allowed項目列出每個未通過檢查的區塊。無論您的帳戶建立時間為何,都請讓您的應用程式與此檢查相容:相同的模式可以保持提示快取處於暖狀態,而且您可以從任何帳戶傳送prefix_mismatch_behavior來針對此檢查進行測試。如果您發布的工具或框架是讓使用者以自己的「API key」(API 金鑰)執行,請在發布前以這種方式進行測試:您的金鑰很可能屬於較舊的帳戶,而使用新帳戶的使用者會比您更早遇到此檢查。若要確認您自己的帳戶是否預設強制執行,請在不帶 beta 標頭的情況下傳送一個編輯歷史記錄的請求:如果回傳指名該標頭的 400 錯誤,即表示已強制執行。對於該請求主體而言,此錯誤是永久性的:自動重試迴圈無法清除它。若要在沒有失效推理的情況下繼續而非失敗,請從歷史記錄中移除
thinking區塊並重試一次,或傳送thinking-binding-controls-2026-08-01beta 標頭並將prefix_mismatch_behavior設為"drop_block"(預設為"error")。使用"drop_block"時,API 會丟棄不符的區塊以及對話中其後的每個思考區塊,並在回應的input_transformations陣列中以reason: "prefix_binding_mismatch"回報每一個:Pythonclient = anthropic.Anthropic() response = client.beta.messages.create( model="claude-fable-5-1", max_tokens=16000, thinking={ "type": "adaptive", "block_binding": {"prefix_mismatch_behavior": "drop_block"}, }, messages=[ { "role": "user", "content": "What is the greatest common divisor of 1071 and 462?", } ], betas=["thinking-binding-controls-2026-08-01"], ) for block in response.content: if block.type == "text": print(block.text) print(f"Input transformations: {len(response.input_transformations or [])}")token 計數端點執行相同的檢查。關於回應形狀與「streaming」(串流)中的位置,請參閱未保留區塊的控制項(beta)。
會使後續思考區塊失效的模式,以及替代做法:
- 編輯、重新排序或移除較早的輪次。這包括刪除舊的工具結果、從對話記錄中間剪除輪次,以及在摘要後方逐字保留最近輪次及其思考區塊的用戶端「compaction」(壓縮)(包括在幾個輪次後才換入摘要的背景壓縮)。請改用伺服器端壓縮或「context editing」(上下文編輯)(對舊工具結果使用工具結果清除),或使用在伺服器上修剪上下文中的其中一種用戶端壓縮形式。
- 注入您不會保存的內容,例如附加在
tool_result區塊之後、並在下一個請求中移除的每輪提醒。請改為將提醒作為輪次範圍系統訊息傳送,並將其保留在歷史記錄中。 - 在同一對話的請求之間重建頂層
system提示或tools陣列,例如為了更新目前日期,或新增或移除工具。請改為附加一則攜帶新指示(「目前日期是 2026-09-14。」)或tool_addition和tool_removal區塊的對話中途系統訊息。 一開始未在tools中宣告的工具,可以在tool_addition區塊內定義(beta 標頭inline-tools-2026-09-15)。 - 在後續請求中提供不同位元組的圖片或文件 URL。此檢查涵蓋的是位元組,而非 URL 字串,因此同一檔案的輪換簽署 URL 沒有問題。對於跨輪次引用的內容,請使用 Files API 上傳一次並傳送
file_id,或傳送 base64。
每種替代做法也會保持先前輪次位元組完全相同,並保留編輯歷史記錄、
system提示或tools陣列會失去的提示快取命中。持續有效的模式:
- 僅附加的歷史記錄:新增輪次,並將先前的輪次完全按照傳送與接收時的樣子傳回,包括附加的
role: "system"訊息。 - 從先前的助理輪次中移除思考區塊,由最舊的開始。
- 變更
effort、max_tokens或system、tools與messages之外的任何其他請求參數,以及新增或移動cache_control標記。 - 伺服器端壓縮與上下文編輯,包括思考區塊清除。它們不算作編輯,因為此檢查比較的是您所傳送的對話。
檢查現有整合的方法:
- 擷取它在幾個正常輪次中傳送的確切請求主體,如果您的產品有壓縮或工具變更,也請包含在內。對於每一對連續的請求,比較
system提示、tools陣列以及messages的共同前綴。在新附加的輪次之前,它們應該位元組完全相同。一個預期中的例外是換入來自隨需壓縮之已簽署compaction區塊的請求:該區塊會取代messages開頭被其摘要的訊息,而其後的所有內容仍應一致。 - 使用
thinking-binding-controls-2026-08-01beta 標頭和prefix_mismatch_behavior: "drop_block",針對claude-fable-5-1執行一個正常的多輪工作階段,並記錄每個回應的input_transformations。每個輪次都是空陣列,表示歷史記錄完整。帶有reason: "prefix_binding_mismatch"的項目,表示自上一個請求以來,位於path的區塊之前有內容發生了變更。帶有reason: "model_binding_mismatch"的項目,表示對話切換了模型,這並非您程式碼中的錯誤。這在任何帳戶上都有效,因為設定該欄位會讓請求選擇加入強制執行。在 CI 中,請改為設定"error",讓編輯導致執行失敗。 - 選擇正式環境的設定。如果前綴不符只可能代表您程式碼中的錯誤,請保留預設的
"error";或設定"drop_block"以捨棄受影響的區塊而非失敗。無論哪種方式,都請監控 400 錯誤或input_transformations項目。
僅丟棄一次思考區塊(例如在壓縮邊界處)影響甚微。若整合在每個請求上都使先前的思考失效,則每次都會重新啟動提示快取,這可能會提高每項任務的成本(請參閱保持對話歷史僅附加)。
行為變更
-
長代理迴圈中的平行工具呼叫較少:在長時間執行的迴圈中,若下一批獨立讀取僅由任務隱含(自訂程式碼代理、bash 與編輯器框架、電腦使用),Claude Fable 5.1 可能每輪只發出一個工具呼叫。每個額外的輪次都會耗費 token、一次往返以及實際時間。請在每則使用者訊息之後附加一句批次處理指令,作為輪次範圍系統訊息(
clear_at: "next_user_message",beta),或者在沒有 beta 的情況下,放在tool_result區塊之後的文字區塊中,並在後續請求中將先前的副本保留在歷史記錄中。請參閱在代理迴圈中批次處理獨立工具呼叫。 -
工具呼叫之間的進度訊息較少:與 Claude Fable 5 相比,Claude Fable 5.1 在長工具序列期間撰寫的狀態更新較少,其代理式程式碼摘要也較短。如果您的介面會呈現這些更新,請將
thinking.display設為"updates"(beta)或"summarized",並明確提示要求它們。請參閱工具呼叫之間的進度更新與要求面向使用者的進度更新。 -
低 effort 下的搜尋與檢索呼叫較少:在
loweffort 下,Claude Fable 5.1 比 Claude Fable 5 更常憑記憶回答,而非呼叫搜尋或檢索工具。如果您的產品依賴低 effort 下的檢索,請為這些請求提高 effort,或告訴模型何時進行搜尋。請參閱低 effort 下的搜尋觸發。
關於散文密度、聊天格式、摘要中的引用以及檔案編輯方面的差異(這些不影響 API 整合),請參閱相較於 Claude Fable 5 的變更。
建議變更
這些變更並非必要,但每一項都能降低成本或延遲,或消除一種失敗模式:
-
在對話中途變更 effort(beta):在 Claude Fable 5 上,
output_config.effort是請求層級的,在請求之間變更它會丟棄先前輪次的快取前綴。在claude-fable-5-1上,僅攜帶output_config的role: "system"訊息可為困難步驟提高 effort,或為例行步驟降低 effort,而不會使提示快取失效:Pythonclient = anthropic.Anthropic() response = client.beta.messages.create( model="claude-fable-5-1", max_tokens=4096, output_config={"effort": "high"}, messages=[ { "role": "user", "content": "Plan a migration from SQLite to PostgreSQL in three short steps.", }, { "role": "assistant", "content": "1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts.", }, # 僅含 effort 的系統訊息:新等級將自下一個使用者回合起生效。 {"role": "system", "content": [], "output_config": {"effort": "low"}}, {"role": "user", "content": "Summarize the plan in one sentence."}, ], betas=["mid-conversation-output-config-2026-07-01"], ) for block in response.content: if block.type == "text": print(block.text)如此處所示,放在
assistant輪次與下一個user輪次之間時,該訊息會從該user輪次開始生效。直接放在帶有新輸入的user輪次之後時,它會設定 Claude 對該輪次回覆的等級。僅包含工具結果的user輪次不算作新輸入:變更會等到下一個帶有新輸入的user輪次。之後該等級會持續有效,直到另一則role: "system"訊息變更它。僅接受具名等級(low、medium、high、xhigh、max),且需要mid-conversation-output-config-2026-07-01beta 標頭。請參閱每則訊息的 effort。 -
使用對話中途系統訊息變更指示和工具: 若要在工作階段中途變更指示或工具,請附加一則
role: "system"訊息,並使用tool_addition和tool_removal區塊進行工具變更(在 Claude API 上需使用 beta 標頭inline-tools-2026-09-15)。tool_addition區塊可以指名在工作階段開始時於tools中宣告的工具,或攜帶該工具的完整定義,因此在工作階段開始時未知的工具不需要放在tools中。這可保留較早輪次的提示快取命中,並讓對話歷史記錄保持僅附加。較舊的mid-conversation-tool-changes-2026-07-01標頭仍適用於以參照方式指名工具的變更,可在 Claude API、Amazon Bedrock 和 Google Cloud 上使用。當特定工具必須在目前輪次執行時,同樣的訊息可取代強制tool_choice(請參閱重大變更)。對於僅適用於單一輪次的提醒,請將其作為帶有clear_at: "next_user_message"的獨立純文字role: "system"訊息傳送(輪次範圍系統訊息,beta 標頭mid-conversation-system-clear-at-2026-08-21),並將其保留在歷史記錄中:它會在下一則使用者訊息之後停止呈現,清除後不會耗費任何 token。攜帶tool_addition或tool_removal區塊的訊息不能設為輪次範圍。 -
對拒絕使用
fallbacks: "default":請繼續處理stop_reason: "refusal",並在讀取回應內容之前讀取stop_details.category。若要自動在另一個模型上重新執行被拒絕的請求,請設定fallbacks: "default"(beta,server-side-fallback-2026-07-01標頭)。"default"會在 Anthropic 針對該類別建議的模型上重試被拒絕的請求。Claude Fable 5.1 允許的備援目標為 Claude Opus 4.8(claude-opus-4-8)與 Claude Opus 5(claude-opus-5)。明確的fallbacks清單可以指名其中任一個。備援模型不會收到 Claude Fable 5.1 的思考區塊。fallbacks參數在 Amazon Bedrock、Google Cloud 或 Microsoft Foundry 上無法使用。在這些平台上,請改用用戶端備援。如果您自行建構重試,備援抵免的適用條件與 Claude Fable 5 相同。請參閱拒絕與備援。 -
從
higheffort 開始並進行掃描測試:effort 參數的預設值為high,且支援全部五個等級。請保留 Claude Fable 5 的指引:大多數工作使用high,而medium作為值得測試的成本控制手段。Claude Fable 5.1 相較於 Claude Fable 5 的提升在xhigh與max時最大,但這些等級也會增加思考時間與首次回應時間,因此請針對對能力最敏感的任務,以及您的評估顯示有提升之處,才升級至這些等級。請在您自己的評估上執行全新的掃描測試,而非沿用為 Claude Fable 5 調校的設定。請參閱 Claude Fable 5.1 的建議 effort 等級。 -
在伺服器上修剪上下文,或以不攜帶過時思考的形式進行壓縮:如果您的程式碼在用戶端截斷或摘要較舊的輪次,最簡單的修正方式是將這項工作移至伺服器端壓縮或上下文編輯。兩者都不算是編輯,因為歷史記錄檢查比較的是您所傳送的對話,所以它們移除的任何內容都不會使後續的思考區塊失效,而且壓縮的
instructions參數接受您自己的摘要提示。如果您在摘要之後逐字保留最近的輪次,或在對話持續進行時於背景進行摘要,請使用隨需壓縮(beta 標頭compact-2026-09-04),而非用戶端撰寫的摘要。API 會寫入一個已簽署的摘要區塊,您將其放在被摘要的訊息位置。在壓縮與保留思考所述的條件下,您保留的輪次中的思考區塊可以維持有效。如果您將壓縮保留在用戶端,請從以下三種形式中擇一:- 簡單壓縮(建議):以一則摘要訊息加上新的使用者輪次取代整個歷史記錄,不重播任何其他內容。沒有思考區塊被帶過去,因此不會有任何失敗。Claude 模型以此方案在長時程任務上進行訓練,對於大多數工作負載,其表現與更複雜的方案相當。
- 保留尾端壓縮:如果您在摘要之後逐字保留最近的輪次,請從這些輪次中移除
thinking與redacted_thinking區塊(文字與工具呼叫可以保留),或設定prefix_mismatch_behavior: "drop_block"。否則,它們的思考是針對完整歷史記錄產生的,在摘要之後會失敗。 - 背景壓縮:如果您在關鍵路徑之外建構摘要並稍後換入,則在此期間產生的每一輪都攜帶早於換入的思考。請在每個仍攜帶換入前所產生思考區塊的請求上傳送
"drop_block"(或自行移除這些區塊;換入後第一個回應上的input_transformations會精確列出是哪些),或同步進行壓縮。
請勿從對話記錄中間剪除個別輪次:這會使之後的每個思考區塊失效,且沒有任何用戶端形式可以避免。對於您原本要進行的指示變更,請使用對話中途系統訊息;對於選擇性移除,請使用伺服器端上下文編輯。請參閱回傳壓縮區塊。
遷移檢查清單
- 將模型名稱從
claude-fable-5更新為claude-fable-5-1(或從claude-mythos-5更新為claude-mythos-5-1)。 - 取代強制
tool_choice({type: "any"}或{type: "tool", ...})。它會傳回 400 錯誤。請使用{type: "auto"}加上明確指示和strict: true工具,或使用 JSON 輸出。將指示放在user輪次中,或在您的應用程式要求該呼叫時,放在對話中途的role: "system"訊息中。 - 在每個輪次持續原封不動地傳回
thinking區塊,包括空的區塊。Claude Fable 5.1 可讀取來自 Claude Opus 5、Claude Fable 5、Claude Mythos 5 以及更早模型的區塊。將對話從 Claude Fable 5.1 移至 Claude Mythos 5.1 以外的任何模型,都會捨棄其區塊。 - 如果您的程式碼自行建構
messages陣列,請檢查它是否會編輯較早的輪次:使用thinking-binding-controls-2026-08-01beta 標頭和prefix_mismatch_behavior: "drop_block"執行一個工作階段,記錄input_transformations,並修正每個prefix_binding_mismatch。模型切換後出現model_binding_mismatch項目是預期的。 - 保持對話歷史記錄僅附加:在工作階段開始時凍結
system和tools,並將工作階段中途的變更移至role: "system"訊息以及tool_addition/tool_removal區塊;將每輪提醒作為您永不移除的輪次範圍系統訊息傳送;在伺服器端修剪上下文,或從您跨用戶端摘要沿用的任何輪次中移除思考區塊;並透過file_id引用跨輪次檔案。 - 選擇正式環境的
prefix_mismatch_behavior(預設為"error",或"drop_block")並加以監控。如果您維護的工具是讓他人以自己的 API 金鑰執行,請在設定此欄位的情況下進行測試:即使您的帳戶未預設強制執行,新帳戶也會預設強制執行。 - 檢查代理迴圈是否有每輪一個工具呼叫的行為,並加入批次處理指示。
- 如果您的介面會呈現工具呼叫之間的進度文字,請將
thinking.display設定為"updates"(beta)或"summarized",並提示要求更新。 - 如果您在請求之間變更 effort,請將變更移至每則訊息 effort 的
role: "system"訊息(beta),以保留快取命中。 - 處理
stop_reason: "refusal"並讀取stop_details.category。考慮使用fallbacks: "default"(beta)。 - 以新的掃描重新評估
effort,從high開始,並在您自己的工作負載上重新建立成本和延遲基準。tokenizer 未變更。提示快取讀取的成本為 Claude Fable 5 費率的四分之一。
從 Claude Opus 5 遷移至 Claude Fable 5.1
Claude Fable 5.1 使用與 Claude Opus 5 相同的 Messages API 與工具使用模式。它預設保留 1M token 上下文視窗、128k 最大輸出 token、512 token 的提示快取最低門檻,以及對話中途系統訊息支援。預填(prefill)限制、取樣參數限制,以及 thinking.display 的 "omitted" 預設值也同樣沿用。請套用從 Claude Fable 5 遷移至 Claude Fable 5.1 中的所有內容,再加上以下項目。
更新您的模型名稱
model = "claude-opus-5" # Before
model = "claude-fable-5-1" # After
# 或者,若使用 Claude Mythos 5.1(為經驗證的組織提供相同功能):
model = "claude-mythos-5-1" # After變更內容
-
思考無法再被停用: Claude Opus 5 在 effort 等級為
high或更低時接受thinking: {type: "disabled"}。在claude-fable-5-1與claude-mythos-5-1上,自適應思考永遠開啟,且thinking: {type: "disabled"}在任何 effort 等級下都會回傳 400 錯誤。請移除該欄位,以較低的 effort 等級控制 token 花費,並針對原本在停用思考下執行的工作負載重新檢視max_tokens。 -
不支援強制工具選擇: Claude Opus 5 接受
tool_choice的any與tool。claude-fable-5-1會回傳 400 錯誤。請參閱重大變更。 -
跨模型保留的思考: Claude Fable 5.1 可讀取 Claude Opus 5 的 thinking 區塊:從
claude-opus-5移至claude-fable-5-1的對話會保留其推理。Claude Opus 5 無法讀取 Claude Fable 5.1 的區塊。Claude Fable 5.1 的區塊也會在較早輪次變更時失效:如果您的程式碼在請求之間編輯較早的訊息、重建system或tools,或在用戶端進行壓縮,Claude Opus 5 不會有異議,但claude-fable-5-1會拒絕或丟棄之後的每一個 thinking 區塊。在切換流量之前,請執行該章節中的三步驟檢查。請參閱重大變更。 -
工具呼叫之間的文字會以 thinking 區塊回傳: 在 Claude Opus 5 上,模型在工具呼叫之間撰寫的文字會以
text區塊回傳。在claude-fable-5-1上,如同 Claude Fable 5,該敘述會以進度更新thinking區塊回傳,每次工具呼叫前各一個。在thinking.display預設為"omitted"的情況下,它們不含可讀文字。如果您的介面會呈現該敘述,請設定display: "updates"(beta)以文字形式接收進度更新,同時推理保持隱藏;或設定"summarized"以同時接收兩者。然後在tool_use區塊之間呈現非空的thinking區塊。請參閱工具呼叫之間的進度更新。 -
安全分類器與備援路由:Claude Fable 5.1 執行的安全分類器涵蓋與 Claude Fable 5 相同的
stop_details類別,範圍比 Claude Opus 5 的分類器更廣。預期會出現額外的stop_details.category值,例如"bio";完整集合請參閱拒絕類別表。關於fallbacks設定與允許的目標,請參閱對拒絕使用fallbacks: "default"。 -
定價: 每百萬輸入 token 10 美元,每百萬輸出 token 50 美元,相較於 Claude Opus 5 的 5 美元與 25 美元。提示快取讀取為每百萬 token 0.25 美元,為 Claude Opus 5 費率的一半。請參閱 Claude 定價。
-
資料保留: Claude Fable 5.1 與 Claude Mythos 5.1 需要 30 天的資料保留,除非經 Anthropic 明確授權,否則無法在零資料保留(ZDR)安排下使用,且被指定為 Covered Models。Claude Opus 5 可在 ZDR 下使用。請參閱特定模型的資料保留要求。
遷移檢查清單
- 如果您的組織有「zero data retention」(零資料保留),即 ZDR 安排,請先確認資格:除非獲得 Anthropic 明確授權,否則這些模型無法在 ZDR 下使用。請參閱特定模型的資料保留要求。
- 將模型名稱從
claude-opus-5更新為claude-fable-5-1(或claude-mythos-5-1)。 - 移除任何
thinking: {type: "disabled"}設定:它在claude-fable-5-1上會傳回 400 錯誤。請使用較低的 effort 等級來控制 token 用量,並重新檢視max_tokens。 - 將強制的
tool_choice(any或tool)替換為auto加上明確的指示(user輪次或對話中途的系統訊息)以及strict: true工具,或改用 JSON 輸出。 - 如果您的介面會呈現工具呼叫之間的文字,請設定
display: "updates"(beta)或"summarized",並呈現非空的thinking區塊。 - 套用 Claude Fable 5 檢查清單中關於保留思考、歷史編輯、行為、effort 和備援的項目。
- 在您自己的工作負載上重新建立成本基準。「Tokenizer」(分詞器)沒有變更。每個 token 的定價有所不同。
從 Claude Opus 4.8 或更早版本遷移至 Claude Fable 5.1
請依照下方的檢查清單進行。若使用 Claude Opus 4.7 或更早版本,請先從對應的 Claude Opus 5.5 遷移指南章節開始。
更新您的模型名稱
model = "claude-opus-4-8" # Before
model = "claude-fable-5-1" # After
# 或者,若使用 Claude Mythos 5.1(為經驗證的組織提供相同功能):
model = "claude-mythos-5-1" # After遷移檢查清單
- 如果您的組織有零資料保留(ZDR)安排,請先確認資格:除非經 Anthropic 明確授權,否則這些模型無法在 ZDR 下使用。Claude Opus 4.8 可在 ZDR 下使用。
- 將模型名稱從
claude-opus-4-8更新為claude-fable-5-1(或claude-mythos-5-1)。 - 移除任何
thinking: {type: "disabled"}設定並重新檢視max_tokens。沒有thinking欄位的請求會以自適應思考執行。 - 更新依位置讀取內容的回應解析,例如
content[0].text:回應現在可能以thinking區塊開頭,因此請改為依type選取內容區塊。 - 將強制的
tool_choice(any或tool)替換為auto搭配明確的指示(user輪次或對話中途系統訊息)與strict: true工具,或替換為 JSON 輸出。 - 原封不動地傳回
thinking區塊,並將其文字視為僅供顯示。Claude Fable 5.1 可讀取 Claude Opus 4.8 的 thinking 區塊:移至claude-fable-5-1的對話會保留其較早的推理。Claude Opus 4.8 無法讀取 Claude Fable 5.1 的區塊。 - 如果您的程式碼自行建構
messages陣列,請檢查它是否編輯了較早的輪次。為 Claude Opus 4.8 及更早版本撰寫的整合經常會截斷舊輪次、移除或重建較早的訊息,或在每次請求時重新整理system提示,而 Claude Opus 4.8 從未有異議。在claude-fable-5-1上,上述每一項都會使之後的 thinking 區塊失效。 - 處理
stop_reason: "refusal"、讀取stop_details.category,並考慮使用fallbacks: "default"(beta)。 - 套用 Claude Fable 5 檢查清單中的保留思考、歷史編輯、行為、每則訊息 effort 與進度更新項目。
- 重新評估
effort(從high開始),檢視接近 512 token 快取最低門檻(Claude Opus 4.8 上為 1,024 token)的提示,並重新建立成本與延遲基準。每 token 定價不同,且思考 token 以輸出 token 計費,因此在 Claude Opus 4.8 上未使用思考執行的工作負載,每次請求可能會產生更多輸出 token。
從 Claude Mythos 5 遷移至 Claude Mythos 5.1
Claude Mythos 5.1 是 Claude Fable 5.1 的對應版本,適用於透過 Anthropic 驗證計畫(例如 Cyber Verification Program)驗證的組織。在切換模型 ID 之前,請確認您的組織有權存取 Claude Mythos 5.1。
API 層級的差異與從 Claude Fable 5 遷移至 Claude Fable 5.1 相同:強制工具選擇會傳回 400 錯誤,且只有 Claude Mythos 5.1 和 Claude Fable 5.1 能讀取 Claude Mythos 5.1 的思考區塊(Claude Mythos 5.1 可讀取 Claude Mythos 5 的區塊,反之則不行)。與 Claude Fable 5.1 不同,Claude Mythos 5.1 不會執行對話檢查,因此編輯先前的輪次不會使思考區塊失效,但仍會重新啟動提示快取。
更新您的模型名稱
model = "claude-mythos-5" # Before
model = "claude-mythos-5-1" # After遷移檢查清單
- 將模型名稱從
claude-mythos-5更新為claude-mythos-5-1。 - 將強制的
tool_choice(any或tool)替換為auto搭配明確的指示(user輪次或對話中途系統訊息)與strict: true工具,或替換為 JSON 輸出。 - 在處理回應內容之前,先處理
stop_reason: "refusal"並讀取stop_details.category。請參閱拒絕與備援。 - 在每一輪次中持續原封不動地傳回
thinking區塊,包括空的區塊。 - 如果您的程式碼自行建構
messages陣列,請保持對話歷史僅能附加,以維持提示快取處於暖狀態。Claude Mythos 5.1 不執行對話檢查,因此編輯不會使其 thinking 區塊失效。 - 套用 Claude Fable 5 章節中的行為與建議變更,但歷史編輯項目除外,這些項目不適用於 Claude Mythos 5.1。
- 以全新的掃描重新評估
effort,並重新建立成本與延遲基準。提示快取讀取的費用為 Claude Mythos 5 費率的四分之一。
Was this page helpful?