Anthropic は、フロンティア級の自律性に明確な値札を付けた。Claude API では、Claude Fable 5 が 入力 100 万トークンあたり $10、出力 100 万トークンあたり $50、一方で Sonnet 4.6 は $3/$15、Opus 4.8 は $5/$25 とされている(Fable、Sonnet、Opus)。この価格差こそが、プロダクト判断のすべてだ。
すべてのコーディングプロンプトを Fable に投げているなら、それは「フロンティア」ではない。設計をサボっているだけだ。
2026 年 6 月 16 日時点では、可用性にもひねりがある。Anthropic の Fable ページによると Fable 5 は現在利用不可で、Anthropic は Fable 5 と Mythos 5 を対象とする米政府指令を受け、6 月 12 日にアクセスを停止したとしている(Anthropic statement)。だからといって、ルーティング層の価値が下がるわけではない。むしろ緊急度は上がる。エンジニアを叩き起こさなくても、アプリは Fable から Opus や Sonnet に自動で縮退できるべきだ。
このガイドでは、その層を作る。デフォルトは Sonnet。重要な本番作業には Opus。Fable は、正しい結果の価値がトークン代を上回る長時間エージェントジョブにだけ使う。

ルーティングルール: Fable は専門家であって、デフォルトではない
まずは単刀直入な表から始める。
| モデル | API モデル ID | 入力 / 出力価格 | 使う場面 |
|---|---|---|---|
| Claude Sonnet 4.6 | claude-sonnet-4-6 | 100 万トークンあたり $3 / $15 | 日常的なコーディング、レビュー、サポート、抽出、大半のエージェント |
| Claude Opus 4.8 | claude-opus-4-8 | 100 万トークンあたり $5 / $25 | 本番品質のコード、複雑なレビュー、判断力が必要なエージェントステップ |
| Claude Fable 5 | claude-fable-5 | 100 万トークンあたり $10 / $50 | 長時間・高価値で、実利が大きいエージェント作業 |
Anthropic 自身の位置づけも、この分け方と一致している。Sonnet 4.6 は、コーディング、エージェント、プロ向けワークフローに使える汎用的な日常モデルとして打ち出されており、現在 API ベータで 100 万トークンのコンテキストウィンドウを持つ(Anthropic Sonnet)。Opus 4.8 は、本格的なコーディング、エージェント型ワークフロー、重要度の高いエンタープライズ業務向けとされている(Anthropic Opus)。Fable 5 は、野心的で長期にわたるプロジェクトや、段階をまたいで計画し、委任し、自分の作業を検証できるエージェント向けの Mythos レベルのモデルと説明されている(Anthropic Fable)。
そこから、明快なポリシーが出てくる。
- デフォルトは Sonnet。 ほとんどのプロンプトに、出力 $50/M のモデルを使う価値はない。
- 失敗が高くつくときだけ Opus に上げる。 スキーマ移行、セキュリティに関わる PR レビュー、財務分析、複数ファイルのリファクタリングを考えればいい。
- タスクが大きく、曖昧で、請求額に見合うときだけ Fable を使う。 数日がかりのエージェント実行、コードベースの近代化、深いリサーチパック、「このプロジェクトを完成まで持っていく」系のワークフローだ。
コミュニティの議論は、ほとんどがこの 3 つ目の箱をめぐっている。Anthropic の 6 月 12 日の停止に関する HN スレッドは、インデックスされた HN 要約によると 1000 件を超えるコメントを集め、議論はすぐに安全性、地政学、そしてこの価格でエージェント利用に手が届くのかという話に割れた(HN thread、recap reference)。Reddit のスレッドはもっと直球だった。開発者たちは、トークンを食い尽くす Claude Code セッション、サブスクリプションの上限、そして $50/M の出力価格が Fable をエンタープライズ専用に押し込むのではないかと不満を述べていた(ClaudeCode discussion、ChatGPT subreddit discussion)。
多くのスレッドで抜け落ちている実務的な答えはこれだ。グローバルに「最高のモデル」を決めようとするな。期待値でルーティングしろ。
Step 1: OneHop を差し替え可能なアクセス層として使う
最短ルートが欲しいなら、OneHop をプロバイダ層として使い、アプリのコードはプロバイダ非依存にしておく。OneHop の Fable ページには anthropic/claude-fable-5 が掲載され、公式価格と OneHop 価格が並び、新規アカウントはカード不要で $10 分無料と書かれている(OneHop Fable 5)。現在のページでは、Anthropic Messages は https://api.onehop.ai/anthropic でサポートされている。Anthropic SDK にはこれを使う。
SDK をインストールする。
pip install anthropic
export ONEHOP_API_KEY="your_key_here"
最小構成の呼び出しはこれだ。
from anthropic import Anthropic
client = Anthropic(
api_key=os.environ["ONEHOP_API_KEY"],
base_url="https://api.onehop.ai/anthropic",
)
message = client.messages.create(
model="anthropic/claude-fable-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Plan a safe Rails 6 to Rails 8 migration."}],
)
print(message.content[0].text)
ここが統合ポイントになる。ルーティング層はこの上に置き、どのモデル文字列を送るかを決めるべきだ。
ここでの OneHop の価値は、良い意味で退屈なところにある。1 つのアカウント、わかりやすいモデルページ、そしてアプリを書き直す代わりに base URL を変えるだけ。Fable が停止中または利用不可でも、同じルーターで上位タスクを Opus に向け、プロダクトを動かし続けられる。
アクセスとクレジットだけ欲しいなら、まずここから始めるといい。Claude Fable 5 on OneHop を開き、その後 start with $10 free へ進む。
Step 2: 予算を意識したルーターを作る
そのまま動かせるコンパクトな Python ルーターを示す。リクエストコストを見積もり、1 回ごとの上限を適用し、Fable が使えない場合はフォールバックし、デフォルトは Sonnet のままにする。
import os
from dataclasses import dataclass
from anthropic import Anthropic, APIError, RateLimitError
PRICES = {
"sonnet": {"model": "claude-sonnet-4-6", "in": 3.00, "out": 15.00},
"opus": {"model": "claude-opus-4-8", "in": 5.00, "out": 25.00},
"fable": {"model": "anthropic/claude-fable-5", "in": 10.00, "out": 50.00},
}
@dataclass
class Task:
kind: str
prompt: str
max_output_tokens: int = 2000
budget_usd: float = 0.25
high_value: bool = False
long_running: bool = False
production_risk: bool = False
def rough_tokens(text: str) -> int:
return max(1, len(text) // 4)
def estimate_cost_usd(model_key: str, input_tokens: int, output_tokens: int) -> float:
price = PRICES[model_key]
return (input_tokens / 1_000_000 * price["in"]) + (output_tokens / 1_000_000 * price["out"])
def choose_model(task: Task) -> str:
if task.high_value and task.long_running:
return "fable"
if task.production_risk or task.kind in {"migration", "security_review", "architecture"}:
return "opus"
return "sonnet"
def route_with_budget(task: Task) -> list[str]:
first = choose_model(task)
fallbacks = {
"fable": ["fable", "opus", "sonnet"],
"opus": ["opus", "sonnet"],
"sonnet": ["sonnet"],
}[first]
input_tokens = rough_tokens(task.prompt)
return [
key for key in fallbacks
if estimate_cost_usd(key, input_tokens, task.max_output_tokens) <= task.budget_usd
] or ["sonnet"]
def run(task: Task) -> str:
client = Anthropic(
api_key=os.environ["ONEHOP_API_KEY"],
base_url="https://api.onehop.ai/anthropic",
)
last_error = None
for key in route_with_budget(task):
try:
response = client.messages.create(
model=PRICES[key]["model"],
max_tokens=task.max_output_tokens,
messages=[{"role": "user", "content": task.prompt}],
)
return response.content[0].text
except (APIError, RateLimitError) as exc:
last_error = exc
continue
raise RuntimeError(f"All model routes failed: {last_error}")
if __name__ == "__main__":
task = Task(
kind="migration",
prompt="Create a step-by-step plan to migrate a 200k-line Django app from 3.2 to 5.x.",
max_output_tokens=3000,
budget_usd=0.20,
production_risk=True,
)
print(run(task))
重要なのはトークン見積もり器ではない。ポリシーの境界だ。コードベースのどこかに、「このタスクは結果が重要だから、より多く使ってよい」とプロダクトが宣言する場所が必要になる。

Step 3: 実際のエージェント挙動に合う上限を入れる
エージェントのコストは跳ねる。チャット補完は価格を見積もりやすい。だがコーディングエージェントは、ファイルを調べ、ツールを呼び、書き換え、テストし、再試行し、要約する。ある Reddit スレッドでは、Fable の実行が 1 時間で数百万トークンを消費したと主張されていた。逸話として扱うべきだが、パターン自体は十分に現実的だ。長期視野のエージェントは、ループによってトークン使用量を増幅する(Reddit)。
3 つの上限を追加する。
- 1 回ごとの上限: 見積もりコストがリクエスト予算を超える場合は拒否するか、下位モデルに落とす。
- タスクごとの上限: 個々の呼び出しが妥当でも、ドル建ての上限に達したらエージェントを止める。
- ユーザーまたはワークスペースごとの上限: 1 つのチームが共有アカウントを燃やし尽くすのを防ぐ。
本番では、workspace_id、task_id、model をキーにしたデータベーステーブルに支出を保存する。ベンダーのダッシュボードだけに頼ってはいけない。あれは請求照合のためのもので、ライブのプロダクト制御ではない。
プロンプトキャッシュも積極的に使う。Anthropic は、Fable が既存の入力トークン 90% 割引のプロンプトキャッシュを維持すると述べており、Sonnet と Opus のページにもプロンプトキャッシュで最大 90% 節約できると記載されている(Fable、Sonnet、Opus)。安定している部分をキャッシュする。リポジトリマップ、コーディング規約、API ドキュメント、スキーマ要約、長いプロダクト仕様などだ。変化しやすいユーザー指示はキャッシュしない。
優れたルーティング層は、呼び出しごとに次のフィールドをログに残すべきだ。
{
"task_kind": "migration",
"chosen_model": "opus",
"fallback_from": "fable",
"estimated_cost_usd": 0.18,
"budget_usd": 0.20,
"input_tokens": 12000,
"max_output_tokens": 3000
}
このログがあれば、CFO、スタッフエンジニア、そして「なぜエージェントが止まったのか」と聞くユーザーに答えられる。
Step 4: フォールバックをプロダクト挙動として扱う
Fable には、計画しておくべきフォールバックが 2 種類ある。
1 つ目は通常のインフラフォールバックだ。モデル利用不可、レート制限、タイムアウト、プロバイダ障害。今日の Fable の状況は、それが重要だと証明している。Anthropic は、6 月 12 日の指令によって他モデルへのアクセスは影響を受けていないとしている(Anthropic)。つまり、良いアプリは Opus や Sonnet を通じて動き続けるべきだ。
2 つ目は安全性フォールバックだ。Anthropic によると、Fable はフラグ付けされた一部のサイバーセキュリティや生物学関連リクエストを Opus 4.8 にルーティングし、再ルーティングされたリクエストには Fable 価格を請求しない(Anthropic Fable)。ローンチ投稿では、これらの安全対策は平均してセッションの 5% 未満で発動し、一定の誤検知も想定されるとしている(Anthropic launch)。
これをユーザーに隠してはいけない。セキュリティレビュー製品が Fable を要求したのに Opus の挙動になったなら、UI はこう伝えるべきだ。
“このリクエストでは、フラグ付けされた部分に対してより安全なフォールバックルートを使用しました。結果はやや網羅性に欠ける可能性があります。予算への影響は調整済みです。”
すべての回答が同じモデルから来たふりをするより、この方がいい。評価も守れる。Fable をベンチマークしているのにテストセットの半分がフォールバックを踏むなら、測っているのはモデルだけではない。分類器の経路も同時に測っている。

今週出荷すべきもの
Fable のフィーチャーフラグを出す前に、ルーターを出荷する。
ほとんどの開発者向けプロダクトでは、私の推奨デフォルトはシンプルだ。
- コード説明、小さな修正、テスト、ドキュメント: Sonnet 4.6。
- PR レビュー、本番バグ、アーキテクチャ判断: Opus 4.8。
- 明確な事業上の見返りがある数時間〜数日のエージェント作業: 利用可能なら Fable 5、Opus フォールバック付き。
- 上限のないもの: ユーザーが予算を設定するまで Fable は使わない。
- 多数のユーザーにまたがって繰り返されるもの: 長いコンテキストをキャッシュするか、バッチ化する。
要点は、最上位モデルを崇拝することではない。結果を変える場所にだけ、フロンティア級トークンを使うことだ。
Fable 5 は、今週 HN で人々が議論するモデルかもしれない。だが本番トラフィックの大半は、まだ Sonnet から始めるべきだ。Opus は信頼できる中間だ。勝つ実装は、ハードな上限、正直なフォールバック、品質とコストの両方をデバッグできるログを備えた、退屈なルーターである。
セットアップを最速で試したいなら、Claude Fable 5 on OneHop を開き、アカウントを作って、start with $10 free する。そのうえで、上のルーターをプロダクト全体ではなく、1 つのワークフローにだけ組み込む。受け入れられた結果 1 件あたりのコストを測る。その数字の方が、ローンチ週のどんなベンチマークより重要だ。