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 の後継であり、入力および出力の価格は同じで、キャッシュ読み取りのコストは4分の1です。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 が共有するベースライン設定は次のとおりです。

  • 思考: 適応型思考は常にオンであり、Claude Fable 5 から変更はありません。いつ、どの程度思考するかはモデルが決定します。thinking の設定は不要です。thinking: {type: "disabled"} と手動の「extended thinking」(拡張思考)(thinking: {type: "enabled", budget_tokens: N})はどちらも 400 エラーを返します。
  • プリフィル: アシスタントメッセージのプリフィルは 400 エラーを返します。これは Claude Fable 5 から変更はありません。代わりに「system prompt」(システムプロンプト)の指示を使用してください。
  • ツール選択: {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 のブロックを読み取ることができません。破壊的変更を参照してください。
  • コンテキストウィンドウと出力: デフォルトで 100万トークンの「context window」(コンテキストウィンドウ)、およびリクエストあたり最大 128k の出力トークン。
  • 価格: 入力トークン100万あたり $10 USD、出力トークン100万あたり $50 USD で、Claude Fable 5 と同じです。プロンプトキャッシュ読み取りは100万トークンあたり $0.25 USD で、Claude Fable 5 の料金の4分の1です。Claude の価格を参照してください。
  • データ保持: 両モデルとも30日間のデータ保持が必要であり、Anthropic が明示的に許可しない限りゼロデータ保持(ZDR)契約の下では利用できず、Claude Fable 5 および Claude Mythos 5 と同様に Covered Models に指定されています。Claude API では、30日間の保持が設定されていない組織またはワークスペースからのリクエストは 400 invalid_request_error を返します。ZDR 契約を結んでいる組織は、Anthropic のアカウントチームに連絡するか、ワークスペースごとに保持を設定してください。プラットフォームごとの詳細については、モデル固有のデータ保持要件を参照してください。

2つのモデルが異なる点は次のとおりです。

  • 提供状況: Claude Fable 5.1 はアクセス承認を必要としません。Claude Mythos 5.1 は Project Glasswing の承認済みのお客様のみが利用できます。アクセスについては Anthropic のアカウントチームにお問い合わせください。
  • 安全性分類器: Claude Fable 5.1 は、Claude Fable 5 と同じ stop_details カテゴリをカバーする安全性分類器を実行します。拒否されたリクエストは stop_details.category とともに stop_reason: "refusal" を返し、fallbacks パラメータまたはクライアント側のリトライによって別のモデルにフォールバックできます。拒否とフォールバックを参照してください。
  • Priority Tier: どちらのモデルも Priority Tier ではサポートされていません。Claude Fable 5 はサポートされています。

Claude Fable 5 から Claude Fable 5.1 への移行

移行はほぼドロップインです。API サーフェス、制限、トークンあたりの価格、トークナイザー、常時オンの適応型思考、拒否の処理、および stop_details カテゴリはすべて Claude Fable 5 と一致します。変更点は次のとおりです。強制ツール選択は 400 エラーを返し、思考ブロックはそれを生成したモデルまたはより新しいモデルに対してのみ、かつそれを生成した会話内でのみ保持され、キャッシュ読み取りのコストが下がり、エージェントループの動作が3つの点で異なります。同じ変更が 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、およびトークンカウントエンドポイントに適用されます。

    変更前(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_choiceauto のままにし、指示の中でツール名を指定し、呼び出しがスキーマに一致するように strict: true を設定します。(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" メッセージを履歴に残してください。会話途中のシステムメッセージにベータヘッダーは不要です。ツールを呼び出してはならないターンでは、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 はそのモデルが読み取れないブロックをモデルが見る前に削除し、リクエストは成功し、削除された入力トークンに対しては課金されません。ターゲットモデルはその推論なしで再計画するため、切り替え後の最初のターンでコストとレイテンシが上昇する可能性があります。何が削除されたかを確認するには、thinking-binding-controls-2026-08-01 ベータヘッダーを送信してください。そうすると、レスポンスには削除された各ブロックを reason: "model_binding_mismatch" とともに示す input_transformations 配列が含まれます。保持される思考を参照してください。

  3. 以前のターンを編集すると思考ブロックが無効になります: 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 を設定して適用をオプトインしない限り、それに対して何も行いません。Anthropic は将来のモデルですべてのアカウントにこのチェックを適用する予定ですので、今のうちにアプリケーションを対応させてください。同じパターンによってプロンプトキャッシュがウォームに保たれ、prefix_mismatch_behavior を送信することでどのアカウントからでもチェックに対してテストできます。ユーザーが自分のAPIキーで実行するツールやフレームワークを提供している場合は、リリース前にその方法でテストしてください。あなたのキーはおそらく古いアカウントのものであり、新しいアカウントのユーザーはあなたより先にチェックに遭遇します。自分のアカウントがデフォルトで適用対象かどうかを確認するには、ベータヘッダーなしで履歴を編集するリクエストを送信してください。ヘッダー名を示す 400 が返された場合は適用対象です。

    このエラーはそのリクエストボディに対して永続的です。自動リトライループでは解消されません。失敗する代わりに無効化された推論なしで続行するには、履歴から thinking ブロックを取り除いて一度リトライするか、thinking-binding-controls-2026-08-01 ベータヘッダーを送信して 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 [])}")

    トークンカウントエンドポイントも同じチェックを実行します。レスポンスの形状とストリーミングでの配置については、保持されないブロックの制御(ベータ)を参照してください。

    以降の思考ブロックを無効にするパターンと、代わりに行うべきこと:

    • 以前のターンの編集、並べ替え、または削除。これには、古いツール結果の削除、トランスクリプトの途中からターンを切り取ること、および要約の後ろに最近のターンとその思考ブロックをそのまま保持するクライアント側のコンパクション(数ターン後に要約を差し替えるバックグラウンドコンパクションを含む)が含まれます。代わりに、サーバー側のコンパクションまたはコンテキスト編集(古いツール結果にはツール結果のクリア)、あるいはサーバーでコンテキストをトリミングするにあるクライアント側コンパクションの形状のいずれかを使用してください。
    • 永続化しないコンテンツの挿入。たとえば、tool_result ブロックの後に追加され、次のリクエストで削除されるターンごとのリマインダーなど。代わりに、リマインダーをターンスコープのシステムメッセージとして送信し、履歴に残してください。
    • 同じ会話内のリクエスト間でトップレベルの system プロンプトまたは tools 配列を再構築すること。たとえば、現在の日付を更新したり、ツールを追加または削除したりするため。代わりに、新しい指示(「The current date is 2026-09-14.」)または tool_addition および tool_removal ブロックを含む会話途中のシステムメッセージを追加してください。
    • 以降のリクエストで異なるバイトを返す画像またはドキュメントの URL。チェックは URL 文字列ではなくバイトを対象とするため、同じファイルに対するローテーションする署名付き URL は問題ありません。ターンをまたいで参照するコンテンツについては、Files API で一度アップロードして file_id を送信するか、base64 を送信してください。

    それぞれの代替手段は、以前のターンをバイト単位で同一に保ち、履歴、system プロンプト、または tools 配列を編集すると失われるプロンプトキャッシングのヒットも維持します。

    引き続き機能するパターン:

    • 追加のみの履歴:ターンを追加し、以前のターンを送受信したとおりに正確に渡すこと(追加された role: "system" メッセージを含む)。
    • 以前のアシスタントターンから思考ブロックを古いものから順に削除すること。
    • effortmax_tokens、または systemtoolsmessages 以外のその他のリクエストパラメータを変更すること、および cache_control マーカーを追加または移動すること。
    • サーバー側のコンパクションとコンテキスト編集(思考ブロックのクリアを含む)。チェックは送信されたとおりの会話を比較するため、これらは編集としてカウントされません。

    既存の統合を確認するには:

    1. 通常の数ターンにわたって送信される正確なリクエストボディをキャプチャします。製品にコンパクションやツール変更がある場合はそれらも含めます。連続するリクエストの各ペアについて、system プロンプト、tools 配列、および messages の共有プレフィックスを比較します。新しく追加されたターンまではバイト単位で同一であるべきです。
    2. thinking-binding-controls-2026-08-01 ベータヘッダーと 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 はターンごとに1つのツール呼び出しを発行する場合があります。追加のターンごとにトークン、ラウンドトリップ、および実時間がかかります。各ユーザーメッセージの後に1文のバッチ処理指示をターンスコープのシステムメッセージclear_at: "next_user_message"、ベータ)として追加するか、ベータなしの場合は tool_result ブロックの後のテキストブロックに追加し、以降のリクエストでは以前のコピーを履歴に残してください。エージェントループで独立したツール呼び出しをバッチ処理するを参照してください。

  2. ツール呼び出し間の進捗メッセージの減少: Claude Fable 5.1 は、長いツールシーケンス中に Claude Fable 5 よりも少ないステータス更新を書き込み、エージェント型コーディングの要約も短くなります。インターフェースがこれらの更新をレンダリングする場合は、thinking.display"updates"(ベータ)または "summarized" に設定し、明示的にプロンプトで要求してください。ツール呼び出し間の進捗更新およびユーザー向けの進捗更新を要求するを参照してください。

  3. 低エフォートでの検索および取得呼び出しの減少: low エフォートでは、Claude Fable 5.1 は検索または取得ツールを呼び出す代わりに、Claude Fable 5 よりも頻繁に記憶から回答します。製品が低エフォートでの取得に依存している場合は、それらのリクエストのエフォートを上げるか、いつ検索すべきかをモデルに伝えてください。低エフォートでの検索トリガーを参照してください。

