2026年7月27日 検証済み
Vercel AI SDK で Claude Fable 5 を使う
連携そのものは 3 行です。本番運用の成否は、第四の結果、つまり回答でもエラーでもない「拒否」をどう扱うかにかかっています。
結論
どちらの経路でもサポートされています。プロバイダパッケージでは anthropic('claude-fable-5')、AI Gateway では文字列 'anthropic/claude-fable-5' を使います。effort は providerOptions.anthropic の下に指定します。そのうえでフォールバックを必ず設定してください。プロバイダなら fallbacks: 'default'、ゲートウェイなら providerOptions.gateway の models 配列です。安全性による拒否は例外ではなく、stop_reason が refusal の成功レスポンスとして返るためです。
サポート状況
両経路とも完全にサポートされています。2026 年 7 月 27 日検証。Anthropic プロバイダパッケージは claude-fable-5 と同時に fallbacks の API パラメータを追加し、プロバイダのドキュメントは effort の五段階(low・medium・high・xhigh・max)を掲載し、xhigh は Claude 5 系と近年の Opus モデルで利用可能と記しています。AI Gateway も同じモデル文字列で Fable 5 を追加し、Anthropic・Bedrock・Vertex をまたぐ統一的な可観測性とフェイルオーバーを提供します。価格はプロバイダを反映して上乗せがなく、BYOK リクエストを含め推論にプラットフォーム手数料もかかりません。
セットアップ
インストール、モデル指定、effort 設定、そして拒否時の挙動の決定。
- 1
インストールと認証
ai と @ai-sdk/anthropic をインストールし、直接接続の場合は ANTHROPIC_API_KEY を設定します。AI Gateway では AI_GATEWAY_API_KEY で認証するか、Vercel 上へのデプロイ時は Vercel の OIDC トークンを利用すれば、環境にキーを置かずに済みます。
- 2
経路に応じたモデル指定
直接接続では model に anthropic('claude-fable-5') を渡します。ゲートウェイでは文字列 'anthropic/claude-fable-5' を渡します。ゲートウェイの文字列形式は AI SDK・Chat Completions・Responses・Messages のいずれの API 形式でも同じように機能するため、新規ではなく既存クライアントを移行する場合に重要です。
- 3
providerOptions で effort を設定する
providerOptions に effort を持つ anthropic オブジェクトを追加し、型は AnthropicLanguageModelOptions を指定します。こうすればタイプミスが既定値への無言の後退ではなくコンパイルエラーになります。generateText や streamText の最上位で temperature・topP・topK を設定しないでください。このモデルはサンプリングパラメータを拒否します。
- 4
本番投入前にフォールバックを設定する
直接接続では fallbacks に 'default' を設定して Anthropic 推奨のフォールバックモデルを使うか、配列で自分の指定を並べます。AI Gateway では providerOptions.gateway の下に models 配列を追加し、Opus 4.8、続いて Sonnet 5 のように再試行先を列挙します。ゲートウェイのフォールバックは同社が提供するすべての API 形式で機能します。
落とし穴
一つ目こそが、このページが存在する理由です。
古いプロバイダはフォールバック応答自体を拒否する
@ai-sdk/anthropic 3.0.71 では、type が fallback_message の usage iteration 項目をプロバイダが拒否し、型検証エラーでターン全体が失敗するという報告があります。つまり古いプロバイダでフォールバックを有効にすると、本来フォールバックが救うはずのリクエストを壊しかねません。フォールバックを有効化するときは同時にプロバイダを更新してください。
拒否は成功レスポンスである
Fable 5 の安全性分類器はリクエストを拒否することがあり、通常のコーディングやデバッグ作業でも稀に誤検知が起こります。拒否は stop_reason が refusal の成功レスポンスとして返り、どの分類器が拒否したかも報告されます。try/catch は発火せず、エラー監視も静かなまま、ユーザーには空か曖昧な回答が届きます。stop reason で明示的に分岐してください。
スターターテンプレートは temperature を設定している
temperature は generateText と streamText の最上位オプションで、多くの AI SDK の例に登場します。Fable 5 は topP・topK とともにこれを拒否します。providerOptions の中ではなく最上位にあるため、Anthropic 固有の設定を点検する際に見落としがちです。
長時間タスクとサーバーレスのタイムアウト
このモデルは長時間の作業向けに設計されており、high effort のターン一つでサーバーレス関数の既定実行時間を超えることがあります。バッファリングではなくストリーミングを使い、ルートの maxDuration を引き上げ、クライアントが再接続に耐えられるようにしてください。サーバー側でタイムアウトしたターンでも、生成済みトークンは課金されます。
コストに関する注意
AI Gateway はプロバイダ価格をそのまま反映して上乗せがなく、推論にプラットフォーム手数料もかからないため、フェイルオーバーと使用状況レポートをコスト中立で得られます。BYOK リクエストも同様です。それ以外では effort が主要な調整項目で、フォールバックが主要な想定外です。Fable 5 が拒否し Opus 4.8 が回答したリクエストは Opus 料金で課金されるため、拒否率が無視できないワークロードでは混合コストを仮定せず実測してください。RAG 型のアプリケーションでは、検索したコンテキストが毎回入力トークンになるため、1M のコンテキストウィンドウが静かに請求を支配します。
拒否がユーザーに届く前に処理する
何が拒否を引き起こすのか、レスポンスはどう見えるのか、サーバー側とクライアント側のフォールバックの違いは何か。すべて一箇所にまとめています。