Anthropic 給前沿自主能力貼上了很硬的價格標籤:Claude Fable 5 在 Claude API 上標價為 每百萬輸入 token 10 美元、每百萬輸出 token 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)。這不會讓路由層變得比較沒用。它只會讓路由層更急迫。你的 app 本來就應該知道,如何在不叫醒工程師的情況下,從 Fable 降級到 Opus 或 Sonnet。
這篇指南會建出那一層:預設用 Sonnet,高風險 production 工作用 Opus,只有在長時間執行的 agent 工作、且正確結果的價值高過 token 帳單時,才用 Fable。

路由規則:Fable 是專家,不是預設值
先看一張直白的表。
| Model | API model ID | Input / output price | Use it for |
|---|---|---|---|
| Claude Sonnet 4.6 | claude-sonnet-4-6 | 每 1M token $3 / $15 | 例行寫程式、review、支援、擷取、多數 agents |
| Claude Opus 4.8 | claude-opus-4-8 | 每 1M token $5 / $25 | production 等級程式碼、複雜 reviews、需要判斷力的 agent 步驟 |
| Claude Fable 5 | claude-fable-5 | 每 1M token $10 / $50 | 長時間、高價值、且有實際上行空間的 agent 工作 |
Anthropic 自己的定位也符合這個切分。Sonnet 4.6 被包裝成適合寫程式、agents 與專業工作流程的日常多用途模型,目前在 API beta 中提供 1M-token context window(Anthropic Sonnet)。Opus 4.8 的定位則是嚴肅寫程式、agentic workflows,以及高風險企業任務(Anthropic Opus)。Fable 5 被描述為 Mythos 等級的模型,適合有野心、長時間執行的專案與 agents,能跨階段規劃、委派,並檢查自己的工作(Anthropic Fable)。
這給你一條乾淨的 policy:
- 預設用 Sonnet。 多數 prompts 不值得動用每百萬輸出 50 美元的模型。
- 失敗代價高時升級到 Opus。 想想 schema migrations、security-sensitive PR review、財務分析、多檔案 refactors。
- 只有任務夠大、夠模糊、而且值得更高帳單時才用 Fable。 多天 agent runs、codebase modernization、深度研究包,以及「把這個專案做到完成」這類 workflows。
社群爭論大多集中在第三個桶子。根據被索引的 HN recap,Anthropic 6 月 12 日暫停存取的 HN thread 吸引了超過一千則留言,討論很快分裂成安全、地緣政治,以及到底有沒有人付得起這種價格下的 agentic usage(HN thread、recap reference)。Reddit threads 更直接:開發者抱怨 Claude Code sessions 吃 token、訂閱額度,以及每百萬輸出 50 美元是否把 Fable 推成只有企業才用得起的東西(ClaudeCode discussion、ChatGPT subreddit discussion)。
多數討論少掉的實際答案是:不要爭論一個全域的「最佳模型」。請依預期價值路由。
Step 1: 用 OneHop 當 Drop-In 存取層
如果你想走最短路徑,就用 OneHop 當 provider layer,並讓你的 app code 保持 provider-neutral。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)
這就是整合點。你的路由層應該放在它上面,決定要送出哪個 model string。
OneHop 在這裡的價值,是那種最好的無聊:一個帳號、一個清楚的模型頁面,以及改 base URL 就好,不必重寫你的應用程式。如果 Fable 暫停或不可用,同一個 router 可以把高階任務指向 Opus,讓產品繼續活著。
如果你只是想取得存取與 credits,從這裡開始:Claude Fable 5 on OneHop,然後從免費 10 美元開始。
Step 2: 建一個懂預算的 Router
下面是一個可以直接跑的精簡 Python router。它會估算 request 成本、套用 per-call cap、在 Fable 不可用時 fallback,並讓 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))
重點不是 token estimator。重點是 policy boundary。你的 codebase 需要有一個地方,讓產品明確說出:「這個任務可以花更多錢,因為結果很重要。」

