Courses
在我连续数月的日常工作中,Fable 5 是用过的最佳编码模型。一直坚持用它需要些耐心。美国政府曾将其下线数周,之后访问条款也持续变动。
随后 Anthropic 推出了 Opus 5。它的每个 token 价格只有一半,而且当 Fable 拒绝请求时,Claude Code 会回退到该模型。这对所有为 Fable 额外付费的人提出了一个显而易见的问题:更贵的模型仍然是正确的默认选择吗?
于是我给两个模型同一道题,从成本、速度、正确性以及交付质量进行对比。本文将逐一拆解结果。
Fable 5 是什么?
Fable 5 是 Anthropic Claude 5 系列中面向编码的模型,于 2026 年 6 月 9 日发布。它与 Mythos 5 同步推出,后者是不带安全分类器的姊妹模型,Anthropic 仅向少数经过审核的机构提供。要了解完整发布过程及 Fable 5 在各项基准中的表现,请查看我们的Fable 5 专题指南。
Fable 5 的定价高于 Opus 5,面向更难的编码任务。使用感受上的主要差异在于它对每次请求都会进行“思考”,且无法关闭,因此看起来更慢、更慎重。Opus 5 会自行判断一个提示是否值得额外思考。
规格与定价
两者的上下文窗口和最大输出相同。它们在价格及“思考”方式上有区别。
|
|
Fable 5 |
Opus 5 |
|
输入价格(每 100 万 tokens) |
$10 |
$5 |
|
输出价格(每 100 万 tokens) |
$50 |
$25 |
|
上下文窗口 |
100 万 tokens |
100 万 tokens |
|
单次请求最大输出 |
128K tokens |
128K tokens |
|
思考 |
始终开启(不可禁用) |
自适应(可选) |
|
拒绝行为 |
|
标准 |
Fable 5 的每 token 成本约为 Opus 5 的两倍。由于其思考始终开启,单次运行往往会产生更多 tokens,因此真实使用中的价格差距比每 token 费率显示的更大。在本指南后面的正面较量中,Fable 的输出 token 比 Opus 多 74%,而程序还更小。
要进行更深层的对比(包括基准差异),请阅读我们的Claude Opus 5 与 Claude Fable 5 指南。
必须为之编写代码的拒绝行为
Fable 5 有一个普遍让人头疼的点:内置的安全分类器。由于该模型被认为过于强大,分类器不会让它处理哪怕与生物学或网络安全等领域有一点点关系的请求。

