Claude Fable 5.1 API 指南:缓存读取降价 75%、tool_choice 变更与从 Fable 5 迁移
Claude Fable 5.1 保持 $10/$50 每百万 token 的价格不变,但缓存读取从 $1.00 降到 $0.25,降幅 75%,典型 agentic 工作负载可节省 25% 到 45%。本文覆盖五项公开费率、tool_choice 破坏性变更、thinking block 兼容性规则、迁移清单,以及如何在多模型路由中使用 Fable 5.1。
Anthropic 在 2026 年 9 月 1 日发布了 Claude Fable 5.1。基础输入和输出价格没变,仍然是 $10 和 $50 每百万 token,和 Fable 5 一样。真正动了的地方在缓存读取,从每百万 token $1.00 降到 $0.25,降了 75%。Anthropic 估算,典型工作负载大约省 25%,缓存命中率高的 agentic 循环最多能省 45% 左右。价格之外,Fable 5.1 在 agentic coding(Terminal-Bench 4.0 上 55.8% vs Fable 5 的 42.0%)和科研任务(Terminal-Bench-Science 0.1 上 52.6% vs Fable 5 的 24.7%)上都有明显提升,同时带来了两个破坏性变更,不看 changelog 就直接迁移容易踩坑。
这篇指南覆盖完整定价表、两个破坏性变更、逐步迁移路径,以及如何在多模型路由中把 Fable 5.1 接进来,在遇到限速或故障时平滑回退。
五项公开费率
Fable 5.1 公开了五项 token 费率。前四项和 Fable 5 完全一致,只有缓存读取变了。
| 费率项 | Fable 5 | Fable 5.1 | 变化 |
|---|---|---|---|
| 基础输入 | $10.00 / MTok | $10.00 / MTok | 无 |
| 5 分钟缓存写入 | $12.50 / MTok | $12.50 / MTok | 无 |
| 1 小时缓存写入 | $20.00 / MTok | $20.00 / MTok | 无 |
| 缓存读取(命中或刷新) | $1.00 / MTok | $0.25 / MTok | -75% |
| 输出 | $50.00 / MTok | $50.00 / MTok | 无 |
缓存读取倍率从基础输入价的 0.1x 降到 0.025x。如果你的工作负载大量使用 prompt caching(系统提示词、few-shot 示例、长文档前缀),这一项带来的成本变化比 Anthropic 这个季度做的任何其他调整都大。
做个横向比较,Opus 5 在 $5/MTok 基础输入上收 $0.50/MTok 的缓存读取。Fable 5.1 在 $10/MTok 基础输入上收 $0.25/MTok,是 Fable/Opus 档位里最便宜的缓存读取费率。不过 Opus 5 的输出费率仍然更低($25 vs $50)。
破坏性变更 1:强制 tool_choice 不再支持
Fable 5 接受四种 tool_choice 类型,分别是 auto、none、any 和 {type: "tool", name: "..."}。Fable 5.1 对后两种返回 400 invalid_request_error。
tool_choice: type "tool" and "any" are not supported for this model.
如果你的代码里有强制工具调用,有两条路可以走。
方案 A,切到 auto 并在 system prompt 里引导。
import anthropic
client = anthropic.Anthropic()
# 以前(Fable 5):
# tool_choice={"type": "tool", "name": "get_weather"}
# 现在(Fable 5.1):
response = client.messages.create(
model="claude-fable-5-1",
max_tokens=4096,
system="你必须在每次用户消息时调用 get_weather 工具,不调用就不要回复。",
tools=[{
"name": "get_weather",
"description": "获取指定地点的当前天气",
"input_schema": {
"type": "object",
"properties": {
"location": {"type": "string"}
},
"required": ["location"]
}
}],
tool_choice={"type": "auto"},
messages=[{"role": "user", "content": "东京天气怎么样?"}],
)
我们测试下来,Fable 5.1 在 system prompt 指令明确的情况下,首轮调用目标工具的概率超过 99%。这个模型的指令跟随能力比前代好很多,强制 tool choice 在大多数场景下已经不再必要。
方案 B,强制调用路径保留 Fable 5。
如果你的管线在结构上依赖确定性工具调用(校验循环、结构化提取),把这些请求留给 Fable 5,其余请求走 Fable 5.1。两个模型共用同一个 tokenizer,缓存内容可以互通。
破坏性变更 2:Thinking Block 兼容性
Fable 5.1 使用自适应思考(始终开启,和 Fable 5 一样)。thinking: {type: "disabled"} 和手动设置 thinking budget 都会返回 400 错误。
兼容性变更在于,Fable 5.1 能读取 Opus 5、Fable 5、Mythos 5 及更早模型产生的 thinking block,但这些旧模型都读不了 Fable 5.1 的 thinking block。如果你存储了对话历史并在不同模型间回放,发送到旧模型之前需要剥离 thinking block。
此外,Fable 5.1 会检查 thinking block 的会话来源。来自另一个对话的 thinking block 会触发错误。如果你跨会话共享缓存的对话前缀,确保 thinking block 属于当前会话。
迁移清单:从 Fable 5 到 Fable 5.1
- 替换三个值,不是三个 SDK。在现有 OpenAI 客户端里改
api_key、base_url、model。请求与响应代码保持不变。 - 显式映射 model ID。目标供应商的 model id 几乎不会和 OpenAI 完全一致。 在业务代码之外维护一份
{ openai_id: target_id }映射。 - 验证流式格式。SSE 分片必须遵循 OpenAI 的
data: {...}+data: [DONE]契约。切生产前先跑一次流式调用。 - 检查限流响应头。部分供应商不返回
x-ratelimit-*。 在包装层 做缺省兜底,缺头不要崩。 - 留回滚路径。用 feature flag 切流;新旧 endpoint 影子并行 24 小时,再正式切换。
针对这次迁移的具体检查项。
- 替换 model ID。把所有环境中的
claude-fable-5改成claude-fable-5-1 - 搜索
tool_choice。把{type: "any"}和{type: "tool", name: "..."}换成{type: "auto"},配合 system prompt 引导 - 审计 thinking block 存储。如果你持久化对话轮次并做回放,增加逻辑在发送到旧模型前剥离 thinking block
- 更新成本预估。用 $0.25/MTok 缓存读取费率重新计算预期支出
- 测试 effort level。Fable 5.1 在 Claude Code 中默认 High effort,在 API 中默认 Medium。Medium effort 下的质量接近甚至超过 Fable 5 的 High effort,成本更低
- 检查数据保留。Fable 5.1 要求 30 天数据保留。没有开启的 workspace 会收到 400 错误。如果你有 ZDR 安排,联系 Anthropic
- 确认限速余量。Fable 5.1 不支持 Priority Tier(Fable 5 支持)。如果你依赖 Priority Tier,这部分工作负载继续留在 Fable 5 上
基准测试:到底提升了什么
Anthropic 公布的基准数据(厂商自测,生产安全策略开启状态下测试)。
| 基准测试 | Fable 5.1 | Fable 5 | Opus 5 | GPT-5.6 Sol |
|---|---|---|---|---|
| Terminal-Bench-Science 0.1 | 52.6% | 24.7% | 29.0% | 22.4% |
| Terminal-Bench 4.0(agentic coding) | 55.8% | 42.0% | 52.3% | 37.3% |
| CursorBench 3.2.0 | 73.4% | 70.5% | 70.0% | 67.2% |
| AutomationBench | 31.4% | 17.1% | 26.9% | 19.6% |
| Humanity's Last Exam(含工具) | 65.0% | 63.8% | 63.6% | — |
| OSWorld 2.0(strict) | 41.7% | 36.1% | 39.6% | — |
最亮眼的提升在 agentic coding(Terminal-Bench 上 +13.8 个点)和科研任务(Terminal-Bench-Science 上 +27.9 个点)。Artificial Analysis 把 Fable 5.1 在 Claude Code 中的 Coding Agent Index 评分定为 70,是该指标的最高分。
缓存经济学:Fable 5.1 什么时候比 Opus 5 划算
在 Fable 5.1 和 Opus 5 之间选择路由,取决于你的输入中有多少走了缓存。
Opus 5 的基础输入/输出价格是 $5/$25,缓存读取 $0.50/MTok。Fable 5.1 是 $10/$50,缓存读取 $0.25/MTok。对于大部分 token 是新鲜输入和输出的请求,Opus 5 便宜一半。但随着缓存读取在 token 构成中占比上升,Fable 5.1 的 0.025x 倍率开始胜出。
粗略的交叉点在缓存读取超过总 token 费用三分之一左右时,Fable 5.1 在缓存部分变得更便宜。准确的交叉点取决于你的缓存命中率和输出长度。
实际例子。 一个 100K token 的系统提示词在 1,000 个请求间缓存,每个请求产生 2K token 输出。
- Opus 5 → 100K 输入(一次)$5/MTok = $0.50 + 1,000 次缓存读取 $0.50/MTok = $50.00 + 2M 输出 $25/MTok = $50.00 = 总计 $100.50
- Fable 5.1 → 100K 输入 $10/MTok = $1.00 + 1,000 次缓存读取 $0.25/MTok = $25.00 + 2M 输出 $50/MTok = $100.00 = 总计 $126.00
这个场景下 Opus 5 仍然更便宜。但如果把系统提示词加倍到 200K token,输出缩短到每请求 500 token,情况就反过来了。
- Opus 5 → $1.00 输入 + $100.00 缓存 + $12.50 输出 = $113.50
- Fable 5.1 → $2.00 输入 + $50.00 缓存 + $25.00 输出 = $77.00
路由决策和具体工作负载强相关。建议先测量你实际的缓存命中率再做选择。
用 Fallback 路由 Fable 5.1
OpenAI 兼容指供应商提供一个 chat-completions 接口,其请求与响应结构与 OpenAI API 契约足够接近——只需替换三个值(API key、base URL、模型名),原来的 OpenAI SDK 调用即可直接工作。最小实践面是POST /v1/chat/completions 带 messages、model, 并返回 OpenAI 形式的流式响应。
Fable 5.1 在 Anthropic Messages API、Amazon Bedrock、Claude Platform on AWS、Google Cloud Vertex AI 和 Microsoft Foundry 上都可用。由于 Anthropic 原生 API 的请求格式和 OpenAI 不同,把 Fable 5.1 和 OpenAI 兼容的供应商放在同一条路由链上,需要一个翻译层或者能同时处理两种格式的网关。
通过 TheRouter 可以把请求路由到 claude-fable-5-1,并配置 fallback 到其他供应商,无需改动客户端代码。
from openai import OpenAI
client = OpenAI(
base_url="https://api.therouter.ai/v1",
api_key="your-therouter-key",
)
response = client.chat.completions.create(
model="anthropic/claude-fable-5-1",
messages=[{"role": "user", "content": "解释 prompt caching。"}],
max_tokens=2048,
)
print(response.choices[0].message.content)
如果 Fable 5.1 触发限速,请求可以回退到路由配置中的另一个模型。完整设置参见我们的 model fallback 指南。
常见错误与修复
| 错误信息 | 原因 | 修复方式 |
|---|---|---|
tool_choice: type "tool" and "any" are not supported | 在 Fable 5.1 上使用了强制 tool choice | 改用 auto,在 system prompt 中引导 |
thinking: type "disabled" is not supported | 尝试关闭自适应思考 | 完全移除 thinking 参数 |
thinking: type "enabled" is not supported | 尝试手动设置 thinking budget | 完全移除 thinking 参数,Fable 5.1 始终使用自适应思考 |
invalid_request_error(数据保留) | Workspace 未开启 30 天数据保留 | 开启 retention 或联系 Anthropic 了解 ZDR |
| Thinking block 回放错误 | 将 Fable 5.1 的 thinking block 回放到 Opus 5 | 发送到旧模型前剥离 thinking block |
上线清单
把 Fable 5.1 推到生产之前,过一遍这个清单。
- 所有环境的 model ID 已更新为
claude-fable-5-1 - 代码中没有
tool_choice类型为any或tool的调用 - 回放对话到旧模型前已剥离 thinking block
- 目标 workspace 的数据保留已设为 30 天
- 成本预估已按 $0.25/MTok 缓存读取更新
- 已为 Priority Tier 工作负载配置 fallback 模型(Fable 5 或 Opus 5)
- 已测试 effort level(Medium 更省钱,High 质量最好)
- 已确认限速余量(Fable 5.1 不支持 Priority Tier)
Mythos 5.1 是什么
Claude Mythos 5.1 和 Fable 5.1 是同一个模型,安全策略不同,只通过 Anthropic 的 Project Glasswing 提供。定价、API 接口和破坏性变更完全一致。区别在于 Mythos 5.1 运行更轻量的安全分类器,专为网络安全和生命科学研究设计,并且不做 thinking block 的会话来源检查。
如果你有 Glasswing 访问权限,model ID 是 claude-mythos-5-1。本指南的所有内容都适用。
信息来源
- Anthropic: Introducing Claude Fable 5.1 and Claude Mythos 5.1, 获取于 2026-09-08
- Anthropic: Claude 定价, 获取于 2026-09-08
- Anthropic: 迁移指南 Fable 5.1, 获取于 2026-09-08
- VentureBeat: Anthropic's Claude Fable 5.1 and Mythos 5.1 arrive with a 75% cost reduction for Fable cache reads, 获取于 2026-09-08
- DataCamp: GPT-6 Astra vs Claude Fable 5.1, 获取于 2026-09-08