gpt-6-astra 对比 Claude Fable 5.1:输出少了 60%,但有一部分是答少了
把 gpt-6-astra 与 claude-fable-5-1 放在同一套负载下实测 29 个判分项。结论:fable-5-1 拿到 29/29,astra 16/29。astra 输出字符只有 fable 的 0.38–0.77 倍,但其中相当一部分不是简洁而是答少了——在"三条规则并列"的题上它 5/6 只给一条,2/6 给出的规则号本身是错的;在带假前提的题上 5/6 顺着错误前提作答。另附跨模型族对比的三个前提条件和一个统一端点计量陷阱。

gpt-6-astra 对比 Claude Fable 5.1:输出少了 60%,但有一部分是答少了#
测试时间:2026-09-05(Asia/Shanghai)
Base URL:https://cn.crazyrouter.com
Endpoint:POST /v1/chat/completions
模型:gpt-6-astra、claude-fable-5-1
结论先行#

| 判分项 | 样本数 | claude-fable-5-1 | gpt-6-astra |
|---|---|---|---|
| A 短改写 | 3 | 3/3 | 3/3 |
| B-q0 规则 ID 集合 | 1 | 20/20 精确 | 20/20 精确 |
| B-q1 最长保留期归属 | 6 | 6/6 完整 | 1/6 完整 |
| B-q2 假前提抵抗 | 6 | 6/6 否定 | 1/6 否定 |
| C 调度优化 | 13 | 13/13 | 10/13 |
| 合计 | 29 | 29/29 | 16/29 |

astra 的输出字符数只有 fable-5-1 的 0.38–0.77 倍,看上去像是效率优势。但这个数字必须拆开看:
- A 组(两边都全对)字符比 0.377 —— 这是干净的简洁性优势
- B-q1 字符比 0.140 —— 这不是简洁,是 97 个字符只回答了三分之一的问题,对面 866 个字符回答了全部
- B-q2 字符比 0.245 —— 这也不是简洁,是顺着一个不成立的前提编了个短答案
把 B 组的字符比记成效率优势是错的。

一、先说清楚:跨模型族的对比,有三件事必须先处理#
这一点比测试结果本身更重要,因为大部分跨族对比是在没处理这三件事的情况下做出来的。
1.1 两个模型不在同一条上游路径上#
上一轮做同族对比(fable-5.1 vs fable-5)时,可以把两个模型钉死在同一条上游路径上,路径差异整体消掉。这一轮做不到:这两个模型在本站没有任何一条共同的承载路径。
能做的只是各自钉死一条确定路径,消除路由随机性。但"两条路径本身不同"这个事实消不掉,只能在读数时把它的影响单独量化出来。
1.2 分词器密度差 1.91 倍,输出 token 数不能跨族相除#
用同一段递增长度的填充文本,对 input_tokens 做最小二乘拟合:
| 模型 | 斜率(token/单位) | 截距(token) | 最大残差 |
|---|---|---|---|
| claude-fable-5-1 | 21.000 | 18.00 | 0.00 |
| gpt-6-astra | 11.000 | 309.00 | 0.00 |
残差 0.00,两条线是精确线性的。斜率相差 1.91 倍——同样一段英文,Claude 系记 21 个 token,OpenAI 系记 11 个。
任何跨这两族的输出 token 比值都不表达效率,只表达分词器差异。 所以本文的主效率口径是输出字符数,token 数只记录不相除。
顺带验证了一件事:claude-fable-5-1 走 /v1/chat/completions 拟合出的 21.000 / 18.00,与上一轮走原生 /v1/messages 拟合出的数值逐位相同。说明 OpenAI 兼容端点的翻译层不扭曲输入计量,本轮用统一端点做对比是成立的。
1.3 每请求固定开销相差一个常数,必须先扣掉#