Step 3: 加上符合真實 Agent 行為的 Caps
Agent 成本很尖。一次 chat completion 很容易估價。一個 coding agent 可能會檢查檔案、呼叫工具、重寫、測試、重試、摘要。有個 Reddit thread 聲稱一次 Fable run 在一小時內燒掉數百萬 tokens;把它當軼事就好,但模式本身夠真實:長視野 agents 會透過迴圈放大 token 用量(Reddit)。
加上三種 caps:
- Per-call cap: 如果估算成本超過 request budget,就拒絕或降級。
- Per-task cap: 即使個別 calls 都合法,也要在達到 dollar limit 後停止 agent。
- Per-user 或 per-workspace cap: 防止某個團隊燒掉共用帳號。
在 production 中,把 spend 存在資料庫表格裡,key 用 workspace_id、task_id 與 model。不要只依賴 vendor dashboards。它們是拿來做帳務對帳的,不是即時產品控制。
也要積極使用 prompt caching。Anthropic 表示 Fable 保留既有 prompt caching 的 90% input-token discount,而 Sonnet 與 Opus 頁面也列出 prompt caching 最多可省 90%(Fable、Sonnet、Opus)。快取那些穩定的部分:repo map、coding standards、API docs、schema summaries,以及長篇 product specs。不要快取易變的使用者指令。
一個好的路由層,應該為每次呼叫記錄這些欄位:
{
"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
}
這份 log,就是你回答 CFO、staff engineer,以及那個問 agent 為什麼停下來的使用者時的依據。
Step 4: 把 Fallback 當成產品行為
Fable 有兩種 fallback 需要規劃。
第一種是一般基礎設施 fallback:模型不可用、rate limit、timeout、provider issue。今天的 Fable 狀態證明這件事很重要。Anthropic 表示,其他模型的存取沒有受到 6 月 12 日指令影響(Anthropic),所以一個好的 app 應該能透過 Opus 或 Sonnet 繼續工作。
第二種是 safety fallback。Anthropic 表示,Fable 會把部分被標記的 cybersecurity 與 biology requests 路由到 Opus 4.8,而且使用者不會為被重新路由的 requests 支付 Fable 價格(Anthropic Fable)。Launch post 表示,這些 safeguards 平均在不到 5% 的 sessions 中觸發,並預期會有一些 false positives(Anthropic launch)。
不要對使用者隱藏這件事。如果你的 security-review product 要求 Fable,卻得到 Opus 行為,UI 應該說類似這樣的話:
「這個 request 的被標記部分使用了較安全的 fallback route。結果可能較不完整。預算影響已調整。」
這比假裝每個答案都來自同一個模型好。它也能保護你的 evals。如果你 benchmark Fable,但一半的 test set 觸發 fallback,那你量到的不只是模型,也同時是在量你的 classifier path。

本週該 Ship 什麼
先 ship router,再 ship Fable feature flag。
對大多數開發者產品來說,我建議的預設值很簡單:
- 程式碼解釋、小修、測試、文件: Sonnet 4.6。
- PR review、production bugs、架構選擇: Opus 4.8。
- 有清楚商業回報的多小時或多天 agent 工作: Fable 5 可用時使用,並搭配 Opus fallback。
- 任何無邊界的東西: 使用者設定預算前,不用 Fable。
- 任何會在大量使用者間重複的東西: 快取長 context 或批次處理。
重點不是崇拜頂級模型。重點是把 frontier tokens 花在真的會改變結果的地方。
Fable 5 可能是本週 HN 上大家爭論的模型。Sonnet 仍然是多數 production traffic 應該開始的地方。Opus 是可靠的中間選項。勝出的實作會是一個無聊的 router:有硬上限、誠實 fallback,還有足以同時 debug 品質與成本的 logs。
如果你想用最快路徑測試這套設定,打開 Claude Fable 5 on OneHop、建立帳號,然後從免費 10 美元開始。接著把上面的 router 接進一個 workflow,而不是整個產品。衡量每個被接受結果的成本。那個數字比任何 launch-week benchmark 都重要。