Claude Platform Docs
模型與定價Claude Fable 5.1

遷移至 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:模型 ID、重大變更與遷移檢查清單。

Claude Fable 5.1 接替 Claude Fable 5,輸入與輸出價格相同,而快取讀取的費用僅為四分之一。它可在 Claude API、Amazon BedrockClaude Platform on AWSGoogle Cloud 以及 Microsoft Foundry 上使用。Claude Mythos 5.1 具備相同的能力,僅提供給 Project Glasswing 中經核准的客戶。關於行為差異與提示模式,請參閱提示 Claude Fable 5.1

claude-fable-5-1claude-mythos-5-1 共用的基準設定:

  • 思考:自適應思考(adaptive thinking)始終開啟,與 Claude Fable 5 相同。模型自行決定何時思考以及思考多少。不需要任何 thinking 設定。thinking: {type: "disabled"} 與手動「extended thinking」(擴展思考)(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 僅提供給 Project Glasswing 中經核准的客戶。請聯繫您的 Anthropic 客戶團隊以取得存取權。
  • **安全分類器:**Claude Fable 5.1 執行的安全分類器涵蓋與 Claude Fable 5 相同的 stop_details 類別。被拒絕的請求會回傳 stop_reason: "refusal" 並附帶 stop_details.category,且可透過 fallbacks 參數或用戶端重試回退至另一個模型。請參閱拒絕與回退
  • **Priority Tier:**兩個模型皆不支援 Priority Tier。Claude Fable 5 則支援。

從 Claude Fable 5 遷移至 Claude Fable 5.1

遷移大致上可直接替換。API 介面、限制、每 token 定價、分詞器(tokenizer)、始終開啟的自適應思考、拒絕處理以及 stop_details 類別皆與 Claude Fable 5 一致。變更之處:強制工具選擇會回傳 400 錯誤;思考區塊僅為產生它們的模型或更新的模型保留,且僅在產生它們的對話中保留;快取讀取費用較低;代理迴圈行為有三處不同。相同的變更也適用於 Claude Mythos 5.1,但思考區塊的對話檢查除外,Claude Mythos 5.1 不執行該檢查。

更新您的模型名稱

model = "claude-fable-5"  # Before
model = "claude-fable-5-1"  # After

# 或者,使用具備相同功能的 Project Glasswing 模型:
model = "claude-mythos-5-1"  # After

重大變更

  1. **不支援強制工具選擇:**Claude Fable 5 接受 tool_choiceautononeanytool。在 claude-fable-5-1 上,{type: "any"}{type: "tool", name: "..."} 會回傳 400 invalid_request_error

    tool_choice: type "tool" and "any" are not supported for this model.

    此檢查適用於 Messages API、Message Batches API 以及 token 計數端點。

    之前(Claude Fable 5):

    client = 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 模型上不可用,請僅依賴指令。)例如:

    client = 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)

    請參閱嚴格工具使用強制工具使用。如果您強制使用工具只是為了取得符合結構描述的 JSON,請改用 JSON 輸出output_config.format)。

    如果是您的應用程式(而非使用者)要求在多輪對話的當前輪次中呼叫特定工具,請在最新的 user 輪次之後附加一則對話中途系統訊息。指名該工具,說明本輪次必須呼叫它,並告訴 Claude 以該呼叫開始其回應。由於該訊息是附加的,而非寫入頂層 system 提示中,先前的輪次保持位元組完全相同,並保留其提示快取命中:

    client = 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?"},
            # 應用程式要求在回答任何政策問題之前,
            # 必須先查詢說明中心。將此要求附加為系統訊息,
            # 可讓先前的對話輪次保持不變。
            {
                "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"} 仍然有效。

  2. **思考區塊僅為產生它們的模型或更新的模型保留:**每個 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 付費。目標模型會在沒有該推理的情況下重新規劃,這可能會提高切換後第一輪的成本與延遲。若要查看被丟棄的內容,請傳送 thinking-binding-controls-2026-08-01 beta 標頭:回應隨後會帶有一個 input_transformations 陣列,以 reason: "model_binding_mismatch" 指名每個被丟棄的區塊。請參閱保留的思考

  3. **編輯先前的輪次會使思考區塊失效:**來自 Claude Fable 5.1 的每個 thinking 區塊僅對其之前的 system 提示、tools 與對話歷史有效。如果由 Claude Code、claude.ai、Claude Managed AgentsClaude 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,這會選擇加入強制執行。Anthropic 計畫在未來的模型上對每個帳戶強制執行此檢查,因此請現在就讓您的應用程式相容:相同的模式可保持提示快取處於暖狀態,而且您可以從任何帳戶透過傳送 prefix_mismatch_behavior 來針對此檢查進行測試。如果您發布的是供他人以自己的「API key」(API 金鑰)執行的工具或框架,請在發布前以這種方式測試:您的金鑰很可能屬於較舊的帳戶,而使用新帳戶的使用者會比您先遇到此檢查。若要查看您自己的帳戶是否預設強制執行,請在不帶 beta 標頭的情況下傳送一個編輯歷史記錄的請求:若回傳指名該標頭的 400 錯誤,即表示已強制執行。

    對於該請求主體而言,此錯誤是永久性的:自動重試迴圈無法清除它。若要在沒有失效推理的情況下繼續而非失敗,請從歷史記錄中移除 thinking 區塊並重試一次,或傳送 thinking-binding-controls-2026-08-01 beta 標頭並將 prefix_mismatch_behavior 設為 "drop_block"(預設為 "error")。使用 "drop_block" 時,API 會丟棄不符的區塊以及對話中其後的每個思考區塊,並在回應的 input_transformations 陣列中以 reason: "prefix_binding_mismatch" 回報每一個:

    client = 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)上下文編輯(針對舊工具結果使用工具結果清除),或在伺服器上修剪上下文中的其中一種用戶端壓縮形狀。
    • 注入您不持久保存的內容,例如附加在 tool_result 區塊之後、並在下一個請求中移除的每輪提醒。請改為將提醒作為輪次範圍系統訊息傳送,並將其保留在歷史記錄中。
    • 在同一對話的請求之間重建頂層 system 提示或 tools 陣列,例如為了更新當前日期或新增、移除工具。請改為附加一則對話中途系統訊息,攜帶新指令(「The current date is 2026-09-14.」)或 tool_additiontool_removal 區塊。
    • 在後續請求中提供不同位元組的圖片或文件 URL。此檢查涵蓋的是位元組而非 URL 字串,因此同一檔案的輪替簽名 URL 沒有問題。對於您跨輪次引用的內容,請使用 Files API 上傳一次並傳送 file_id,或傳送 base64。

    每種替代做法也會保持先前輪次位元組完全相同,並保留編輯歷史記錄、system 提示或 tools 陣列會失去的提示快取命中。

    持續有效的模式:

    • 僅附加的歷史記錄:新增輪次,並將先前的輪次完全按照傳送與接收時的樣子傳回,包括附加的 role: "system" 訊息。
    • 從先前的助理輪次中移除思考區塊,由最舊的開始。
    • 變更 effortmax_tokenssystemtoolsmessages 之外的任何其他請求參數,以及新增或移動 cache_control 標記。
    • 伺服器端壓縮與上下文編輯,包括思考區塊清除。它們不算作編輯,因為此檢查比較的是您所傳送的對話。

    檢查現有整合的方法:

    1. 擷取它在幾個正常輪次中傳送的確切請求主體,如果您的產品有壓縮或工具變更,也請包含在內。對於每一對連續的請求,比較 system 提示、tools 陣列以及 messages 的共用前綴。在新附加的輪次之前,它們應該位元組完全相同。
    2. 使用 thinking-binding-controls-2026-08-01 beta 標頭與 prefix_mismatch_behavior: "drop_block",針對 claude-fable-5-1 執行一個正常的多輪工作階段,並在每個回應上記錄 input_transformations。每一輪皆為空陣列表示歷史記錄完整。帶有 reason: "prefix_binding_mismatch" 的項目表示自上一個請求以來,位於 path 的區塊之前有某些內容發生了變更。帶有 reason: "model_binding_mismatch" 的項目表示對話切換了模型,這不是您程式碼中的錯誤。這在任何帳戶上皆可運作,因為設定該欄位會讓請求選擇加入強制執行。在 CI 中,請改為設定 "error",使編輯導致執行失敗。
    3. 選擇正式環境設定。如果前綴不符只可能代表您程式碼中的錯誤,請保留預設的 "error";或設定 "drop_block" 以丟棄受影響的區塊而非失敗。無論哪種方式,都請監控 400 錯誤或 input_transformations 項目。

    僅丟棄一次思考區塊(例如在壓縮邊界處)影響甚微。若整合在每個請求上都使先前的思考失效,則每次都會重新啟動提示快取,這可能會提高每項任務的成本(請參閱保持對話歷史僅附加)。

