Login
Back to Blog
中文Comparison

Claude Fable 5.1 对比 Fable 5:同题实测输出效率、正确性与那些不会报错的破坏性变更

把 claude-fable-5-1 与 claude-fable-5 钉在同一条上游路径上,用短改写、长缓存前缀、重推理三种负载各跑 3 次,记录正确性、输出 token、thinking 预算与延迟。结论:三组正确率全部打平,5.1 用 0.372/0.744/0.891 倍的输出 token 给出同样正确的答案,且官方标注会返回 400 的 7 项破坏性变更实测全部静默返回 200。

C
Crazyrouter Team
September 3, 2026 / 1 views
Share:
Claude Fable 5.1 对比 Fable 5:同题实测输出效率、正确性与那些不会报错的破坏性变更

Claude Fable 5.1 对比 Fable 5:同题实测输出效率、正确性与那些不会报错的破坏性变更#

测试时间:2026-09-03(Asia/Shanghai) Base URLhttps://cn.crazyrouter.com Endpoint:POST /v1/messages 模型:claude-fable-5-1claude-fable-5

结论先行#

Fable 5.1 发布后,公开评测几乎都在转述同一批 benchmark 分数。我们换了个角度:把两个模型钉在同一条上游路径上,用三种负载形态各跑 3 次,同时记录正确性、输出 token 用量、思考预算和延迟

负载形态正确性输出 token 比 (5.1/5)延迟比
A 短单发改写3:3 平局0.3720.79
B 长前缀规格问答3:3 平局(1 题有行为差异)0.7440.85
C 重推理调度题3:3 平局0.8910.90

三组全部正确率打平,答案质量没有差别。真正的差异在效率:5.1 用更少的输出 token、更短的时间给出同样正确的答案,而且任务越简单优势越大,越难越接近

Artificial Analysis 报告过 5.1 在 max effort 下用约 1.7 倍输出 token。我们测的默认 effort 下是 0.37–0.89 倍——方向相反。两者不矛盾,下面解释为什么。

效率差异从哪来:thinking 预算#

Fable 5.1 与 Fable 5 的 thinking 预算对比

Fable 系列的思考是常开的 adaptive 模式,没有开关。看 thinking_tokens 就能看懂上面那条曲线:

负载形态5.1 thinking5 thinking5.1 总输出5 总输出
A 短单发01157.0153.3
B 长前缀439676788.31060.0
C 重推理126115652253.02527.7

简单题上 5.1 完全不思考(thinking=0),5 仍要花 11 个 token 起步;到了难题两者都全力思考,差距收敛到 11%。

5.1 的改进是「该省的时候真省」,不是全局变短。 这也解释了与 Artificial Analysis 的分歧:effort 是 Fable 5.1 唯一的思考深度旋钮,AA 测的是 max effort 下的 Intelligence Index 全套任务,把旋钮拧到底会让 5.1 的思考量反超。输出倍率随 effort 档位和任务难度变号,照搬任何单一档位的结论都会误判。

测试方法#

  • Endpoint POST /v1/messages,Anthropic 原生协议,anthropic-version: 2023-06-01
  • 每格 3 次取均值,失败自动重试 4 次,不用单发定结论
  • 正确性按客观验收判定,不看表述风格:
    • A 组:句子是否真正精简且语义不变
    • B 组:规则 ID 集合、数值是否与规格文档一致
    • C 组:关键路径长度、makespan、最优单点优化三项数值全对才算通过
  • 三种负载形态:
    • A 短单发:一句话改写,无系统提示、无工具、无缓存
    • B 长前缀规格问答:约 18,686 token 的规则文档挂 cache_control: ephemeral,后接 3 个问题
    • C 重推理:8 节点带依赖的作业调度题

必须钉住路径,否则测的不是模型#

跨模型比 token 之前,得先证明两边跑在同一条上游路径上。用递增长度的填充文本对 input_tokens 做最小二乘拟合,截距就是每请求的固定开销:

模型斜率 (tok/单位)截距 (tok)
claude-fable-5-121.00018.00
claude-fable-521.20120.87

斜率一致说明分词器相同、正文没有被放大;截距 18.0 对 20.9 说明每请求固定开销基本等价。不同上游路径之间截距可以差几百 token,若放任路由,两个模型可能落在不同路径上,那部分差异会被当成模型差异读出来。本轮全部请求都钉在同一条路径上,这是对比成立的前提。

逐项结果#

A 短单发:正确率打平,5.1 少用 63% 输出 token#

