Claude Fable 5 开发者迁移指南:新模型 ID、Refusal 语义和 Adaptive Thinking 全拆解

Claude Fable 5 于 2026 年 6 月 9 日正式 GA,它引入了三个 API 层面的破坏性变更:Refusal 以 HTTP 200 + stop_reason: "refusal" 返回、Adaptive Thinking 默认开启且无法关闭、以及新的 effort 参数替代 thinking 深度控制。本文逐条拆解这些变更,并给出可复用的迁移检查清单。

阅读时长: 5 分钟
共 2191字
作者: longlikun

2026 年 6 月 9 日,Anthropic 发布 Claude Fable 5——目前公开可用的最强 Claude 模型,性能对标此前仅限邀请的 Claude Mythos Preview,定价低于其一半。

它不只是换了个更聪明的大脑。Fable 5 在 API 层面引入了三个你必须主动处理的破坏性变更:

  1. 安全分类器导致的拒绝(Refusal) 以 HTTP 200 而非 4xx 返回
  2. Adaptive Thinking 强制开启thinking: {type: "disabled"} 会报错
  3. 新的 effort 参数 替代了控制推理深度的旧方式

如果你的代码只是把模型 ID 从 claude-opus-4-8 改成 claude-fable-5 就跑,你的错误处理逻辑大概率会漏掉拒绝响应,或者在测试环境里因为 thinking: disabled 参数直接报错。

本文把这三个变更逐一拆清楚,并给出可以照着检查的迁移清单。

基本信息

模型 API model ID 定位
Claude Fable 5 claude-fable-5 公开可用的最强模型,面向高要求推理与长流程 Agent
Claude Mythos 5 claude-mythos-5 与 Fable 5 同等能力,不含安全分类器;仅限 Project Glasswing 邀请用户

两者共享同一套规格:

  • 上下文窗口:默认 100 万 token
  • 最大输出:每次请求 128k token
  • 定价:输入 $10 / 百万 token,输出 $50 / 百万 token

对比:Claude Opus 4.8 的定价是输入 $5、输出 $25。Fable 5 贵一倍,换来的是明显更强的推理能力和 Agent 执行能力。

在 2026 年 6 月 22 日之前,Pro、Max、Team 和 Enterprise 席位制订阅均可免费使用 Fable 5,不额外计费。

可用平台:Claude API、Claude Platform on AWS、Amazon Bedrock、Vertex AI、Microsoft Foundry。


变更一:Refusal 以 HTTP 200 返回

这是最容易踩坑的一个。

Claude Fable 5 内置了安全分类器,会在以下四类领域拒绝请求:

  • 网络安全漏洞利用代码
  • 生物病原体信息
  • 化学品合成路径
  • 蒸馏(尝试提取模型权重)

但拒绝不以 HTTP 4xx 或 5xx 返回,而是 HTTP 200,stop_reason"refusal"

原本你的错误处理可能是:

try:
    response = client.messages.create(...)
except anthropic.APIStatusError as e:
    handle_error(e)

这在 Fable 5 上不能捕获拒绝。你需要显式检查 stop_reason

response = client.messages.create(
    model="claude-fable-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": prompt}]
)

if response.stop_reason == "refusal":
    classifier = response.stop_sequence  # 包含触发的分类器名称
    handle_refusal(classifier)
else:
    process_response(response)

响应体里还包含触发了哪个分类器的信息,可以用于日志和告警。

Fallback:拒绝后怎么重试

Fable 5 拒绝的请求,通常可以被其他 Claude 模型处理。有三种 fallback 方式:

① 服务端 fallback(Claude API 和 Claude Platform on AWS 处于 Beta)

在请求里传 fallbacks 参数,API 自动重试:

response = client.messages.create(
    model="claude-fable-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": prompt}],
    fallbacks=["claude-opus-4-8"]  # beta 参数
)

② 客户端 SDK Middleware

TypeScript、Python、Go、Java、C# 的 SDK 都内置了 middleware 接口,可以在客户端捕获 refusal 后自动切换模型重试。

③ 手动重试

自己写 if stop_reason == "refusal": retry_with(other_model) 的逻辑,适用于任何平台和语言。