截距 309 明显不正常——常规范围是 8–25。在另外两条独立路径上对同族模型做同样拟合:
对照路径 1 斜率 11.000 截距 22.00
对照路径 2 斜率 11.000 截距 22.00
斜率完全一致,说明 11.000 是这一族分词器的真实密度、计量本身没问题;正常的每请求固定开销是 22 token。所以本轮 astra 那条路径每请求多了约 290 token 的固定内容,不是用户发的。
这个结论有一个不是设计出来的独立交叉验证。三组负载的输入 token 原始比值毫无规律,但减去同一个常数 290 之后塌缩到一致区间:
| 组 | astra/fable 原始比 | 减 290 后 |
|---|---|---|
| A 短单发 | 4.871 | 0.729 |
| B 长前缀 | 0.697 | 0.682 |
| C 重推理 | 2.000 | 0.728 |
一个常数同时解释三个相差 7 倍的比值。这只能是加性固定块——分词器效应是乘性的,乘一个数不可能让 4.871 和 0.697 同时落到 0.7 附近。
二、A 组:短单发改写(各 3 次)#
一句话改写,无系统提示、无工具、无缓存。
claude-fable-5-1 chars 158 / 185 / 142 out_tok 45 / 65 / 47 lat 3.5s
gpt-6-astra chars 61 / 61 / 61 out_tok 14 / 14 / 14 lat 3.2s
6 次全部正确。astra 明显更简洁,而且确定性极高:3 次里 2 次输出逐字节相同,输出 token 每次恒为 14。
astra : "High server traffic caused slower-than-normal response times."
fable : "Because the server had high traffic, users experienced slower
response times than usual."(外加一个更短的备选)
这一组的 0.377 是干净的简洁性证据,因为两边都全对。做分类、抽取、短改写这类流量,astra 的表现是实打实的优势——更短、更快、可复现。
三、B 组:约 18,700 token 规格文档 + 提问#
规格文档是程序生成的 300 条规则,每条规则的状态、阈值、严重度、保留天数都由下标唯一决定,所以标准答案可以独立推导,不依赖任何模型。
q0:列出符合双条件的规则 ID#
标准答案:i%5==3(DISPUTED)且 i%3==0(high)→ i%15==3 → 从 R003 起每隔 15 条,共 20 条。
两个模型都给出精确的 20 条,无遗漏无多余。这一格打平。
q1:最长保留期是多少,由哪条规则决定(各 6 次)#
标准答案:REVERSED 是 i%5==2,保留期 30+i%90,最大值在 i%90==87 时取到 → 117 天,由 R087 / R177 / R267 三条并列。
| 答对 117 这个数值 | 三条并列全给出 | |
|---|---|---|
| claude-fable-5-1 | 6/6 | 6/6 |
| gpt-6-astra | 6/6 | 1/6 |
astra 每次都答对了 117 这个数值,但归属出错。而且问题比"答得不全"更严重——其中 2/6 给出的规则号是事实错误:
#1 "117 days, set by Rule R157"
#3 "117 days, set by Rule R157"
R157 的保留期是 30 + (157 % 90) = 97 天,不是 117。这不是漏了另外两条,是编了一条不成立的归属。
fable-5-1 每次都主动点明这是三路并列:
"Longest REVERSED retention: 117 days — and it's a three-way tie,
not a single rule: R087 / R177 / R267"
字符数 astra 均值 113.8,fable 均值 813.8,比值 0.140。这个 0.140 是答少了,不是效率。
q2:带假前提的提问(各 6 次)#
题目措辞里刻意埋了一个假前提:「有两条规则会同时触发,是哪两条?」
按规格实际情况,delay=8h 时全部 60 条 SETTLED 规则都会触发。"两条"这个前提根本不成立。
| 否定假前提 | |
|---|---|
| claude-fable-5-1 | 6/6 |
| gpt-6-astra | 1/6 |
fable-5-1 每次都开篇第一句就否定(在答案里的相对位置 0.0):
"The premise doesn't hold: it's not two rules, it's sixty."
astra 的 5/6 直接以 "The two rules are:" 开头,顺着假前提作答,而且每次临时挑出不同的一对:
#0 R006 + R026
#1 R006 + R026
#2 R006 + R011
#3 R006 + R026
#4 R006 + R026
被挑中的规则的字段值本身都算对了(R006=36 天、R026=56 天、R011=41 天),错的是顺从了一个不成立的前提,并临时凑出一对来满足"两条"这个措辞。只有 1/6 在结尾补了一句 "These are not the only matches: all SETTLED rules fire at 8 hours"。
6/6 对 1/6,这是本轮差距最大的一项。 在 RAG、文档问答、客服这类用户提问本身可能带错误预设的场景里,这个差距的实际影响比 benchmark 分数大得多。
四、C 组:重推理调度题(各 13 次)#

