# Fable 5.2 vs Opus 5.5：编程和 Agent 任务值得加钱吗？

> 把同一组代码修复、推理和工具调用任务交给 Fable 5.2 与 Opus 5.5，比较完成质量、等待时间和按官方费率计算的任务成本。

- Canonical HTML: https://omniakey.com/zh/blog/fable-5-2-vs-opus-5-5
- Markdown: https://omniakey.com/zh/blog/fable-5-2-vs-opus-5-5.md
- Published: 2026-11-12 (updated 2026-11-12)
- Author: Kiki, COO at OmniaKey
- Language: zh
- Category: Comparison
- Reading time: 9 min
- All posts: https://omniakey.com/blog/llms.txt

---

四道题不必为 [Fable 5.2](https://omniakey.com/zh/claude-fable-5-2) 加钱：它和 [Opus 5.5](https://omniakey.com/zh/claude-opus-5-5) 都过 29 项检查。按标准价，Opus 共 $0.031，Fable $0.146。难题或长 agent 任务，Opus 提高 effort 仍失败时再评估 Fable。

- **Claude Opus 5.5** (小修小改先用它): 短小的编程和工具任务默认选它：29/29 项检查通过，四道题按标准价约 $0.031。
- **Claude Fable 5.2** (Opus 失败后再评估): 遇到更难的推理或长 agent 任务，先用更高 effort 的 Opus 试；仍失败时再评估 Fable。

## Fable 5.2 和 Opus 5.5 一览

Fable 5.2 更新，但两边的上下文都是 1M token，最大输出都是 128K。这次小任务真正的差别在 token 用量，不在代码是否正确。

|项目|Fable 5.2|Opus 5.5|
|-|-|-|
|发布|2026-11-09|2026-09-22|
|上下文 / 输出|1M / 128K|1M / 128K|
|默认 effort|high|medium|
|输入 / 输出（$/1M）|$8 / $40|$4 / $20|

Anthropic 的 [Fable 5.2 模型页](https://platform.claude.com/docs/en/models/fable-5-2/overview) 和 [Opus 5.5 模型页](https://platform.claude.com/docs/en/models/opus-5-5/overview) 都标为在用，支持文本和图片输入。Fable 5.2 在 2026 年 11 月 9 日发布，Opus 5.5 在 9 月 22 日发布。两边默认 effort 不同，比较时都设成 `medium`。

Anthropic 的 [模型总览](https://platform.claude.com/docs/en/models/overview) 建议大多数任务先用 Opus 5.5，把 Fable 5.2 留给更强的推理、长时间 agent 任务，或者在更高 effort 的 Opus 5.5 上评测仍不达标的情况。这是厂商定位；这次只用四道小题做了检查。

Fable 5.2 改了什么，看 [Fable 5.2 发布变化](https://omniakey.com/zh/blog/claude-fable-5-2)；单模型细节看 [Opus 5.5 评测](https://omniakey.com/zh/blog/claude-opus-5-5-review)。

## 四道题各花多少钱

Anthropic 的 [官方定价页](https://platform.claude.com/docs/en/about-claude/pricing) 写明标准价：Fable 5.2 每百万输入 token $8、输出 $40。Opus 5.5 是 $4 和 $20（2026 年 11 月 12 日核对）。Batch 两边都打五折，fast 模式都翻倍。

四道计分任务里，Fable 用了 3,439 输入和 2,954 输出 token。Opus 用了 2,421 和 1,065。按标准价算：

- Fable：(3,439 × $8 + 2,954 × $40) ÷ 1,000,000 = $0.1457
- Opus：(2,421 × $4 + 1,065 × $20) ÷ 1,000,000 = $0.0310

这些是按实际 token 做的标准价估算，只用于比较；账单金额和 OmniaKey 收费都不包含在内。Opus 的响应报告 fast 速度，Fable 报告 standard；Anthropic 的 fast 输入和输出价都是标准价的两倍。这里统一按标准价折算，所以这组数字不是受控的耗时或账单对比。

标准价估算，美元：

|任务|Fable 5.2|Opus 5.5|
|-|-|-|
|用量汇总|$0.0498|$0.0067|
|游标分页|$0.0428|$0.0102|
|对账|$0.0180|$0.0053|
|文件修补|$0.0351|$0.0088|
|四道合计|$0.1457|$0.0310|

四道受测任务平均，Fable $0.0364，Opus $0.0077；Fable 的标准价估算高 $0.1147。实际选择看每道可用任务的总成本：API 花费，加上重试和检查时间。真实难题失败得够多、值得多花这笔钱时再升级；这四道小题还不够。

总耗时 Fable 27.8 秒，Opus 43.6 秒。Fable 的响应写的是 standard 速度，Opus 写的是 fast，而请求里不设 speed。这两个数字只能当观察值，不能用来排名快慢。

## 两道 Python 修复：各 22/22 项

两道题都很短，两边都给出能跑的函数。这两个坏例子值得留着，因为它们考的是 revision 处理和分页的细节，不是背库。

### 用量汇总：新的失败要盖掉旧的完成

旧函数把所有 complete 事件都加起来。它不看 revision 和 status。所以重试会被重复计费，新的 failed revision 也盖不掉旧的 complete。

提示词的核心规则：

> Keep only the highest revision for each event\_id, and on equal revisions keep the last occurrence in the input. A newer failed revision supersedes an older complete one and contributes nothing.

最小的复现是：事件 x 的 revision 1 为 complete、10 token。后面跟着同一个 x 的 revision 2、failed、10 token。正确答案是 0，旧函数返回 10。

两边都保留最高 revision，相同 revision 取输入里最后一条。跳过 failed，保留零 token 用户，也不改输入。**结果：** 各 8/8 项，函数等价。

### 游标分页：同一时间戳不能重复也不能漏

旧版本只按 `ts` 排序，先切片再套 cursor。它用 `<=` 接受相同时间戳，不检查 `limit`，而且总是返回 next cursor。两条记录都在 `ts=4` 时，就会重复或漏掉一个 id。

提示词的核心规则：

> Sort descending by (ts,id). Select rows strictly LESS than the cursor tuple, so tied timestamps neither repeat nor skip IDs. Return next\_cursor only if MORE eligible rows remain. Raise ValueError unless limit is an integer from 1 through 100; bool is invalid.

两边都改对了：按 `(ts,id)` 排序，严格小于 cursor，先过滤完整列表再切片，只有后面还有记录才返回 next cursor。`limit` 会拒绝 True、False、0、101、1.5、'2' 和 None。**结果：** 各 14/14 项，包括用 limit=1 走完带并列时间戳的四条记录。

## 异步任务对账：数字相同，JSON 格式不同

两边都算对了：净预留 $0.93，t3 待处理，t1 和 t5 完成，t3 下一步是 `poll_existing`。

题目自带的合成测试数据里，金额只是示例，和 OmniaKey 价格分开看。关键日志行：

> POST key=a => 201 task=t1 quote=0.40
>
> POST key=a, identical body => 200 task=t1
>
> GET t1 => SUCCEEDED
>
> POST key=b => 201 task=t2 quote=0.40
>
> GET t2 => FAILED
>
> POST key=c => 201 task=t3 quote=0.13
>
> Client stopped polling t3 after 120 seconds; last status PROCESSING
>
> POST key=d => 201 task=t4 quote=0.13
>
> GET t4 => CANCELED
>
> POST key=e => 201 task=t5 quote=0.40
>
> GET t5 => SUCCEEDED

算式是 0.40 + 0.13 + 0.40 = 0.93。t2 和 t4 退款；t1、t5 消耗；t3 的预留还在，因为客户端停止轮询，不是任务失败。

只把最后状态是 SUCCEEDED 的任务算作完成时，两边返回值一样。Fable 直接返回 JSON；Opus 把 JSON 包在 JSON 代码块里。提示词写的是“Return ONLY JSON”，所以对 Opus 的原始回复直接 `json.loads` 会失败。去掉代码块标记才行。这是格式遵守的问题：这次没有要求 JSON schema，也没开结构化输出。**结果：** 两边数值都通过；接自动化时，用严格解析器校验原始回复，或者改用结构化输出。这里只观察到一次格式偏差，不能当成普遍规律。

## 两轮文件任务：一次读取，一次修补

fixture 里的旧 `remaining_quota` 把所有事件的 units 都减掉。它不看每个 id 的最后状态，也没有 `max(0, ...)` 截断。所以 failed 或 canceled 的任务照样占额度，重复事件还会重复扣。

任务原文：

> Use read\_file once to inspect quota.py, then return one Python code block containing only a corrected remaining\_quota(limit, events) function.

两边都只调用了一次 `read_file`，文件名是 `quota.py`。拿到 fixture 后，两边给出同样的修补逻辑：每个 id 取最后一条事件，只累加 reserved 和 succeeded 的 units。最后返回 `max(0, limit - consumed)`。**结果：** 各 7/7 项，包括 failed 后又 reserved、以及超出上限的情况。

这是两轮、一个 fixture。它只能说明模型会要对的文件并改对函数，不能说明长 agent 任务的表现。

## 怎么测的

2026 年 11 月 12 日，我们把四道题发给 `claude-fable-5-2` 和 `claude-opus-5-5`。请求走 OmniaKey 的 Messages 接口。每个模型、每道题都开新对话，每次请求都从冷缓存开始，effort 设 `medium`，每次请求 `max_tokens` 4096。没有 system prompt，不设 temperature 或 top\_p，每道题跑一次。模型先后的顺序按题轮换。

agent 题只给一个严格的 `read_file` 工具，`tool_choice` 用 `auto`。其它题都是单条用户消息。评分脚本先做 AST 检查，再把函数放进独立进程，3 秒超时。分别跑 8 道用量、14 道游标、7 道文件题：每个模型 29 个代码用例。没有请求被重试。

最早的 ledger 提示词有一处没说清：FAILED/CANCELED 要不要算进 `completed_task_ids`。我们给每个模型用澄清后的提示词重跑了一次，只算最后状态 SUCCEEDED 的任务；原始输出不计入四道题的合计。

12 次请求全部 HTTP 200，返回的模型 ID 和请求一致，结束原因都是 `end_turn`，或者先 `tool_use` 再 `end_turn`，没有截断。两边的 service tier 都是 standard。Fable 报告 speed 为 standard，并单独给出 thinking token 数。Opus 报告 speed 为 fast，没有 thinking token 字段。这次请求不设 speed；输出 token 已经包含计费的 thinking，Opus 没有这个字段不等于它没思考。

相同的 effort 字符串只是一个设置，不代表相同的算力预算。这次 effort 固定在 `medium`；自己的任务值得把不同 effort 各跑一遍。这是一组小 fixture，不是完整仓库测试，也不是长时间 agent 测试。它不能预测其他题目的通过率。OmniaKey 提供这两个模型的接入，上面的价格是 Anthropic 的官方价。

## 什么时候评估 Fable

短小、要求明确的任务，先用 Opus 5.5。它和 Fable 一样通过全部 29 项代码检查，Fable 的标准价估算约为 Opus 的 4.7 倍。

更难的推理或长工具循环，等更高 effort 的 Opus 在你自己真实任务上失败后，再把 Fable 5.2 当作下一个候选。这是 Anthropic 的定位，这次四道小题没有覆盖。切换前拿 10–20 个真实失败任务试一遍。

Anthropic 的 [Fable 5.2 发布文章](https://www.anthropic.com/claude-fable-and-mythos-5-2) 还给了一个厂商数据：Fable 5.2 在 High 下 FrontierCode 2.0 得 45.3%，Opus 5.5 在 Max 下是 45.5%，每任务成本大约是 Opus Max 的一半。文章还说，Fable 5.2 在 Xhigh 下达到 49.1%，是测试过的已发布模型里最高。这是 Fable High 对 Opus Max，和这次同为 medium 的测试不是一回事。

放到真实项目里，比较每道可用任务的 API 花费、重试和检查时间。任务小、又能一次通过，Opus 是更便宜的默认选项。

在 Claude Code 里用这两个模型，[Claude Code 接入教程](https://omniakey.com/zh/blog/claude-code-setup) 有 base URL 和 key 的设置。模型页：[Claude Fable 5.2](https://omniakey.com/zh/claude-fable-5-2)、[Claude Opus 5.5](https://omniakey.com/zh/claude-opus-5-5)。

## 常见问题

### Fable 5.2 比 Opus 5.5 贵，值吗？

等更高 effort 的 Opus 在你自己任务上失败后，再考虑 Fable，并确认它确实能改善结果；这次测试没有给出难题结论。四道小题里，两边都通过 29/29 项代码检查。按标准价估算，Fable 是 $0.1457，Opus 是 $0.0310。

### Fable 5.2 和 Opus 5.5 的代码测试都过了吗？

都过了。用量 8/8、游标 14/14、文件修补 7/7。对账题两边数值也对，只有一个格式差别：Opus 多包了一个 JSON 代码块。

### 写代码选 Fable 5.2 还是 Opus 5.5 更便宜？

按 Anthropic 标准价，Opus 5.5 更便宜：输入每百万 token $4、输出 $20。Fable 5.2 是 $8 和 $40。这次的 token 用量让 Fable 的标准价估算约为 Opus 的 4.7 倍：四道题 Opus $0.0310，Fable $0.1457。

### Fable 5.2 比 Opus 5.5 快吗？

这次测不出来。观察到的总耗时是 Fable 27.8 秒、Opus 43.6 秒，但 Fable 的响应写 standard 速度，Opus 写 fast，而请求里不设 speed。要比快慢，得把 speed 设成一样再跑。

### 在 OmniaKey 能调这两个模型吗？

能。这次两个模型 ID 都是通过 OmniaKey 调的。[Claude Code 接入教程](https://omniakey.com/zh/blog/claude-code-setup) 有 base URL 和 key 的设置。连上后在客户端里确认模型名。

## 来源核对

- Anthropic：[Claude Fable 5.2 模型页](https://platform.claude.com/docs/en/models/fable-5-2/overview)
- Anthropic：[Introducing Claude Fable 5.2 and Mythos 5.2](https://www.anthropic.com/claude-fable-and-mythos-5-2)
- Anthropic：[Claude Opus 5.5 模型页](https://platform.claude.com/docs/en/models/opus-5-5/overview)
- Anthropic：[模型总览](https://platform.claude.com/docs/en/models/overview)
- Anthropic：[价格](https://platform.claude.com/docs/en/about-claude/pricing)

均在 2026 年 11 月 12 日核对。