对一位免疫学家来说,单词“cancer”本身就会触发生物安全过滤,使 Claude Code 回退到 Opus 4.8。
我自己最近也遇到过:个人项目中的登录 bug。该流程使用 Telegram Gateway API 进行一次性密码登录,而 Fable 5 直接拒绝处理。Opus 5 完成了任务——这正是问题所在:这个 bug 并不存在任何安全风险。
自动、零配置的回退仅发生在 Claude Code 和 Claude 应用中。如果您正通过 API 使用 Fable,即使返回 200 成功码,响应中也会带有 stop_reason 字段。
响应如下所示:
{
"stop_reason": "refusal",
"stop_details": {
"category": "bio",
"explanation": "The request was declined by a safety classifier."
}
}
因此,您必须在读取响应内容之前检查 stop_reason。
要启用服务端回退,请传递一个 fallbacks 数组(例如 "fallbacks": [{"model": "claude-opus-4-8"}]),并发送 anthropic-beta: server-side-fallback-2026-06-01 头。需要在每个请求上设置;没有账户级开关。
关于回退模型的说明
您可能会好奇,为什么有的来源说 Fable 5 回退到 Opus 4.8,而另一些则指向 Opus 5。二者都对,因为回退目标取决于类别与使用场景。
在 Claude Code 中,被生物学标记的请求现在会重新在 Opus 5 上运行,而被网络安全标记的请求仍会回退到 Opus 4.8。在 API 上,服务端 fallbacks 功能目前仅支持 Opus 4.8。
这种分裂是时间上的产物:Fable 在 6 月发布时,一切都回退到 Opus 4.8;而在 7 月 24 日 Opus 5 上线后,生物路径被重新指向 Opus 5。
围绕 Fable 5 的争议
即便撇开安全分类器,Fable 5 的起步也并不顺利。
静默限速与误判拒绝
在发布后几天,《财富》报道称 Anthropic 在未告知的情况下,悄然削弱了 Fable 5 对约 0.03% AI 与 ML 基础设施流量的回答能力。
不少研究者与开发者因此愤怒不已,因为他们为之支付 200 美元订阅,期待的是一款能胜任任何任务的“前沿”主力模型。
Anthropic 在一天内就顶不住社区压力,表示“做了错误的权衡”。它改变的是可见性,而非限速本身。被标记的请求现在会像拒绝一样被展示,而“降级”依旧保留。Anthropic 的理由是其条款本已禁止使用 Claude 构建竞争性 AI 系统,这一立场尚可辩护。但悄悄执行了一个月,这点站不住脚。
出口管制暂停
随后出现了更大的事。一则公开的越狱在 6 月 12 日触发了商务部的出口管制令,Anthropic 将 Fable 5 和 Mythos 5 在全球下线了 19 天。
Anthropic 在整个召回过程中强烈反对。其认为该越狱是“窄域”而非通用,且弱模型也能找到,因此召回标准在它看来不够透明。关于门槛本身,它的观点有一定道理。没人真正构建过“通用越狱”,也没有任何当今模型能越过那道线。英国 AI 安全研究所报告称正朝这一目标取得进展,但尚无实用方案。
关于门槛本身它说得有道理,但论述方式并不准确。通用越狱确实存在:英国 AI 安全研究所报告称在其测试过的每个前沿系统上都找到了此类方法,其红队还针对 Fable 5 本身构建出一个,数小时内单轮生效,并在数日内扩展到多轮的代理式工作流,见 Fable 5 的模型卡。
真正的争议在于,这样的门槛是否应触发召回,而非此类越狱是否可能。
恢复,但伴随新限制
Anthropic 上线了更强的分类器并报告拦截率超过 99%,基于此,商务部在 6 月 30 日前后解除控制。
7 月 1 日恢复了普遍访问,但条款更严。原先承诺的两周不受限窗口缩短到约一周,并新增每周 50% 的上限:一旦超过,更多的 Fable 5 使用将按全价 $10 和 $50 抵扣额度。这已足以让订阅者在 Reddit 上抱怨。
Anthropic 两度延长期限,并在 7 月 20 日按套餐拆分政策:Max 与 Team Premium 将 Fable 5 维持在每周限额的 50%,无截止日期;而 Pro 与 Team Standard 获得一次性 $100 额度,之后按 API 费率计费。Mythos 5 则仅回归到约 100 家经过审查的美国机构,从更广泛的国际项目收缩而来。
总之,Fable 5 仍是强劲模型,但其访问政策每月都有变化。为偶发的误拒绝做好准备,也不要指望本月的限额政策会延续到下月。
同一项目下的 Claude Fable 5 与 Opus 5
为了在相同条件下观察两个模型的行为,我在全新的 Claude Code 会话中分别给了它们同一项任务。之后,我阅读了完整会话记录、内部 JSONL 文件,并在浏览器中对两个成品应用进行评估。
我最初尝试用短链接服务来比较。这是个错误。两个模型交付的应用几乎一模一样,连主题和功能集都一致,因为短链接有一个训练数据中处处可见的“标准答案”。这个测试测不出差异。
在 Fable 5 和 Opus 5 中一次性构建“活体生态系统”
于是我选了一个没有标准答案的任务:活体生态系统模拟。一个食物网中的三种物种,个体会群聚、捕猎、饥饿,屏幕同时显示 5000 个体,从同一随机种子出发具有确定性。提示禁止使用能解决难点的库,所以每个模型都得自己写空间查询、转向行为和种群动力学。
以下是两个模型收到的提示,逐字相同:
Build a living ecosystem simulation that runs in the browser, and ship it end-to-end in one shot, without asking me any questions or pausing for confirmation. Make all decisions yourself and only stop when it is fully built, tested, and pushed to GitHub.
Requirements:
- A real-time canvas simulation of an ecosystem with at least three species in a food web (for example producers, herbivores, predators). Species interact: they eat, they are eaten, they reproduce, and they die.
- Agents move with steering behaviour — flocking among their own kind, and avoidance or pursuit across species.
- Each agent has an energy budget. Moving and reproducing cost energy, eating restores it, and running out kills the agent. Population levels must emerge from these rules rather than being scripted.
- The simulation must stay stable and interactive at 5000 agents. Show a live FPS counter and a live population graph per species.
- The whole world is generated from a numeric seed. The same seed must always produce the same run.
- Controls to pause, resume, reset, reseed, and tune the key simulation parameters live while it runs.
- Implement the simulation yourself: the steering, the spatial queries, the integration, and the population dynamics. Do not use a physics engine, a flocking library, a game engine, or a charting library. Plain canvas and your own code.
- Tests covering the core simulation logic.
- A README with setup and run instructions.
The simulation should run in the browser and be usable by someone who has never seen it before.
When it is complete, create a new GitHub repository with the gh CLI (which is already installed and authenticated) and push the project to it.
“不提问”规则是关键。它能展示在无人纠偏的情况下,各模型能把构建推进到什么程度。每个会话都在各自的空目录中运行,互不知晓对方在做同一任务。
该任务还在看似纯视觉的输出里埋了四个客观测试点:
- 邻居搜索必须用空间索引,否则在 5000 个体时帧率会崩。
- 世界必须正确环绕或钳制,否则个体会穿墙而过。
- 随机性必须通过带种子的生成器,否则同一种子会得到不同的运行结果。
- 繁衍与死亡率必须平衡,否则种群要么清零要么爆炸。
每一种失败都能在屏幕上直观看到,这正是漂亮演示也能打分的原因。
两个构建都已上线,您可以自己运行对比,而不必仅凭我的描述。并排打开并分别重新播种:
- Fable 5 的构建:ecosystem-fable-5.vercel.app(源码)
- Opus 5 的构建:ecosystem-opus-5.vercel.app(源码)
文末还有两者的截图,方便不想点击的读者。但需要客观说明:截图为了完整呈现屏幕而缩放,细节可能不够清晰。
每次运行实际由哪个模型服务
在进入结果之前,先说明一个与解读相关的方法论细节。
当 Fable 5 的安全分类器拒绝请求时,Claude Code 会回退到 Opus,因此标注为 Fable 的运行并不保证全程都是 Fable。为避免假设,我记录了两个会话中每个助手事件的 model 字段。
所幸,在我的对比中,Fable 运行中的每个事件都是 claude-fable-5,共 103 个。Opus 运行中的每个事件都是 claude-opus-5,共 247 个。双向都未触发回退。下文的数据确实描述了标注中的模型。
Fable 5 与 Opus 5 是如何解决问题的
Fable 安静地工作。它共进行了 56 次工具调用,并在整个构建中仅输出两段、共 429 个词的说明。
Opus 则“公开”地工作。它进行了 137 次工具调用,超过两倍,并输出了 110 段、共 4,808 个词。若按产出量归一化,两者的修订率相近,每写一个文件约有 2 次编辑。
两者在工具链上也分道扬镳。Fable 使用纯 ES 模块,python3 -m http.server 启动脚本,完全不含 node_modules。Opus 则安装了 Vite 与 Vitest,基于真实工具链构建。
下文的构建时长仅统计“活跃工作”时间。我从第一个助手事件到最后一个助手事件取区间,减去会话空闲等待而未构建的时段。
结果:速度、成本与正确性
|
维度 |
Fable 5 |
Opus 5 |
|
助手事件数 |
103 |
247 |
|
活跃构建时间 |
25 分钟 |
48 分钟 |
|
输出 tokens |
243,442 |
139,920 |
|
缓存读取 |
11.3M |
26.4M |
|
工具调用 |
56(24 Bash,19 Edit,10 Write) |
137(60 Bash,51 Edit,20 Write) |
|
可见文本输出 |
429 词(2 段) |
4,808 词(110 段) |
|
总成本 |
$28.70 |
$20.07 |
|
交付文件 |
9 个,零依赖 |
13 个,Vite + Vitest |
|
代码行数 |
约 1,010 |
约 1,746 |
|
测试 |
16,全通过 |
58,全通过 |
|
|
否 |
是 |
|
模拟速度 |
3.14 ms/刻 在 3,510 个体 |
1.35 ms/刻 在 4,368 个体 |
|
是否推送至 GitHub |
是 |
是 |
Fable 成本高出 43%,为更小的程序产生了 74% 更多的输出 tokens。由于无法关闭思考,即便任务不需要,它也会持续计费。
两个模型都通过了所有客观检查:
- 同一种子可复现同样的世界。
- 不同种子会产生差异。
- 没有任何数值变为
NaN。 - 在最大速度下,没有个体逃出世界。
- 浏览器中均能保持 60 FPS,控制台零错误。
Opus 的每刻模拟速度快 2.3 倍。它将个体存储在类型化数组中,每个属性一个扁平数组,并为每个物种维护独立的空间网格。Fable 则为每个个体使用对象,并在三个物种间共享同一统一网格。两者都正确,但 Opus 的数据布局更快。
Fable 交付的缺陷
Fable 的 npm test 脚本无法运行。它交付的是 node --test test/,Node 26 会将其解析为模块路径而非目录,因而命令在执行任何测试前就报错。其下的 16 项测试本身没有问题,显式指定文件名即可通过。是 package.json 中的入口配置出了问题。
这是个小 bug,却代价不小,因为读者最可能运行的就是这个命令。Fable 也从未自我发现,这点尤为关键:提示要求编写测试,而它是通过一条用户并不会采用的路径来验证的。
Opus 没有类似的失败。其 58 项测试可通过 npm test 运行并通过。两个测试套都覆盖了本任务的关键点:带种子的确定性、能量守恒、环面包裹、以及长期的物种存续,因此差距在深度而非类型。只有 Opus 编写了 5000 个体的压力测试,这也是最可能失效的要求。
截图呈现了什么
两个应用的外观完全不同,这正是我更换任务的原因。