行為變更

  1. **長代理迴圈中的平行工具呼叫較少:**在長時間執行的迴圈中,若下一批獨立讀取僅由任務隱含(自訂程式碼代理、bash 與編輯器框架、電腦使用),Claude Fable 5.1 可能每輪只發出一個工具呼叫。每個額外的輪次都會耗費 token、一次往返以及實際時間。請在每則使用者訊息之後附加一句批次處理指令,作為輪次範圍系統訊息clear_at: "next_user_message",beta),或者在沒有 beta 的情況下,放在 tool_result 區塊之後的文字區塊中,並在後續請求中將先前的副本保留在歷史記錄中。請參閱在代理迴圈中批次處理獨立工具呼叫

  2. **工具呼叫之間的進度訊息較少:**與 Claude Fable 5 相比,Claude Fable 5.1 在長工具序列期間撰寫的狀態更新較少,其代理式程式碼摘要也較短。如果您的介面會呈現這些更新,請將 thinking.display 設為 "updates"(beta)或 "summarized",並明確提示要求它們。請參閱工具呼叫之間的進度更新要求面向使用者的進度更新

  3. **低 effort 下的搜尋與檢索呼叫較少:**在 low effort 下,Claude Fable 5.1 比 Claude Fable 5 更常憑記憶回答,而非呼叫搜尋或檢索工具。如果您的產品依賴低 effort 下的檢索,請為這些請求提高 effort,或告訴模型何時進行搜尋。請參閱低 effort 下的搜尋觸發