API 統合に影響しない、文章の密度、チャットのフォーマット、要約での引用、およびファイル編集の違いについては、Claude Fable 5 からの変更点を参照してください。

これらの変更は必須ではありませんが、それぞれがコストまたはレイテンシを下げるか、障害モードを取り除きます。

  1. 会話途中でエフォートを変更する(ベータ): Claude Fable 5 では、output_config.effort はリクエストレベルであり、リクエスト間で変更すると以前のターンのキャッシュされたプレフィックスが失われます。claude-fable-5-1 では、output_config のみを含む role: "system" メッセージによって、プロンプトキャッシングを無効にすることなく、難しいステップではエフォートを上げ、定型的なステップでは下げることができます。

    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 ベータヘッダーが必要です。メッセージごとのエフォートを参照してください。

  2. 会話途中のシステムメッセージで指示とツールを変更する: セッションの途中で指示やツールを変更するには、role: "system" メッセージを追加し、ツールの変更には tool_addition および tool_removal ブロックを使用します(ベータヘッダー mid-conversation-tool-changes-2026-07-01、セッション開始時に tools で完全なツールセットを宣言)。これにより、以前のターンのプロンプトキャッシュヒットが維持され、会話履歴が追加のみに保たれます。現在のターンで特定のツールを実行する必要がある場合、同じメッセージが強制 tool_choice の代わりになります(破壊的変更を参照)。1つのターンにのみ適用されるリマインダーについては、clear_at: "next_user_message" を指定した別のテキストのみの role: "system" メッセージとして送信し(ターンスコープのシステムメッセージ、ベータヘッダー mid-conversation-system-clear-at-2026-08-21)、履歴に残してください。次のユーザーメッセージの後はレンダリングされなくなり、クリアされた後はトークンを消費しません。tool_addition または tool_removal ブロックを含むメッセージはターンスコープにできません。

  3. 拒否には fallbacks: "default" を使用する: 引き続き stop_reason: "refusal" を処理し、レスポンスコンテンツの前に stop_details.category を読み取ってください。拒否されたリクエストを別のモデルで自動的に再実行するには、fallbacks: "default" を設定します(ベータ、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 エフォートから始めてスイープする: エフォートパラメータのデフォルトは high であり、5つのレベルすべてがサポートされています。Claude Fable 5 のガイダンスを維持してください。ほとんどの作業には high、テストする価値のあるコスト管理として medium です。Claude Fable 5.1 の Claude Fable 5 に対する向上は xhighmax で最大ですが、これらのレベルは思考時間と最初の応答までの時間も増加させるため、最も能力に敏感なタスクや評価で向上が示される場合にこれらのレベルに引き上げてください。Claude Fable 5 向けに調整された設定を引き継ぐのではなく、独自の評価で新たにスイープを実行してください。Claude Fable 5.1 の推奨エフォートレベルを参照してください。

  5. サーバーでコンテキストをトリミングするか、古い思考を持ち越さない形状でコンパクションする: コードがクライアント側で古いターンを切り捨てたり要約したりしている場合、最も簡単な修正はその作業をサーバー側のコンパクションまたはコンテキスト編集に移すことです。履歴チェックは送信されたとおりの会話を比較するため、どちらも編集としてカウントされず、それらが削除するものは以降の思考ブロックを無効にしません。また、コンパクションの instructions パラメータは独自の要約プロンプトを受け付けます。クライアント側でコンパクションを続ける場合は、3つの形状のいずれかを選択してください。

    • シンプルコンパクション(推奨): 履歴全体を1つの要約メッセージと新しいユーザーターンに置き換え、それ以外は何も再生しません。思考ブロックは持ち越されないため、何も失敗しません。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-01 ベータヘッダーと prefix_mismatch_behavior: "drop_block" を指定してセッションを実行し、input_transformations をログに記録し、すべての prefix_binding_mismatch を修正します。モデル切り替え後の model_binding_mismatch エントリは想定どおりのものです。
  • 会話履歴を追記専用(append-only)に保ちます。セッション開始時に systemtools を固定し、セッション途中の変更は role: "system" メッセージおよび tool_addition / tool_removal ブロックに移します。ターンごとのリマインダーは、決して削除しないターンスコープのシステムメッセージとして送信します。コンテキストのトリミングはサーバー側で行うか、クライアント側の要約をまたいで引き継ぐターンからは思考ブロックを取り除きます。ターンをまたぐファイルは file_id で参照します。
  • 本番用の prefix_mismatch_behavior(デフォルトは "error"、または "drop_block")を選択し、監視してください。他のユーザーが各自のAPIキーで実行するツールを保守している場合は、このフィールドを設定した状態でテストしてください。あなたのアカウントで強制されていなくても、新規アカウントではデフォルトで強制されます。
  • エージェントループで1ターンにつき1回のツール呼び出しになっていないかを確認し、バッチ処理の指示を追加します。
  • インターフェースがツール呼び出し間の進捗テキストを表示する場合は、thinking.display"updates"(ベータ)または "summarized" に設定し、更新を出力するようプロンプトで指示します。
  • リクエスト間でeffortを変更している場合は、キャッシュヒットを維持するために、その変更をメッセージごとのeffortrole: "system" メッセージ(ベータ)に移します。
  • stop_reason: "refusal" を処理し、stop_details.category を読み取ります。fallbacks: "default"(ベータ)の利用を検討してください。
  • high から始めて新たにスイープを行い effort を再評価し、自身のワークロードでコストとレイテンシのベースラインを取り直してください。トークン数はほぼ変わりません。プロンプトキャッシュの読み取りコストはClaude Fable 5の料金の4分の1です。

Claude Opus 5からClaude Fable 5.1への移行

Claude Fable 5.1は、Claude Opus 5と同じMessages APIおよびツール使用のパターンを使用します。デフォルトの1Mトークンのコンテキストウィンドウ128kの最大出力トークン、512トークンのプロンプトキャッシングの最小値、および会話途中のシステムメッセージのサポートを維持しています。プリフィルの制限、サンプリングパラメータの制限、および 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-1 および claude-mythos-5-1 では、アダプティブ思考が常に有効であり、thinking: {type: "disabled"} はどのeffortレベルでも400エラーを返します。このフィールドを削除し、トークン消費はより低いeffortレベルで制御し、思考を無効にして実行していたワークロードについては max_tokens を見直してください。

  2. 強制的なツール選択はサポートされません: Claude Opus 5は tool_choiceanytool を受け付けます。claude-fable-5-1 は400エラーを返します。破壊的変更を参照してください。

  3. モデル間での思考の保持: Claude Fable 5.1はClaude Opus 5の思考ブロックを読み取ります。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 はそれ以降のすべての思考ブロックを拒否または破棄します。トラフィックを切り替える前に、そのセクションの3ステップのチェックを実行してください。破壊的変更を参照してください。

  4. ツール呼び出し間のテキストは思考ブロックで返されます: Claude Opus 5では、モデルがツール呼び出しの間に書くテキストは text ブロックとして返されます。claude-fable-5-1 では、Claude Fable 5と同様に、そのナレーションは各ツール呼び出しの前に1つずつ、進捗更新の thinking ブロックとして返されます。デフォルトの thinking.display である "omitted" では、これらには読み取り可能なテキストが含まれません。インターフェースがそのナレーションを表示する場合は、display: "updates"(ベータ)を設定して推論を非表示のまま進捗更新をテキストとして受け取るか、"summarized" を設定して両方を受け取ってください。そのうえで、tool_use ブロックの間にある空でない thinking ブロックを表示します。ツール呼び出し間の進捗更新を参照してください。

  5. 安全性分類器とフォールバックルーティング: Claude Fable 5.1は、Claude Fable 5と同じ stop_details カテゴリをカバーする安全性分類器を実行します。これはClaude Opus 5のサイバーセキュリティのみの分類器よりも広範なセットです。"bio""reasoning_extraction" など、"cyber" 以外の stop_details.category の値が返されることを想定してください。全セットについては拒否カテゴリの表を参照してください。fallbacks の設定と許可されるターゲットについては、拒否に対して fallbacks: "default" を使用するを参照してください。

  6. 料金: 入力トークン100万あたり10米ドル、出力トークン100万あたり50米ドルです。Claude Opus 5はそれぞれ5米ドルと25米ドルです。プロンプトキャッシュの読み取りは100万トークンあたり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レベルで制御し、max_tokens を見直してください。
  • 強制的な tool_choiceany または tool)を、auto に明示的な指示(user ターンまたは会話途中のシステムメッセージ)と strict: true のツールを組み合わせたもの、またはJSON出力に置き換えます。
  • インターフェースがツール呼び出し間のテキストを表示する場合は、display: "updates"(ベータ)または "summarized" を設定し、空でない thinking ブロックを表示します。
  • Claude Fable 5のチェックリストにある、思考の保持、履歴編集、動作、effort、フォールバックの各項目を適用します。
  • 自身のワークロードでコストのベースラインを取り直してください。トークン数はほぼ変わりません。トークンあたりの料金は異なります。

