2026年7月27日 検証済み
LangChain と LangGraph で Claude Fable 5 を使う
両 SDK で正式サポートされています。問題を起こすのは、このモデルが登場する前に書いたコードです。
結論
両言語でサポートされています。Python では ChatAnthropic に model として claude-fable-5 を渡し、effort を含む output_config で深さを制御し、エージェントループには task_budget を追加します。JavaScript では @langchain/anthropic を、2026 年 6 月 9 日に追加された Claude 5 系サポートを含むバージョンへ更新してください。そのうえで、チェーン内のすべての temperature 引数を削除してください。このモデルはサンプリングパラメータを明確に拒否します。
サポート状況
完全にサポートされています。2026 年 7 月 27 日検証。Python 側では ChatAnthropic が output_config を公開しており、文書化されたキーは三つです。max・xhigh・high・medium・low を取る effort、通常は with_structured_output 経由で設定する format、そしてエージェントループ向けの助言的なトークン予算である task_budget(現在ベータで langchain-anthropic 1.4.1 以降が必要)です。JavaScript 側では claude-fable-5 と claude-mythos-5 のサポートが 2026 年 6 月 9 日に入りました。この変更で両 ID の既定 max_tokens のファミリマッピングが追加され、Claude 5 系が claude-opus-4-7 と同じサンプリング・thinking 制約に従うよう adaptive-only の呼び出し互換ロジックが拡張され、基盤の Anthropic SDK も更新されました。
セットアップ
バージョン、モデル、effort、予算の順に進めます。
- 1
Fable 5 を認識するバージョンを固定する
Python では、task budget を使うなら langchain-anthropic 1.4.1 以降をインストールし、ANTHROPIC_API_KEY を設定します。JavaScript では、2026 年 6 月の Claude 5 系変更を含む @langchain/anthropic のリリースを使ってください。それ以前のバージョンは adaptive-only のパラメータ処理を適用せず、このモデルが拒否する既定値を送ってしまいます。
- 2
サンプリングパラメータなしでモデルを構築する
model に claude-fable-5、そして明示的な max_tokens を指定して ChatAnthropic を初期化します。temperature・top_p・top_k は渡さないでください。いずれもこのモデルでは 400 を返します。thinking ブロックも渡さないでください。適応的思考は常時有効で、thinking の disabled は拒否されます。
- 3
effort を意図的に設定する
effort を含む output_config を渡すか、ChatAnthropic の最上位の effort 引数を使います。既定は high で、モデルの既定値を明示的に指定することは省略と同等です。プロンプトキャッシュは壊れませんが、リクエスト間で値を変更すると壊れます。
- 4
LangGraph のループには task budget を付ける
output_config に task_budget を追加し、type は tokens、total は実データに基づく値を指定して、task-budgets-2026-03-13 のベータヘッダーを送ります。total の最小値は 20,000 トークンで、下回ると API は 400 を返します。カウントダウンはサーバー側で注入され、モデルはそれに合わせてペース配分します。
落とし穴
Opus で動いていたチェーンがここで動かなくなる四つのパターンです。
task_budget は助言であり、絞りすぎると拒否に見える
この予算はモデルが自らペース配分するためのカウントダウンであり、強制的な上限ではありません。ハードな制限は max_tokens だけで、Claude は進行中の動作を中断するくらいなら少し超過することがあります。さらに厄介なのは、形式上は有効でも長いタスクには小さすぎる予算を与えると、モデルが大幅に範囲を絞ったり早期に停止したりし、ログ上は拒否のように見える点です。予算を追加した直後に想定外の早期終了が出たら、他を調べる前にまず予算を上げてください。
古い @langchain/anthropic は落とすべきパラメータを送る
Fable 5 を追加した JavaScript の変更は、adaptive-only の互換ロジックと既定 max_tokens のマッピングも拡張しました。古いバージョンでもモデル ID 自体は解決するため、インポート時には何も問題が見えません。実際には既定のサンプリングパラメータが送信され 400 が返り、まず自分のコードを疑うことになります。
コピーしたあらゆる LangChain の例に temperature=0 がある
LangChain のコードでは temperature=0 による決定性の確保がほぼ反射的な習慣ですが、Fable 5 では top_p・top_k と同様に 400 になります。チェーン、エージェントのコンストラクタ、設定ファイルを検索してください。代わりにプロンプトで方向づけます。このモデルには補える調整項目がありません。
コスト削減のために thinking を切ることはできない
thinking が任意のモデルでは、無効化は標準的なコスト対策です。Fable 5 では thinking の disabled は 400 を返します。適応的思考は常時有効で、深さの制御は effort のみです。安価な経路で thinking を無効化するルーティング層があるなら、モデル別の分岐が必要です。
コストに関する注意
LangGraph のエージェントでは各ノードが完全なリクエストになるため、1M のコンテキストがノード数だけ掛け算され、予算はそこで消えます。数字を実際に動かすのは三点です。第一に effort が主要な調整項目で、Anthropic 自身「Fable 5 は低い effort でも前世代の xhigh を上回ることが多い」と述べています。high から始め、それ以上が必要と決めつける前に medium を試してください。第二にプロンプトキャッシュはキャッシュ入力の読み取りで 90% を還元しますが、解決された effort 値はプロンプトに描画されるため、ノードごとに effort を変えるとキャッシュが無効になります。第三に task budget は挙動を整えるだけで支出を制限しません。ハードな上限が必要なら、ループ内で使用量を自分で合算して適用してください。
パラメータの決まりを最初から正しく
このモデルが受け付けるパラメータ、400 を返すもの、廃止されたものの代替。API リファレンスにエラー形式まで含めた一覧があります。