Fable 5またはOpus 5からClaude Fable 5.1への移行:破壊的変更の完全ガイド

Fable 5 または Opus 5 から Claude Fable 5.1 への移行: 強制ツール選択400、一方向思考ブロック、履歴編集チェック、全ての修正、および完全なチェックリスト。

Ashley Goolam

Ashley Goolam

2 9月 2026

Fable 5またはOpus 5からClaude Fable 5.1への移行:破壊的変更の完全ガイド

Apidog エンタープライズ

オンプレミスデプロイ

SSO & RBAC

SOC 2 準拠

Apidog Enterpriseを見る

Claude Fable 5.1への移行は、ほとんどがモデルIDの変更です。APIサーフェス、制限、トークンごとの料金、トークナイザー、常時オンのアダプティブ思考、拒否処理はすべてFable 5と一致します。しかし、Fable 5では発生しなかった3つの変更がエラーを返し、そのうちの1つである履歴編集チェックは、1年間正常に機能していたエージェントハーネスを静かに劣化させる可能性があります。Opus 5からの移行では、さらに4つの項目が追加されます。

このガイドは、Anthropicの移行ガイドClaude Fable 5.1の新機能に基づいて作成された、各項目の正確なエラーテキストと修正方法を、発生順に記したチェックリストです。すべてのスニペットはApidogに貼り付けて、本番環境に到達する前に実際のエンドポイントで実行できます。モデルの概要については、Claude Fable 5.1とは何かから始めてください。

ステップ0: そもそも移行すべきかを確認する

Anthropicのドキュメントによると、Opus 5から始め、Fable 5.1は「高度な推論や長期間にわたるエージェント作業、またはClaude Opus 5での評価で高い労力を費やしてもまだ不十分な場合」に使用すべきだとされています。Opus 5が評価をパスする場合、移行するとトークンごとの料金が2倍になりますが、測定可能な利点はありません。Fable 5を使用している場合、キャッシュ読み取りが安価で、主張されている数値が改善されているため、料金は同じです。したがって、問題はハーネス作業にどれだけの労力がかかるかだけです。Fable 5.1とFable 5の比較およびFable 5.1とOpus 5の比較で、決定について説明されています。

まず、3つの適格性チェック:

ステップ1: モデル名を更新する

model = "claude-fable-5"    # 変更前
model = "claude-opus-5"     # または変更前
model = "claude-fable-5-1"  # 変更後

Amazon BedrockではIDはanthropic.claude-fable-5-1です。Google Cloud、Microsoft Foundry、およびAWS上のClaude Platformではclaude-fable-5-1を使用します。Claude Managed Agentsを使用している場合、これだけが唯一必要な変更です。

破壊的変更1: ツール使用の強制は400を返す

Fable 5はtool_choiceの値としてautononeanytoolを受け入れました。Fable 5.1は、Messages API、Batches API、およびトークンカウントエンドポイントで最後の2つを拒否します。

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

Anthropicの理由:思考は常にオンであり、強制的な呼び出しはそれをスキップするため、モデルはその作業結果をツール引数に書き込むことになります。

変更前 (Fable 5):

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."}],
)

変更後 (Fable 5.1): tool_choiceautoのままにし、指示でツール名を指定し、引数がスキーマと一致するようにstrict: true厳格なツール使用)を設定します。

record_summary_tool["strict"] = True
record_summary_tool["input_schema"]["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."}],
)

意図によって移行します。JSONを取得するためにツールを強制していた場合は、構造化出力(output_config.format)に置き換えます。アプリケーションがこのターンで呼び出しを要求する場合は、最新のユーザーターンの後にツール名を指定し、呼び出しが必須であることを示すrole: "system"メッセージを追加し、その後も履歴に残します。「正確に1つのツール」のためにanyに依存していた場合、disable_parallel_tool_use: trueautoでも機能しますが、現在は最大1回の呼び出しを意味します。ツールが見つからない場合の再試行ループはすべて削除してください。Anthropicによると、Fable 5.1は明示的なツール指示に確実に従います。CMEK組織では、Fableモデルではstrict: trueと構造化出力が利用できないため、指示のみに頼ってください。

破壊的変更2: 以前のモデルはFable 5.1の思考ブロックを読み取れない

すべての思考ブロックは、それを生成したモデルを記録します。Fable 5.1はOpus 5、Fable 5、Mythos 5、およびそれ以前のモデルからのブロックを読み取るため、Fable 5.1に移行する会話は推論を保持します。Mythos 5.1を除いて、他のどのモデルもFable 5.1ブロックを読み取ることはできません。

Fable 5.1の会話が以前のモデルに到達するのは、ルータースイッチ、クライアントサイドの再試行、または分類器拒否のフォールバックによるものです。どの場合でも、APIはモデルが読み取れないブロックを、それらを見る前に破棄します。リクエストは成功し、破棄されたトークンは課金されず、ターゲットモデルは推論なしで再計画するため、切り替え後の最初のターンでコストとレイテンシーが増加します。

コードで修正すべき点はありません。思考ブロックは変更せずに渡し続けてください。自分でブロックを削除すると、署名400がトリガーされる可能性があります。可視性のために、thinking-binding-controls-2026-08-01ベータヘッダーを送信すると、レスポンスにはreason: "model_binding_mismatch"で各破棄されたブロックを名指しするinput_transformations配列が含まれます。