三种负载形态下的输出 token 用量与倍率

text
claude-fable-5-1   out 55 / 56 / 60    thinking 0    lat 3.27-3.60s
claude-fable-5     out 171 / 161 / 128 thinking 11   lat 4.16-4.48s

两边 6 次全部正确完成精简,核心句几乎一致("Because the server was experiencing heavy traffic, users saw slower response times than usual.")。

差异在于交付形态:5.1 给出答案加一个更短的备选就收尾;5 每次都额外附一段没被要求的 "Key changes" 拆解说明。这不是质量差异,是冗余度差异——如果你的下游要解析结果,5 的额外说明反而是噪声。

B 长前缀规格问答:数值全对,但对错误前提的处理不同#

三个问题的客观验收:

问题正确答案5.15
DISPUTED 高严重度规则 IDR003 起每 15 条,共 20 条通过通过
REVERSED 最长保留期117 天,R087/R177/R267 三条并列通过通过
SETTLED 8h 冲突(含假前提)全部 60 条触发,非两条通过通过

两者缓存写入量完全相同(18,686 token),前缀被一致缓存,没有一方偷偷不写。

第三问是刻意植入的假前提——题目问「有两条规则会同时触发,是哪两条」,而按规格实际是全部 60 条 SETTLED 规则都会触发。两者都识破了:

  • 5.1:直接否定前提——「不是两条,是全部 60 条 SETTLED 规则」,并指出规格里根本没有冲突消解条款,所以「哪个保留期胜出」无解
  • 5:也指出「远不止两条」,但随后仍按假前提挑了「题目可能想问的那一对」(R006 与 R041)作答,并自行引入了「保留期长者胜」的原则

事实层面两者都没错,R006 和 R041 的字段值经核对全部准确。差别在于是否顺从错误前提:5.1 拒绝了,5 提醒之后还是配合了。做需要抵抗诱导性提问的场景(合规审查、数据核对),这个差异值得关注。

C 重推理:6 次全对,无显著差异#

text
5.1  out 2098 / 2357 / 2304   thinking 1131 / 1310 / 1343   lat 26.81-28.80s
5    out 2720 / 2579 / 2284   thinking 1799 / 1458 / 1437   lat 28.41-34.12s

标准答案:关键路径 A→B→E→G→H = 21,5 worker 下最大并发仅 2,故 makespan 同为 21;最优单点优化是把 G 从 6 减到 2,makespan 降至 17。

6 次全部三项数值全对。 两个模型都额外识别出:把 A 减 4 同样得 17 但属退化解(作业时长归零),以及降到 17 后会被 A→C→D→F→H 这条路径卡住,再减无益。这个题目上两者能力无法区分。

输出量也应视为无差异:5 的最少一次(2284)低于 5.1 的最多一次(2357),3 次采样区间重叠。C 组的 0.891 倍不构成有效差异。

延迟#

三种负载形态下的端到端延迟对比

负载形态5.1 均值5 均值差值
A 短单发3.40s4.31s−21.1%
B 长前缀13.41s15.71s−14.6%
C 重推理27.95s31.03s−9.9%

5.1 三组都更快,且收窄幅度与 token 曲线同步——延迟差异基本由输出量差异驱动,不是推理速度本身的差别。延迟受网络与上游负载影响,此处仅作参考,不参与能力评分。

不会报错的破坏性变更#

7 项文档标注返回 400 的请求实测全部静默返回 200

官方迁移指南列了几项在 Fable 5.1 上会返回 400 的变更。我们把每一项在网关上各打 6 次:

请求内容官方文档实测
tool_choice: {"type": "any"}400200(6/6)
tool_choice: {"type": "tool", "name": …}400200(6/6)
thinking: {"type": "disabled"}400200(6/6)
temperature: 0.7400200
top_p: 0.9400200
top_k: 40400200
assistant 预填充400200

7 项全部静默通过。这意味着:

  1. 迁移不会因为这些而失败,但也不会因为这些而被发现。 参数被中途丢弃,请求照常返回 200,行为却与预期不同。
  2. 尤其是 temperature / top_p / top_k——如果生产代码依赖低温度保证输出稳定,这些值在 Fable 系列上不生效,且不会收到任何提示。
  3. 官方文档说 forced tool choice 返 400「很响,几分钟就能发现」。这个假设在直连时成立,经任何中继层后都不成立