Fable 5:左侧为控制区,个体以方块表示,物种名为 Plants、Herbivores、Predators。

Opus 5:右侧为控制区,个体为指向性三角形,可读出群体移动方向;物种名为 Plankton、Grazers、Hunters,带有水域主题。
在界面层面,主要差异如下:
- Fable 将控制面板放在左侧,将每个个体绘制为方块,物种命名为Plants、Herbivores、Predators。
- Opus 将面板放在右侧,以指向性三角形绘制,使您能读出群体的行进方向。它采用水域主题,命名为Plankton、Grazers、Hunters。
如何解读种群图
在种群图上,设计差异尤为明显。

Fable 5 的图表,线性刻度。植物线占满纵轴高度,捕食者线贴在底部。

Opus 5 的图表,对数刻度。三种物种都保持可读,猎手线穿过食草线。
两者的模拟都如捕食-被食系统应有的那样振荡。Fable 的植物在 5 分钟内在 520 与 7,061 之间波动,食草与捕食者随后跟随周期变化,捕食者在食草者恰好降至 119 时达到 248 的峰值。
在线性刻度下,植物线“吃掉”了整个纵向范围,食草者被压缩成细带,捕食者则贴在坐标轴上。
这正是 Opus 采用对数刻度并标注峰值的原因。三种物种都保持可读,您可以看到猎手线升起、穿过食草线、再在食草者恢复时回落。相同类别的数据,只有一张图是可读的。
两个生态系统的行为差异
底层生态也不同。Opus 将生产者层封顶在 4,229 个浮游生物,因此该种群贴天花板,只有上层两种在周期变化。Fable 则让三层耦合,幅度更大、世界更“活”。我们在未在提示中要求的情况下得到了“稳定性 vs. 活力”的对照。