Claude Opus 4.8以前からClaude Fable 5.1への移行

まず、Claude Opus 4.8からのAPIレベルの変更について、Claude Opus 4.8からClaude Mythos 5およびClaude Fable 5への移行を適用してください。アダプティブ思考、思考出力、拒否、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_choiceany または tool)を、auto に明示的な指示(user ターンまたは会話途中のシステムメッセージ)と strict: true のツールを組み合わせたもの、またはJSON出力に置き換えます。
  • thinking ブロックを変更せずにそのまま返し、そのテキストは表示専用として扱ってください。Claude Fable 5.1はClaude Opus 4.8の思考ブロックを読み取ります。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 では、これらのいずれもそれ以降の思考ブロックを無効にします。
  • stop_reason: "refusal" を処理し、stop_details.category を読み取り、fallbacks: "default"(ベータ)の利用を検討してください。
  • Claude Fable 5のチェックリストにある、思考の保持、履歴編集、動作、メッセージごとのeffort、進捗更新の各項目を適用します。
  • effort を再評価し(high から開始)、512トークンのキャッシングの最小値に近いプロンプトを見直し、コストとレイテンシのベースラインを取り直してください。トークンあたりの料金は異なります。

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エラーを返し、思考ブロックはそれを生成したモデルまたはより新しいモデルに対してのみ保持されます(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_choiceany または tool)を、auto に明示的な指示(user ターンまたは会話途中のシステムメッセージ)と strict: true のツールを組み合わせたもの、またはJSON出力に置き換えます。
  • stop_reason: "refusal" を処理し、レスポンスの内容より先に stop_details.category を読み取ります。拒否とフォールバックを参照してください。
  • 空のものも含め、すべてのターンで thinking ブロックを変更せずにそのまま返し続けてください。
  • コードが messages 配列を自前で構築している場合は、プロンプトキャッシュをウォームに保つために会話履歴を追記専用に保ってください。Claude Mythos 5.1は会話チェックを実行しないため、編集してもその思考ブロックは無効になりません。
  • Claude Fable 5のセクションにある動作の変更と推奨される変更を適用します。ただし、履歴編集の項目はClaude Mythos 5.1には適用されないため除きます。
  • 新たにスイープを行って effort を再評価し、コストとレイテンシのベースラインを取り直してください。プロンプトキャッシュの読み取りコストはClaude Mythos 5の料金の4分の1です。

Was this page helpful?