Billing 细节

被拒绝的请求在生成任何输出前拒绝的,不计费。如果你 fallback 到另一个模型,Anthropic 会退还 prompt-cache 部分的费用,避免你为切换模型支付两次缓存写入成本。


变更二:Adaptive Thinking 强制开启

Claude Fable 5 只有一种 thinking 模式:Adaptive Thinking,且无法关闭。

如果你的代码里有:

thinking={"type": "disabled"}

直接改成 Fable 5 会报错。你需要删掉这行,或者改成不传 thinking 参数(默认即为 adaptive)。

effort 控制推理深度

原来通过 thinking 参数控制推理深度的方式,在 Fable 5 上改为 effort 参数,有五个档位:

effort 值 含义
low 最快,最省 token
medium 均衡
high 默认值
xhigh 更深入的推理
max 最大推理深度,最贵

示例:

response = client.messages.create(
    model="claude-fable-5",
    max_tokens=4096,
    messages=[{"role": "user", "content": "分析这段代码的时间复杂度:..."}],
    effort="xhigh"
)

Thinking 输出格式变了

Fable 5 永远不返回原始推理链(raw chain of thought)。thinking.display 参数控制 thinking block 的内容:

  • "summarized":返回可读的推理摘要
  • "omitted"(默认):返回空 thinking block
response = client.messages.create(
    model="claude-fable-5",
    max_tokens=4096,
    thinking={"display": "summarized"},  # 如果需要推理摘要
    messages=[{"role": "user", "content": prompt}]
)

在多轮对话里,把 thinking block 原样回传即可(不要解析或修改)。跨模型切换时需要特别处理——参见官方文档的 cross-model handling 指引。


支持的功能

Fable 5 在上线时支持以下功能(与 Opus 4.8 有所不同):

功能 状态
Effort 参数
Task budgets ✅ Beta(需要传 task-budgets-2026-03-13 header)
Memory tool
Code execution
Programmatic tool calling
Tool result clearing(context editing) ✅ Beta(需要传 context-management-2025-06-27 header)
Compaction
Vision

不支持thinking: {type: "disabled"}(会报错)、零数据保留(ZDR)。Fable 5 和 Mythos 5 均按 30 天数据留存,不在 ZDR 范围内。


数据留存说明

Fable 5 和 Mythos 5 均为 30 天数据留存,不支持零数据留存(ZDR)。两者都被列为 Covered Models,如果你的合规需求要求 ZDR,需要在迁移前确认。


迁移检查清单

从 Opus 4.8 或 Mythos Preview 迁移到 Fable 5,检查以下四项:

  • 把模型 ID 改为 claude-fable-5
  • 删除 thinking: {type: "disabled"}(会直接报错)
  • 改用 effort 参数控制推理深度
  • 增加 stop_reason == "refusal" 的处理分支——这是 Fable 5 特有的,不加就是静默吞掉拒绝响应

从 Claude Mythos Preview 迁移有额外步骤,见官方 迁移指引


Claude Mythos 5 的区别

Mythos 5 和 Fable 5 功能完全相同,唯一区别是不含安全分类器——即没有 Refusal 机制,stop_reason 不会是 "refusal",因此不需要做 Refusal 相关的错误处理。

Mythos 5 仅通过 Project Glasswing 向受邀企业客户开放,不公开可用。如果你目前在用 Claude Mythos Preview,联系你的 Anthropic、AWS 或 Google Cloud 客户经理申请访问。


Fable 5 对日常的聊天和问答类请求几乎没有影响——三个变更都针对边界情况(安全敏感内容 / 显式禁用 thinking / 精细控制推理深度)。但如果你的 Agent 流水线做过任何这三块的定制,不处理就上线会有静默 bug。改动量不大,改清楚才能放心。

原文:Introducing Claude Fable 5 and Claude Mythos 5,Anthropic 官方 API 文档。

关于

关注我获取更多资讯

月球基地博客公众号二维码,扫码关注获取更多 AI 与编程资讯
📢 公众号
月球基地博客作者个人微信二维码,扫码交流 AI 与编程话题
💬 个人号
使用 Hugo 构建
主题 StackJimmy 设计