正确的迁移验证方式不是等报错,而是主动断言响应内容:检查 stop_reason、检查是否真的调用了强制指定的工具、检查多次相同请求的输出是否符合设定的温度预期。

复现命令#

对比输出效率(把 $KEY 换成你的 key):

bash
for M in claude-fable-5-1 claude-fable-5; do
  curl -s https://cn.crazyrouter.com/v1/messages \
    -H "x-api-key: $KEY" \
    -H "anthropic-version: 2023-06-01" \
    -H "content-type: application/json" \
    -d "{\"model\":\"$M\",\"max_tokens\":2048,\"messages\":[{\"role\":\"user\",
        \"content\":\"Rewrite this sentence to be more concise: 'Due to the fact that the server was experiencing an elevated level of traffic, the response times that users experienced were longer than what would normally be expected.'\"}]}" \
    | python -c "import sys,json;d=json.load(sys.stdin);u=d['usage'];print(d['model'],'out',u['output_tokens'],'think',u.get('output_tokens_details',{}).get('thinking_tokens'))"
done

验证破坏性变更是否静默:

bash
curl -s https://cn.crazyrouter.com/v1/messages \
  -H "x-api-key: $KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"claude-fable-5-1","max_tokens":64,"temperature":0.7,
       "messages":[{"role":"user","content":"What is the weather in Tokyo?"}]}' \
  -w "\nHTTP %{http_code}\n"

拟合每请求固定开销,确认两个模型跑在同一条路径上:

python
# 用递增长度的填充文本打同一模型,对 input_tokens 做最小二乘
# 截距落在 8-25 属正常;两个模型截距接近才说明对比条件成立
UNIT = "The reconciliation service records each settlement attempt in the ledger. "
for n in [1, 20, 100, 250]:
    body = {"model": M, "max_tokens": 16,
            "messages": [{"role": "user", "content": UNIT * n + "Reply with the single word: ok"}]}

生产选型建议#

  1. 短任务、分类、抽取、改写:换 5.1。同样的正确率下少用 63% 输出 token、快 21%,且不需要任何代码改动。这类流量是收益最大的地方。
  2. 需要抵抗诱导性提问的场景:倾向 5.1。B 组第三问里它直接否定了错误前提,5 提醒之后仍配合了假设。样本量小,建议用自己的诱导题复测。
  3. 重推理任务:两者能力无法区分(6 次全对,输出量区间重叠)。换不换取决于是否需要 5.1 更新的知识截止(2026 年 6 月对 2026 年 1 月),而不是本轮任何指标。
  4. 拧 effort 之前先复测。官方明确说过 effort 档位名称在不同模型间不代表相同的思考量,在 Fable 5 上调好的参数不会平移到 5.1。这也是 AA 测出 1.7 倍而本轮测出 0.37–0.89 倍的关键变量。
  5. 迁移验证要断言内容,不要等报错。 见上一节。

限制#

  • 每格 3 次采样,只够判断量级,不足以做统计显著性检验。C 组差异在采样区间内重叠,不应作为选型依据。
  • 三组正确率全部打平,本轮没有测出任何能力差异,只测出效率与行为差异。要区分能力需要更难、更容易失败的题目。
  • 只测了默认 effort。Artificial Analysis 的 1.7 倍是 max effort 下的结果,本文没有复现该档位,不构成对该结论的否定——两者测的是曲线的不同位置。
  • B 组的假前提只有 1 道题、各 1 次,「5.1 更能抵抗诱导」目前只是观察不是结论。
  • 三种负载形态是构造的,不等于真实流量分布。建议用自己的负载和验收标准重跑。

FAQ#

Q1:Fable 5.1 比 Fable 5 更聪明吗? 本轮三种形态、共 18 次调用,正确率全部打平,没有测出能力差异。测出的是效率差异:同样正确的答案,5.1 用更少的输出 token 和更短的时间。要区分能力需要更容易失败的题目。

Q2:为什么有的评测说 5.1 用更多输出 token,你们测出更少? effort 是 Fable 5.1 唯一的思考深度旋钮。Artificial Analysis 测的是 max effort,本轮测的是默认 effort。倍率随档位和任务难度变号——默认档简单题 0.372 倍,难题 0.891 倍,max 档会反超。别照搬任何单一档位的数字。

Q3:迁移到 Fable 5.1 需要改代码吗? 模型 ID 从 claude-fable-5 换成 claude-fable-5-1 即可。但要检查三处:是否用了 forced tool choice、是否手工拼接 messages 数组(thinking 块现在绑定对话)、是否依赖 temperature 等采样参数。这些经中继层不会报错,需要主动断言。