關於散文密度、聊天格式、摘要中的引用以及檔案編輯方面的差異(這些不影響 API 整合),請參閱相較於 Claude Fable 5 的變更

這些變更並非必要,但每一項都能降低成本或延遲,或消除一種失敗模式:

  1. **在對話中途變更 effort(beta):**在 Claude Fable 5 上,output_config.effort 是請求層級的,在請求之間變更它會丟棄先前輪次的快取前綴。在 claude-fable-5-1 上,僅攜帶 output_configrole: "system" 訊息可為困難步驟提高 effort,或為例行步驟降低 effort,而不會使提示快取失效:

    client = 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)

    該值適用於接下來的使用者輪次以及之後的每一輪,直到另一則 role: "system" 訊息變更它為止。僅接受具名的等級(lowmediumhighxhighmax),且需要 mid-conversation-output-config-2026-07-01 beta 標頭。請參閱每則訊息的 effort

  2. **以對話中途系統訊息變更指令與工具:**若要在工作階段中途變更指令或工具,請附加一則 role: "system" 訊息,工具變更則使用 tool_additiontool_removal 區塊(beta 標頭 mid-conversation-tool-changes-2026-07-01,並在工作階段開始時於 tools 中宣告完整的工具集)。這可保留先前輪次的提示快取命中,並保持對話歷史僅附加。當特定工具必須在當前輪次執行時,相同的訊息可取代強制 tool_choice(請參閱重大變更)。對於僅適用於單一輪次的提醒,請將其作為獨立的純文字 role: "system" 訊息傳送,並帶有 clear_at: "next_user_message"輪次範圍系統訊息,beta 標頭 mid-conversation-system-clear-at-2026-08-21),並將其保留在歷史記錄中:它在下一則使用者訊息之後停止呈現,且一旦清除便不耗費任何 token。攜帶 tool_additiontool_removal 區塊的訊息不能設為輪次範圍。

  3. **對拒絕使用 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 的思考區塊。如果您自行建構重試,回退額度以與 Claude Fable 5 相同的條件適用。請參閱拒絕與回退

  4. high effort 開始並進行掃描測試:effort 參數的預設值為 high,且支援全部五個等級。請保留 Claude Fable 5 的指引:大多數工作使用 high,而 medium 作為值得測試的成本控制手段。Claude Fable 5.1 相較於 Claude Fable 5 的提升在 xhighmax 時最大,但這些等級也會增加思考時間與首次回應時間,因此請針對對能力最敏感的任務,以及您的評估顯示有提升之處,才升級至這些等級。請在您自己的評估上執行全新的掃描測試,而非沿用為 Claude Fable 5 調校的設定。請參閱 Claude Fable 5.1 的建議 effort 等級

  5. **在伺服器上修剪上下文,或以不攜帶過時思考的形狀進行壓縮:**如果您的程式碼在用戶端截斷或摘要較舊的輪次,最簡單的修正方式是將該工作移至伺服器端壓縮上下文編輯。兩者皆不算作編輯,因為歷史記錄檢查比較的是您所傳送的對話,因此它們移除的任何內容都不會使後續思考區塊失效,而且壓縮的 instructions 參數接受您自己的摘要提示。如果您將壓縮保留在用戶端,請從三種形狀中擇一:

    • **簡單壓縮(建議):**以一則摘要訊息加上新的使用者輪次取代整個歷史記錄,不重播任何其他內容。沒有思考區塊被帶過去,因此不會有任何失敗。Claude 模型以此方案在長時程任務上進行訓練,對於大多數工作負載,其表現與更複雜的方案相當。
    • **保留尾端壓縮:**如果您在摘要之後逐字保留最近的輪次,請從這些輪次中移除 thinkingredacted_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-01 beta 標頭與 prefix_mismatch_behavior: "drop_block" 執行一個工作階段,記錄 input_transformations,並修正每一個 prefix_binding_mismatch。模型切換後出現的 model_binding_mismatch 項目屬於預期行為。
  • 保持對話歷史僅能附加(append-only):在工作階段開始時凍結 systemtools,並將工作階段中途的變更移至 role: "system" 訊息與 tool_addition / tool_removal 區塊;將每輪次的提醒以輪次範圍的系統訊息傳送且永不移除;在伺服器端修剪上下文,或從您跨越用戶端摘要所攜帶的任何輪次中移除 thinking 區塊;並以 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 開始,並在您自己的工作負載上重新建立成本與延遲的基準。Token 數量大致不變。提示快取讀取的費用為 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

