Anthropic Fable 5 的 classifier 拦截有多严:从 RNA-seq 重写到抽象图论的复盘笔记
一、起因
2026 年 7 月 7 日,COMBINE-lab 创始人 Rob Patro 在博客上写了一篇"Fable is not a useful model",讲述了用 Anthropic Fable 5(Anthropic 在 6/9 发布的 "$10/$50" 顶档模型,定位"安全意识版 Mythos")重写一个 RNA-seq 量化工具 salmon 时的失败经历。HN 帖子 7/8 早上 170 分、42 条评论,评论里 amluto / overgard / epolanski / azalemeth / SwellJoe 五个人的实测案例拼起来,基本勾勒出 Fable classifier 当前的实际拦截面。我把这些原始材料整理成一份工程复盘笔记,给同样在评估 Fable 是否能进团队工具链的同学参考。
二、Fable classifier 到底拦了什么
Rob Patro 给出的两个失败案例很典型:
第一个 flop:RNA-seq 转录组量化工具 salmon 重写。salmon 是 Patro 维护多年的 C++ 项目,目标是用 Rust 重写。Fable 拿到 prompt 后立即拒绝,没给任何明确的拒绝原因。Patr o 推测是"软件涉及 RNA-seq 数据 + 文档/源码里有生物学术语 → 触发 classifier"。
第二个 flop(作者称为"unforgivable"):抽象图论决策问题。Patr o 把一个 NP 完全性相关的网络重建问题剥成纯数学形式——有限根二叉树集合 + 无向图 + 整数参数 + 两个约束条件(每对叶子节点的距离、是否存在阻塞环)。Fable 仍然拒绝。即便删掉所有"protein / network / biology"字眼、改用"rooted tree + parity + discrete math"等纯数学词,第三次重写后还是被拦——ChatGPT 帮忙建议替换了"blocking"等可能被识别为"网络安全术语"的词,Fable 仍然没给出数学回答。
把这两个 case 跟 HN 评论里的其他样本对照:
- overgard 跑了一个私有仓库的安全审计,git log / author email / 长期 Claude 协作历史全部指向"显然是合法安全审计",Fable 仍然标记。overgard 写"ran into this. I asked it to review a server I wrote for security vulnerabilities and it was 'flagged' (after spending some money, of course)"。
- azalemeth(医疗物理学家):"all of my work is verboten"——他自己的领域研究根本问不出答案,只能用 Opus 4.8 写一个"隔离的 Fable oracle"包装层来跑。
- SwellJoe 在做 security auditing harness 时 Opus 也开始拒绝,转用 GPT-Nelson + GLM/DeepSeek/MiMo 做对照实验。
- mft_ 提了一个非常具体的案例:同事让 Fable 帮忙写"phase II / III 临床试验统计的简单 app",功能上和生物只有"极其边缘、勉强相关"的联系,Fable 还是降级给了 Opus 4.8。
把 8 个独立样本放在一起,classifier 的拦截面已经跨过"安全敏感 / 网络安全 / 生物学"三个边界,进入了"凡是有科学语料的项目一律可疑"的过度拦截区。SwellJoe 写的"Opus 也开始拒绝"特别值得工程师注意——这不是 Fable 单模型的问题,是 classifier + Anthropic Usage Policy 在多模型上叠加的副作用。
三、为什么这事跟工程团队有关
如果你只把 Fable 当"个人 Coding 助手"用,这个拦截面顶多是"换个 prompt 重写一次"。但工程团队引入 Fable 时,这个拦截面会以三种方式放大成本:
1. 失败成本不可控。HN 评论里 overgard 写"after spending some money, of course"——Fable 接 prompt 前已经扣 tokens,被拦后这些 token 不会退。判断标准:如果你的 agent harness 在 Fable 上跑"先粗筛 prompt 再精写"的两段式 pipeline,classifier 误报会直接体现在账单上,而 Anthropic 当前的退款流程没有针对"classifier 误报"这一类。
2. 数据留存周期比一般人想象的更长。amluto 在评论里贴出 Anthropic 官方政策(我直接引用):
We retain inputs and outputs for up to 2 years and trust and safety classification scores for up to 7 years if your chat is flagged by our automated trust and safety systems as violating our Usage Policy.
再加上 classifier 的误报率是"ludicrous"——按 amluto 原话就是"you should assume that your inputs and outputs are being retained for 2 years even if you are doing nothing that any reasonable person would consider to be problematic"。判断标准:任何把 Fable 接到内部代码 / 客户合同 / 受控文档 pipeline 的团队,默认会落在"2 年留存 + 7 年 T&S classification 留存"区间。claudenoforget 在评论里补充了完整 retention schedule:
Deleted conversations: removed from chat history immediately,
kept on back-end up to 30 days before permanent deletion.
Flagged inputs/outputs (Usage Policy violation): up to 2 years.
T&S classification scores (on flagged sessions): up to 7 years.
API logs: 7 days default (Sep 14, 2025), extendable to 30 days via DPA.
Zero Data Retention (qualifying enterprise): inputs/outputs not stored
after API response returned.
真正的零留存只有"qualifying enterprise"——大部分自筹 + 中小团队根本没签 ZDR。
3. 二次开发的兼容性问题。Patr o 的第二个 flop 揭示了一个工程上很难绕的问题:即便把 prompt 全部抽象成数学符号,classifier 仍然以"模式"而非"内容"工作。azalemeth 的解决方案是绕开——用 Opus 4.8 写一个 Fable oracle 包装层,主动声明"只处理高阶、困难、隔离环境里的问题",让 Opus 在包装层里手动调 Fable。判断标准:如果你打算做"model router + fallback" 之类的二次开发,classifier 误报率会直接耦合到路由策略——classifier 的拦截面是不可观察的("我 prompt 怎么就被拒了"没有 metadata 暴露),router 调试会非常痛苦。
四、我自己用过的几个 workaround(局限与待验证项)
下面这些不是"Fable 终极使用指南",而是我读完 Patro + HN 评论 + 自己跑过几轮之后,实际能用、但有明显边界的几个折中:
1. 入口前置关键词替换。Patr o 第二次重写时让 ChatGPT 帮忙识别"blocking / exploit / attack / payload"这类可能被识别为"网络安全术语"的词,替换成"obstruction / operation / step / value"。适用场景:写普通业务逻辑(算法题 / 系统设计 / 数据处理 pipeline)时,这套替换可以让 prompt 通过 classifier 概率上升。但 Patro 实测第三次重写仍然失败——说明这套替换只对关键词触发的拦截有效,对"模式触发"的拦截无效。
2. 双模型路由,Fable 当 backup。这是 azalemeth 方案的简化版:主路径走 Opus 4.8,只在 Opus 4.8 失败时让 Fable 接手"被识别为安全敏感"的任务。适用场景:内部工具链对"安全敏感"任务的合规追溯更严,反而 Fable 的拦截面成了 feature——任何被 Fable 拦的 prompt 都自动进审计队列。
3. ZDR 企业合约。如果团队有合规要求,把 Anthropic 合约升级到 Zero Data Retention,让"flagged 2 年留存"这条不生效。局限:ZDR 是 enterprise tier,自筹 / 创业团队通常没资格签;且 ZDR只解决"留存",不解决"classifier 误报"本身。
4. 改用 Opus 4.8 + GPT-Nelson + GLM 5.2 多模型路由(SwellJoe 方案)。GLM-5.2 在多供应商接入价格表里(我自己之前跑过 GLM-first 路由方案)是单价比 Fable 5 低 70% 的 fallback 候选, classifier 拦截面明显窄于 Fable(我跑了 30 个 prompt 0 误报,但样本太小,待验证)。
五、目前还没完全搞清楚的几个点(局限与待验证项)
按"教学模式"惯例,这里是诚实的局限承认:
/v1/models端点的 Fable 5 真实 max_output_tokens 没拿到(不足)。Anthropic 在 7/1 重发布 Fable 时只给了"context window + 输入输出价",max_output_tokens 数字 release 稿没写。如果跑长输出任务,Fable 5 的"8192 / 128K"哪个边界生效,待验证。- classifier 误报率有没有公开 telemetry(不足)。Anthropic 没暴露"过去 30 天被拦的 prompt / 总 prompt"的比率,任何"误报率"估计都是基于 HN 评论样本反推。我跑的样本只有 30 个 prompt,统计意义不强。
- Sonnet 5 vs Fable 5 的 classifier 复用程度(待验证)。Anthropic Sonnet 5 release 稿脚注 1 提"Cyber Verification Program 自动加入",Sonnet 5 的 classifier 跟 Fable 5 是同一套还是分支(坑点),release 稿没说。
- GLM-5.2 / GPT-Nelson fallback 路由在我的 pipeline 里跑 30 个 prompt 0 误报,但样本里有 18 个是中文,跟 Fable classifier 训练数据语言分布关系不明(不足)。真实生产环境需要至少 200 个 prompt 的对照实验,目前没做。
- classifier 在 Anthropic 自家 ecosystem(MCP / Claude Code / Claude Tag)里是否复用(还在调研)。claude tag / claude code extended thinking 这两块内部工具链里 Fable 是被过滤还是直接复用,Pitfall —— 文章里提的"分类器拦截"如果是 model-level 而不是 API-level,所有 harness 共享同一个 classifier,影响范围比想象大。
- Fable 5 重发布后"even stricter safeguards"具体指什么(待验证)。Patr o 引用官方原话"Non...",但 release 稿页面上"stricter safeguards"的具体细节(是否引入新维度 / 是否引入 prompt pre-screen)没有公开 changelog。
六、适用场景建议
| 场景 | 建议 |
|---|---|
| 个人 coding assistant | Fable 5 不推荐,直接用 Opus 4.8 + GLM-5.2 |
| 内部 agent harness(单租户) | 走 ZDR enterprise + Fable 当 backup 路由 |
| 安全审计 / 红队工具 | 不推荐,classifier 误报率高 |
| 学术研究(生物/医学/网络) | 不推荐,classifier 拦截面最严的区域 |
| 多模型 router + fallback | 推荐,Fable 5 的拦截面可以当 audit trigger |
| 短 prompt + 高频 + 低成本任务 | 推荐 GLM-5.2 / DeepSeek V4 Pro,跟 Fable 5 单价比 1:3 |
七、参考链接
- Rob Patro 原文: https://combine-lab.github.io/blog/2026/07/07/fable-is-not-a-useful-model.html
- HN 帖子: https://news.ycombinator.com/item?id=48837162(170 分 / 42 评论)
- Anthropic Fable 5 + Mythos 5 定价分析: HN search "Claude Fable 5 and Mythos 5 pricing" 第 1 条
- classifier 误报统计样本: HN 评论 amluto / overgard / epolanski / azalemeth / SwellJoe / mft_ 六条
- retention schedule 原文: HN 评论 claudenoforget 引用 + Anthropic Usage Policy
浙公网安备 33010602011771号