Q4:thinking: {"type": "disabled"} 为什么关不掉思考? Fable 系列只有一种思考模式:常开的 adaptive,没有关闭开关。官方文档说传 disabled 会返回 400,但实测 6/6 返回 200——参数被丢弃了,思考照常进行。想控制思考深度只能用 effort

Q5:为什么同一个模型在不同地方量出的 token 数不一样? 每条上游路径都可能有自己的固定开销。用递增长度的填充文本对 input_tokens 做线性拟合,截距就是这个开销,正常应落在 8–25 之间。斜率反映分词器,如果两条路径斜率相同而截距差很多,那是路径差异不是模型差异。

Q6:Fable 5.1 的上下文和知识截止是什么? 100 万 token 上下文、12.8 万 token 最大输出,与 Fable 5 相同。知识截止 2026 年 6 月,Fable 5 是 2026 年 1 月。

Q7:为什么要把上游路径钉死? 放任路由时两个模型可能落到不同上游路径上,路径的固定开销差异会被误读成模型差异。本轮实测两个模型截距 18.0 对 20.9、斜率 21.0 对 21.2,基本等价,才构成有效对照。

相关阅读#

外部参考#

原始证据#

  • 输出量、思考预算、延迟原始数据:.tmp/fable51_cost_results.json
  • 破坏性变更矩阵:.tmp/fable51_breaking_matrix.json.tmp/fable51_retry_matrix.json
  • 截距拟合数据:.tmp/fable51_intercept.json
  • 复测脚本:.tmp/fable51_cost_probe.py

本文全部数据在 https://cn.crazyrouter.com/v1 上实测产出,两个模型均可直接调用。注册获取 API Key

Implementation Guides

Topics

Comparison

Related Posts

GLM-5.2 vs Claude Fable 5 实测:真正的差异在输出预算和可见结果Comparison

GLM-5.2 vs Claude Fable 5 实测:真正的差异在输出预算和可见结果

基于 Crazyrouter OpenAI-compatible API 的真实测试,对比 glm-5.2 与 claude-fable-5 在数学推理、物理综合题和 Canvas 动画长代码任务中的表现,重点分析 max_tokens、reasoning_tokens、finish_reason、可见正文为空和浏览器验证结果。

Jul 6
国产之光 Kimi 已经达到 Opus 4.8 了吗?七维 API 实测Comparison

国产之光 Kimi 已经达到 Opus 4.8 了吗?七维 API 实测

通过精确数学、物理建模、约束推理、统计反诱导、代码审查、严格 JSON 和不确定性校准七个维度,对比 Kimi K3 与 Claude Opus 4.8 的正确性、首个可见答案、总延迟和 reasoning Token 效率。

Jul 19
GLM-5.3 对比 GLM-5.2:提高难度后的真实 API 实测Comparison

GLM-5.3 对比 GLM-5.2:提高难度后的真实 API 实测

六道高难度同题 API 实测:GLM-5.3 首次交付 4/6,GLM-5.2 为 2/6,但 GLM-5.2 赢得可执行代码隐藏测试。

Aug 14
Claude全系列模型对比:Opus vs Sonnet vs Haiku怎么选?Comparison

Claude全系列模型对比:Opus vs Sonnet vs Haiku怎么选?

详细对比Claude Opus、Sonnet和Haiku三个系列模型的性能、价格和适用场景,帮助开发者选择最合适的Claude模型。

Feb 22
Gemini 2.5 Flash vs GPT 4.1 Nano:图片理解 API 实测对比(Crazyrouter Base URL)Comparison

Gemini 2.5 Flash vs GPT 4.1 Nano:图片理解 API 实测对比(Crazyrouter Base URL)

本文用 Crazyrouter OpenAI 兼容接口实测 gemini-2.5-flash 与 gpt-4.1-nano 的图片理解表现,比较识别准确率、延迟、价格、usage 信号和生产选型建议。

Jun 21
Gemini 2.5 Flash vs GPT 4.1 Mini:图片理解 API 实测对比(Crazyrouter Base URL)Comparison

Gemini 2.5 Flash vs GPT 4.1 Mini:图片理解 API 实测对比(Crazyrouter Base URL)

本文用 Crazyrouter OpenAI 兼容接口实测 gemini-2.5-flash 与 gpt-4.1-mini 的图片理解表现,比较识别准确率、延迟、价格、usage 信号和生产选型建议。

Jun 21