# 或者,使用具備相同功能的 Project Glasswing 模型:
model = "claude-mythos-5-1"  # After

變更內容

  1. 思考無法再被停用: Claude Opus 5 在 effort 等級為 high 或更低時接受 thinking: {type: "disabled"}。在 claude-fable-5-1claude-mythos-5-1 上,自適應思考永遠開啟,且 thinking: {type: "disabled"} 在任何 effort 等級下都會回傳 400 錯誤。請移除該欄位,以較低的 effort 等級控制 token 花費,並針對原本在停用思考下執行的工作負載重新檢視 max_tokens

  2. 不支援強制工具選擇: Claude Opus 5 接受 tool_choiceanytoolclaude-fable-5-1 會回傳 400 錯誤。請參閱重大變更

  3. 跨模型保留的思考: 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 的區塊也會在較早輪次變更時失效:如果您的程式碼在請求之間編輯較早的訊息、重建 systemtools,或在用戶端進行壓縮,Claude Opus 5 不會有異議,但 claude-fable-5-1 會拒絕或丟棄之後的每一個 thinking 區塊。在切換流量之前,請執行該章節中的三步驟檢查。請參閱重大變更

  4. 工具呼叫之間的文字會以 thinking 區塊回傳: 在 Claude Opus 5 上,模型在工具呼叫之間撰寫的文字會以 text 區塊回傳。在 claude-fable-5-1 上,如同 Claude Fable 5,該敘述會以進度更新 thinking 區塊回傳,每次工具呼叫前各一個。在 thinking.display 預設為 "omitted" 的情況下,它們不含可讀文字。如果您的介面會呈現該敘述,請設定 display: "updates"(beta)以文字形式接收進度更新,同時推理保持隱藏;或設定 "summarized" 以同時接收兩者。然後在 tool_use 區塊之間呈現非空的 thinking 區塊。請參閱工具呼叫之間的進度更新

  5. 安全分類器與備援路由: Claude Fable 5.1 執行的安全分類器涵蓋與 Claude Fable 5 相同的 stop_details 類別,範圍比 Claude Opus 5 僅限網路安全的分類器更廣。請預期 stop_details.category 會出現 "cyber" 以外的值,例如 "bio""reasoning_extraction";完整清單請參閱拒絕類別表。關於 fallbacks 設定與允許的目標,請參閱針對拒絕使用 fallbacks: "default"

  6. 定價: 每百萬輸入 token 10 美元,每百萬輸出 token 50 美元,相較於 Claude Opus 5 的 5 美元與 25 美元。提示快取讀取為每百萬 token 0.25 美元,為 Claude Opus 5 費率的一半。請參閱 Claude 定價

  7. 資料保留: Claude Fable 5.1 與 Claude Mythos 5.1 需要 30 天的資料保留,除非經 Anthropic 明確授權,否則無法在零資料保留(ZDR)安排下使用,且被指定為 Covered Models。Claude Opus 5 可在 ZDR 下使用。請參閱特定模型的資料保留要求