Fable 5 的参数面板:13 个滑块,使用模拟自身的单位。

Opus 5 的参数面板:9 个滑块,均为从 1.00 起的倍数,分为 World 与 Behaviour 分组。
Fable 以真实单位暴露 13 个参数:植物增长 5、感知半径 60、分离 1.5、以及分物种的新陈代谢。Opus 暴露 9 个,均为从 1.00 起的标准化倍数,分为 World 与 Behaviour 组。
一句话概括:Fable 给您更强的可控性,而 Opus 提供的是不容易被您“一不小心”打破生态平衡的面板。
该选 Fable 5 还是 Opus 5?
默认选 Opus 5。在本次构建中,它的成本低 30%,模拟速度快 2.3 倍,测试覆盖也更佳。Fable 的优势在于用时更短,约为对方的一半。
当您需要在最少监督下一次性完成构建,或依赖体量很重要时,选择 Fable 5。Fable 交付了一个零依赖、体量比备选小 42% 的程序,并以 103 次助手轮次完成,而对方为 247 次。在需要您事后自行阅读的任务上,这种“简洁”很有价值。
结语
对同一项目类型的两次构建仍谈不上基准测试。尽管已有基准作为参考,真实世界的表现可能大相径庭。
例如,尽管我们的对比显示 Fable 使用的 tokens 多于 Opus,但多数开发者分享的是相反的现象:在类似任务上,Opus 5 消耗的 tokens 远多于 Fable 或 Sol。有人怀疑 Opus 5 的 RL 预训练让它过度优化为“堆 token 成本”,而不是在简洁的同时保持有用。在对比之外,我自己的工作中也确有此感。Opus 系列模型在表面上越来越啰嗦,可读性也在下降。
就我个人而言,我仍会在几乎所有编码项目(包括客户项目)中使用 Fable 5,因为从长远看它在准确性上更胜一筹。我目前使用最新的 Max 套餐,即便在多个会话中使用 Fable(虽不“全天候”运行 Claude Code),也尚未触及用量上限。当我在意 token 账单,或需要对正在进行的任务有较为详细的文字解说以帮助理解时,我会用 Opus。
关于模型与其周边工具,建议阅读我们的Claude Fable 5 指南,以及Claude Code 与Claude Code 最佳实践教程。