破壊的変更3: 以前のターンを編集すると思考ブロックが無効になる

これは時間を割くべき項目です。Fable 5.1の思考ブロックは、それに先行する正確なsystemプロンプト、tools配列、およびメッセージ履歴に対してのみ有効です(思考の保持)。このチェックが強制される場合、これらのいずれかが変更された後にブロックをリプレイするリクエストは拒否されます。

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.

強制される対象。 2026年8月31日以降に作成されたアカウント。以前のアカウントは不一致を記録しますが、リクエストがthinking.block_binding.prefix_mismatch_behaviorを設定した場合にのみそれに基づいて動作します。Anthropicは将来のモデルがすべてのアカウントに対してこれを強制すると述べています。他のユーザーが自身のAPIキーで実行するツールを出荷する場合、フィールドを設定してテストしてください。新しいアカウントのユーザーは、あなたよりも早く強制されます。Claude Code、claude.ai、Managed Agents、およびAgent SDKはプレフィックスをそのまま保持します。Mythos 5.1は全くチェックを実行しません。

後続のすべてのブロックを無効にするもの: 以前のターンを編集、並べ替え、または削除すること(古いツール結果の削除を含む)。次のリクエストで削除するリクエストごとのテキストを挿入すること。リクエスト間でsystemまたはtoolsを再構築すること。後で異なるバイトを配信する画像URL。ブロックを有効に保つもの: 追加のみの履歴、古い思考ブロックから順に先頭の一連の思考ブロックを削除すること、systemtoolsmessages以外のパラメータを変更すること、cache_controlマーカーを移動すること、およびサーバーサイドの圧縮またはコンテキスト編集。

緊急回避策。 ベータヘッダーを送信し、フィールドを"drop_block"に設定します。

response = client.beta.messages.create(
    model="claude-fable-5-1",
    max_tokens=16000,
    thinking={"type": "adaptive", "block_binding": {"prefix_mismatch_behavior": "drop_block"}},
    betas=["thinking-binding-controls-2026-08-01"],
    messages=history,
)
for t in response.input_transformations or []:
    print(t.path, t.reason)   # prefix_binding_mismatch or model_binding_mismatch

APIは最初の一致しないブロックとそれ以降のすべての思考ブロックを削除し、処理を進め、各削除を報告します。これはそのリクエストにのみ適用されるため、フィールドを送信し続けてください。CIで明示的に"error"を設定し、履歴編集が実行を失敗させるようにします。思考保持ガイドには、3段階の監査と、機能しなくなる圧縮の形態が記載されています。修正テーブル:

あなたが行っていたこと 代わりにこれを行うこと
セッション中にsystemを編集する セッション開始時に固定する。変更が有効になる箇所でrole: "system"メッセージを追加する
セッション中にtoolsを編集する 全てのセットを事前に宣言する。システムメッセージでtool_addition / tool_removalブロックを送信する(ベータ版 mid-conversation-tool-changes-2026-07-01
ターンごとのリマインダーを挿入して削除する 履歴に残る、clear_at: "next_user_message"を持つターンごとのシステムメッセージ(ベータ版 mid-conversation-system-clear-at-2026-08-21
クライアントサイドで古いツール結果を削除する サーバーサイドのコンテキスト編集
クライアントサイドで最近のターンをそのまま保持する圧縮 サーバーサイドの圧縮、または1つの要約メッセージと新しいユーザーターンのみを再生し、他は何も再生しない
ターンをまたいでURLで画像を参照する Files APIに一度アップロードし、file_idを送信する

Opus 5からの移行:さらに4つの項目

Opus 4.8以前からの移行の場合、まずOpus 4.8からOpus 5への移行を適用し、次にこのガイドに従ってください。Opus 4.8用に書かれた統合では、古いターンを切り捨てたり、リクエストごとにシステムプロンプトを再構築したりすることがよくありましたが、Opus 4.8はこれに異議を唱えませんでした。

テストすべき動作変更点

エラーを返すものはなく、それぞれプロンプティングガイドに1行の修正が記載されています。長いループでは、Fable 5が複数のツール呼び出しをバッチ処理していたのに対し、Fable 5.1はターンごとに1つのツール呼び出しを発行する場合があります。複数呼び出しターンの割合を測定し、減少した場合はバッチ処理を促す記述を追加してください。進行状況メッセージの記述が少なくなるため、display: "updates"を設定し、結果を保持するように指示するプロンプト行を削除してください。low努力レベルでは検索ツールの呼び出し頻度が低くなるため、新しいデータが必要なターンでは努力レベルを上げてください。

推奨される変更点

移行チェックリスト

Apidogでチェックリストを実行する

破壊的変更ごとに1つのリクエストを含むコレクションを構築します。強制的なtool_choice呼び出し(上記の400を予期)、thinking: disabled呼び出し(400を予期)、および思考バインディングヘッダーが設定されたターン間でシステムプロンプトを編集する2つのリクエストシーケンス(prefix_binding_mismatchエントリを予期)です。stop_reasonと空のinput_transformations配列に対するアサーションを含む合格バージョンをそれらの隣に追加し、すべてのハーネス変更時にApidog CLIを通じてCIで実行します。構築にはApidogをダウンロードしてください。APIウォークスルーにはリクエストボディが含まれています。

FAQ

ApidogでAPIデザイン中心のアプローチを取る

APIの開発と利用をよりシンプルなことにする方法を発見できる