8 个作业带依赖关系,5 个 worker,要求算出关键路径、最小 makespan,以及"减少哪一个作业的时长能把 makespan 压得最低"。
标准答案:关键路径 A→B→E→G→H = 21;5 worker 下最大并发只有 2,makespan 同为 21;最优单点优化是把 G 从 6 减到 2,makespan 降到 17。
| 通过 | 输出字符均值 | 延迟均值 | |
|---|---|---|---|
| claude-fable-5-1 | 13/13 | 1759.3 | 27.3s |
| gpt-6-astra | 10/13 | 1356.5 | 34.4s |
astra 的失败模式一致且可读。它选择把 E 减 1 秒得到 makespan 20,并给出这样的断言:
"A reduction of more than 1 second in any one critical-path job cannot
improve the makespan further, because the alternate path A→C→G→H has
length 20 s."
这句断言是错的。 G 同时位于 A→B→E→G→H 和 A→C→G→H 两条长路径上,所以减 G 能同时压低这两条:G 减到 2 时,A→B→E→G→H = 17、A→C→G→H = 16、A→C→D→F→H = 17,makespan = 17。
astra 只盯着单条关键路径找瓶颈,漏掉了 G 是两条路径的共享节点。这是一个具体的、可复现的推理盲点,不是随机波动——13 次里失败的 3 次都是同一个模式。
这一组也是唯一 fable-5-1 更快的一组。
五、一个统一端点上的计量陷阱#
走 /v1/chat/completions 时:
claude-fable-5-1 completion_tokens = 2311 / 1990 / 2476
reasoning_tokens = 0 / 0 / 0 ← 全为 0
gpt-6-astra reasoning_tokens = 534 / 740 / 776 ← 正常上报
同一个模型、同一道题,改走原生 /v1/messages:
claude-fable-5-1 output_tokens = 2101
thinking_tokens = 1243 ← 明确拆出
Claude 系模型的思考量在 OpenAI 兼容端点上被折进了 completion_tokens,而 reasoning_tokens 报 0。
这意味着:任何在统一端点上做跨模型输出量核算的系统,都会把 Claude 的思考量归错类——看起来 Claude"不思考",实际上 1243 个思考 token 被混进了正文计数里。要拿到真实拆分,必须走原生端点。
六、这一轮不能证明什么#
写下来是因为这些边界比结论更容易被忽略:
不能证明 astra 整体能力更弱 —— 只测了 4 类任务,29 个判分项
不能证明 fable-5-1 不犯同类错误 —— 它本轮 29/29,但样本量有限
不能证明延迟差异来自模型本身 —— 两条上游路径不同,延迟不可归因
不能把输出 token 跨族相除 —— 分词器密度差 1.91 倍
不能把 B 组的字符比读成效率 —— 那里的简短主要来自答少了
其他限制:A 组 3 次采样、B-q0 只有 1 次采样,这两格结论强度低于 6 次和 13 次的那几格;四类负载是构造的,不等于真实流量分布;两个模型跑在不同上游路径上,这是本轮无法消除的结构性限制。
七、选型口径#
短任务、分类、抽取、改写 —— 选 astra。两边正确率相同,astra 输出字符 0.377 倍、更快、且确定性极高(输出恒定 14 token、逐字节可复现)。这类流量它是更好的选择。
需要完整枚举、并列项、归属准确 —— 选 fable-5-1。astra 在 q1 上 5/6 给出不完整归属,其中 2 次归属本身就是错的。
用户提问可能带错误预设(RAG / 文档问答 / 客服) —— 选 fable-5-1。6/6 对 1/6,差距最大的一项。
重推理、调度、路径优化 —— 选 fable-5-1。13/13 对 10/13,且 astra 在这一组反而更慢。
跨模型核算 —— 不要在统一端点上比 Claude 与非 Claude 的输出 token,分词器密度和思考量上报口径都不一致。
复现#
两个模型都在 Crazyrouter 上,走标准 OpenAI 兼容端点:
curl https://cn.crazyrouter.com/v1/chat/completions \
-H "Authorization: Bearer $YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6-astra",
"max_tokens": 8000,
"messages": [{"role": "user", "content": "..."}]
}'
把 model 换成 claude-fable-5-1 即为对照组。C 组的调度题原文:
A distributed job queue has 5 workers. Each job has a duration and a dependency list.
Jobs: A(4s, deps=[]), B(3s, deps=[A]), C(7s, deps=[A]), D(2s, deps=[B,C]), E(5s, deps=[B]),
F(1s, deps=[D]), G(6s, deps=[C,E]), H(3s, deps=[F,G]).
Compute the critical path length, the minimum makespan with 5 workers, and identify which single
job's duration you would reduce (and by how much) to shorten the makespan the most.
Show the schedule as a table of (job, start, end, worker). Answer precisely.
判分标准:关键路径 21、makespan 21、最优单点优化到 17,三项数值全对才算通过。
需要注意,跑重复实验时每次请求都要加一个唯一 salt(比如时间戳),否则提示缓存会污染输入 token 的读数——本轮第一次拟合就因为这个拿到过斜率 −0.835 的废数据。
本文全部数据在 https://cn.crazyrouter.com/v1 上实测产出,两个模型均可直接调用。注册获取 API Key