遷移檢查清單

  • 如果您的組織有零資料保留(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_choiceanytool)替換為 auto 搭配明確的指示(user 輪次或對話中途系統訊息)與 strict: true 工具,或替換為 JSON 輸出。
  • 如果您的介面會呈現工具呼叫之間的文字,請設定 display: "updates"(beta)或 "summarized",並呈現非空的 thinking 區塊。
  • 套用 Claude Fable 5 檢查清單中的保留思考、歷史編輯、行為、effort 與備援項目。
  • 在您自己的工作負載上重新建立成本基準。Token 數量大致不變。每 token 定價不同。

從 Claude Opus 4.8 或更早版本遷移至 Claude Fable 5.1

請先套用從 Claude Opus 4.8 遷移至 Claude Mythos 5 與 Claude Fable 5,以處理自 Claude Opus 4.8 以來的 API 層級變更。其涵蓋自適應思考、思考輸出、拒絕、effort、快取最低門檻、定價與資料保留。接著套用從 Claude Fable 5 遷移至 Claude Fable 5.1 中剩餘的差異。若使用 Claude Opus 4.7 或更早版本,請從對應的遷移至 Claude Opus 5 章節開始。

更新您的模型名稱

model = "claude-opus-4-8"  # Before
model = "claude-fable-5-1"  # After

# 或者,使用具備相同功能的 Project Glasswing 模型:
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 欄位的請求會以自適應思考執行。
  • 將強制的 tool_choiceanytool)替換為 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 快取最低門檻的提示,並重新建立成本與延遲基準。每 token 定價不同。

從 Claude Mythos 5 遷移至 Claude Mythos 5.1

Claude Mythos 5.1 是 Claude Fable 5.1 的存取受限對應版本。在切換模型 ID 之前,請先向您的 Anthropic 帳戶團隊確認您組織的存取權限。

API 層級的差異與從 Claude Fable 5 遷移至 Claude Fable 5.1 相同:強制工具選擇會回傳 400 錯誤,且 thinking 區塊僅為產生它們的模型或更新的模型保留(Claude Mythos 5.1 可讀取 Claude Mythos 5 的區塊,反之則否)。與 Claude Fable 5.1 不同,Claude Mythos 5.1 不執行對話檢查,因此編輯較早的輪次不會使 thinking 區塊失效,但仍會重新啟動提示快取。

更新您的模型名稱

model = "claude-mythos-5"  # Before
model = "claude-mythos-5-1"  # After

遷移檢查清單

  • 將模型名稱從 claude-mythos-5 更新為 claude-mythos-5-1
  • 將強制的 tool_choiceanytool)替換為 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?