每百万 token 降价 20%,一道任务的账单却涨了约 31%。11 月 10 日这批 AI 消息里,最让我停下来的是这组反差。Claude Fable 5.2 更强、更便宜,放到某项专业任务评测里,却因为做了更多工作而花得更多。另一边,Meta 把 Agent 子任务的输入报价压到了每百万 token 0.10 美元。今天聊六条线,从模型选型、工具迁移到权限和验收,看看程序员该把钱和注意力放在哪里。
一、Claude Fable 5.2 降价了,为什么跑完任务可能更贵?

先说结论,Fable 5.2 值得加入候选,但我不会因为降价就把所有 AI 编程任务切过去。
按 Anthropic 发布材料,Fable 5.2 每百万输入、输出 token 分别收费 8 美元和 40 美元,提供百万 token 上下文、最高 128K 输出。相比前代的 10 美元和 50 美元,两个方向的单价都下降了 20%。
降价很明确,省钱要另算。
Latent Space 引用的 SemiAnalysis GDPx 专业任务评测里,单任务成本从 67.16 美元升到了 88.15 美元,约增加 31%。这组结果对应特定任务和运行配置,不能套成所有用户的账单变化,但它已经足够提醒我们,模型可能一边降低单价,一边增加推理、工具调用和检查工作。
放到业务开发里很好理解。同样修改一个权限模块,一个模型读完三个文件就提交,另一个继续查调用方、补测试、启动额外检查。后者可能更可靠,也可能只是在重复探索。账单只会记录它实际消耗了多少,不会替你判断这些步骤值不值。
推理档位也会放大差距。
一篇 Fable 5.2 开发者指南 引用的 Artificial Analysis 数据中,max 档单任务成本为 26.54 美元,high 档为 9.08 美元,对应成绩为 64.6 和 61.8。前者费用约为后者的 2.9 倍,分数多了 2.8 分。这个分差属于综合评测,不能直接换算成代码正确率,更不能换算成团队提效比例。
反过来,更强模型也确实可能少走弯路。Anthropic 给出的 FrontierCode 2.0 结果中,Fable 5.2 在 High 档取得 45.3%,接近 Opus 5.5 在 Max 档的 45.5%,并称单任务成本约为一半。这里比较的是两套具体配置,不能扩大成 Fable 做什么都比 Opus 便宜。
模型选型该比较一次合格修改的总成本。
回到这块,我会把同一模型的不同 effort 档位也当成不同候选。拿最近 10 到 20 个已经有验收标准的任务,固定仓库起点、工具权限和重试次数,把失败任务的费用一起记进去,再看每个验收通过任务分摊了多少钱。一天跑不完全部,就先挑跨文件修改、定位失败测试、接口迁移各两例,别只挑模型擅长的短函数。
二、低价模型能接手 Agent 子任务,还是只能便宜地犯错?

Muse Ember 的价格很吸引人。短提示下,每百万输入 token 0.10 美元,输出 0.50 美元,与 Fable 5.2 的 8 美元、40 美元相比,单价差了 80 倍。
但这个比较只能说明标价差距。
Simon Willison 的介绍 提到,Ember 支持百万输入 token,长提示存在阶梯价格,实际任务成本还受推理 token 消耗影响。提供的摘要提到超过 20 万输入 token 后涨价,但正文节选没有展开完整分段价格,所以不能拿短提示报价估算百万上下文任务。
更值得看的是任务分工。Ember 面向工具调用、代码子任务、路由、信息抽取和长文档解析。对已经接入多个工具的 Agent,这些步骤可能反复发生,用旗舰模型做每一次参数提取,确实容易把预算花散。
顺着上面聊,便宜模型最适合从输出容易检查的步骤开始。
比如从用户描述里抽取仓库名、判断应该查日志还是读文件、把工具结果整理成固定字段。这些工作有明确边界,程序可以检查格式,也容易安排失败回退。让它直接负责复杂跨文件重构,要求就完全不同了。
一篇 Muse Ember 评测解读 引用 Meta 公布的数据,Ember 在 AutomationBench-AA 得到 37.8,Haiku 为 13.9;但在按真实工程修改可合并性评判的 FrontierCode 2.0-AA 中,Ember 为 27.2,Haiku 5.5 为 34.9。这些测试环境并不统一,也不能拿两个分数直接计算业务收益,不过它至少说明,综合能力接近和工程修改能力接近,是两件事。
我更愿意让便宜模型先做字段提取和简单路由。
这里有个坑,路由错一次,后面可能连续调用错误工具,再升级到大模型重做。省下的首轮费用,很容易被后面的重试吃掉。小模型的验收指标应该包含参数有效率、选错工具的比例,以及升级后才能完成的比例。
预算也应该由程序卡住。下面这段 JavaScript 只演示调用前预留费用,解决并发请求都看到同一份可用预算的问题。
function createBudget(limit) {
let spent = 0;
let reserved = 0;
return {
reserve(upperBound) {
if (!Number.isFinite(upperBound) || upperBound <= 0) {
throw new Error("缺少有效的费用上界");
}
if (spent + reserved + upperBound > limit) {
throw new Error("任务预算不足");
}
reserved += upperBound; // 发请求前预留,防止并发超支
let settled = false;
return actualCost => {
if (settled) throw new Error("重复结算");
if (!Number.isFinite(actualCost) ||
actualCost < 0 || actualCost > upperBound) {
throw new Error("费用异常,保留预留并停止后续调用");
}
settled = true;
reserved -= upperBound;
spent += actualCost;
};
},
snapshot: () => ({ limit, spent, reserved })
};
}
最容易翻车的是传入 upperBound 的那一行,它必须覆盖当前价格、最大生成量及适用的推理计费,无法给出可靠上界时就不能把这段代码当成完整预算系统。
当天可以先抽 30 条已有工具调用记录,只替换参数提取这一步。把无效参数、错误路由、重试费用一起统计,跑完再决定是否扩大范围。
三、Claude Code、Copilot 和 Cursor 接入新模型,原来的配置还算数吗?

模型升级已经走进日常工具了。
据 Claude Code 迁移报道,2.1.321 将默认 Fable 更新为 5.2,原先保存的 5.1 选择会按套餐和组织许可迁移到 fable 别名。Pro、Max 立即迁移,Team、Enterprise 还取决于组织是否允许。
对交互式编码,自动升级可以少操心一次。对 CI、团队评测和回归比较,别名变化却会让结果变得难解释。提示词没动,代码没动,模型已经换了。
能复现结果的前提,是知道当时到底调用了什么。
另一条入口来自 GitHub Copilot 公告。Fable 5.2 面向 Pro+、Max、Business 和 Enterprise 开放,公告明确列出的入口包括 coding agent 和 GitHub Mobile,并采用逐步开放。Business、Enterprise 管理员还需要启用相应策略,不能看到发布消息就认定团队所有 IDE 都能立即使用。
Gemini 4 Carbon 接入 Vercel AI Gateway 的公告 则提供了另一条路线。开发者可以通过网关配置到 Claude Code、Codex、Cursor 等工具,模型标识为 google/gemini-4-carbon,并有截至 2026 年 11 月 30 日的五折优惠。
接入更方便了,比较条件也更容易混在一起。
网关优惠、模型标价、工具自身的套餐额度,不能混成一个价格。不同工具暴露的 effort、缓存、工具调用能力也可能不同。只记录模型名字,仍然解释不了同一个任务为什么换个入口就变贵。
对 AI 办公提效也是一样。今天用聊天窗口整理文档,明天用带检索和工具执行的 Agent 整理同一批材料,流程已经变了,不能把差异全算到模型升级头上。
我会给评测记录补上具体模型 ID、请求档位、工具版本、入口、时间和计费方式。当天最容易做的验证,是用现有配置跑一个固定任务,再明确指定版本跑一次,检查实际模型、输出差异和账单记录;有组织策略的团队,再确认同事是否能在相同入口复现。
四、百万上下文和千 Agent 演示,能证明模型会维护旧项目吗?

说实话,百万 token 上下文已经快成今天 AI 热点里的标配了。Fable 5.2、Muse Ember、Gemini 4 Carbon 都在强调长上下文和持续任务能力。
容量扩大有用,但它回答的是能放多少内容。
MarkTechPost 的报道 给出 Fable 5.2 的百万 token 上下文和 128K 最大输出,同时提醒,能容纳大型项目资料,并不能证明模型准确理解了整个仓库。Vercel 对 Carbon 的介绍也强调复杂软件工程和多阶段计划执行,但没有给出足以计算真实仓库成功率的对照结果。
更吸睛的是多智能体演示。
IT之家转述的官方案例 中,Fable 5.2 协调超过 1,000 个智能体,用 8 天构建了包含设备驱动、文件存储、窗口系统和安装程序的可启动操作系统。另一个 长任务报道 介绍了约千个 Agent 在 30 小时内用 Lean 完成费马大定理证明形式化的演示。
这两件事很有分量,但各有明确边界。可启动操作系统不等于已经通过长期稳定性和硬件兼容性检验;证明形式化是把证明写成可供机器逐步检查的形式,不能理解成模型重新发现了费马大定理的证明。后一个演示里,每个模型只跑了一次,总 token、重复成功率和人工介入信息也不完整。
回到前端仓库,真正麻烦的往往是旧约束。
一个项目可能保留两套请求封装,某个组件因为兼容老页面不能随便替换,还有一条看起来多余的构建规则曾经挡住过部署问题。这些信息即使都在上下文里,模型也得知道哪些是当前约束、哪些是历史遗留、哪些可以改。
495 份 ADR 的实践文章 给了一个更贴近工位的办法。作者把搜索历史决策、尤其是被否决方案,放进设计流程。一个很小的受控实验中,找到目标 ADR 的结果从 0/3 变成 3/3;后续 17 次相关会话中,15 次引用了否决或冲突记录。
样本很小,我只把它当作有价值的流程线索。它也有代价,旧决定可能过时,Agent 找到记录后还可能频繁停下来要求确认。
比起把整个仓库塞满,我更想先让模型读到关键约束。
当天可以挑一个涉及历史设计的跨文件任务,分别提供普通仓库上下文和包含相关 ADR 的上下文,比较它是否重复提出旧方案、是否误改兼容逻辑。权限、时间预算和验收条件保持一致,才看得出多放进去的内容有没有用。
五、Agent 接上数据库和管理接口,权限应该在哪里拦?

你要是也在做工具调用,今天几条实践消息值得放在一起看。模型负责提出动作,真正能不能执行,得由工具和服务端决定。
GPUStack 2.1.1 认证绕过分析 描述了一条危险链路。embedded 网关模式下,应用从 X-GPUStack-Real-IP 请求头读取客户端地址;当未认证请求被判断来自 127.0.0.1,且没有强制本地认证时,程序可能直接赋予管理员身份。
问题出在来源声明参与了授权。作者称已本地复现绕过及修复效果,不过节选也交代,复现没有完整跑过所有网关链路。部署团队应该对照自己的入口、版本和代理配置检查,不能直接把本地结果套到每个环境。
数据库接入的那篇文章采取了相反顺序。
Build Buddy 的 Tiger MCP 实践 中,作者在连接前启用全局只读。按文中描述,写入类管理工具不会注册,数据库会话也由服务端拒绝数据写入和结构变更。工具层和数据库层都有限制,Agent 即使提出超范围动作,也不能只靠换一种说法完成。
提示词里的只读要求,不能代替数据库权限。
同样的问题也出现在普通 Web 应用。1,029 款 AI 应用的审查文章 报告,40% 的 AI 应用至少存在一个高危或严重问题,对照的 188 款早期应用为 45%。这组自动静态检查不能证明 AI 应用整体更危险,项目复杂度和样本匹配也没有充分展开。
对前端更有用的是漏洞位置。登录成功、开启 RLS、隐藏按钮,都不能单独证明用户只能访问自己的记录。数据归属检查依然要落到实际请求上。
下面这段 JavaScript 用两个测试账号检查记录隔离,目标是发现用户 B 能否读到用户 A 的记录。
async function assertRecordIsolation({
baseUrl, recordId, ownerToken, otherToken
}) {
const url = new URL(
`/api/records/${encodeURIComponent(recordId)}`,
baseUrl
);
const readAs = token => fetch(url, {
headers: { Authorization: `Bearer ${token}` }
});
const ownerResponse = await readAs(ownerToken);
if (ownerResponse.status !== 200) {
throw new Error("记录拥有者无法读取,测试前提不成立");
}
const otherResponse = await readAs(otherToken);
if (![403, 404].includes(otherResponse.status)) {
throw new Error(`跨用户读取未被明确拒绝 ${otherResponse.status}`);
} // 不能把 500 当成权限测试通过
}
最容易翻车的是测试数据准备,recordId 必须确实属于拥有者账号,两个 token 也必须代表不同用户,否则通过结果没有意义。
当天就在测试环境选一个详情接口和一个修改接口,用未登录、拥有者、其他用户三种身份直接请求。模型管理后台再额外检查代理传入的身份头是否只能由可信入口设置,这比只检查页面有没有管理员按钮更接近真实权限边界。
六、模型说任务做完了,程序员应该检查哪些证据?

模型更会调用工具以后,我对结果来源反而更在意。
前面那篇 Tiger MCP 实践里,Agent 能列出服务,却因为网络阻断无法查询在线数据库。它通过服务日志辅助定位问题,然后明确说明改用本地结果文件。这一步处理得比较好,管理 API 返回了日志,并不代表 SQL 查询已经成功。
但它随后仍把 Alberta 的时区标错了。能诚实报告工具失败,不保证后续分析全对。
26 节编程智能体实验课 关注的恰好是这些运行时细节,包括循环终止、参数校验、上下文预算、证据指针、超时、重试和幂等恢复。课程使用 TypeScript 和 Node.js,但它的价值不取决于语言,关键在于把执行过程拆成可检查的状态。
超时尤其容易被糊弄过去。一个写入请求没有及时返回,可能根本没执行,也可能已经生效,只是响应丢了。Agent 如果把两种情况都当成失败再试一次,结果可能重复写入。
自动付款也有相同问题。x402 搜索教程 展示了通过 HTTP 402 获取报价、签署 USDC 支付后重试请求的流程。文中搜索和网页提取报价分别为每次 0.008 美元、0.007 美元,但这只是所给教程的报价。节选里的预算实现并不完整,并发预留、报价变化和超时后核对结算都没有交代清楚。
省掉账户和 API 密钥,没有省掉状态管理。
另一个容易混淆的地方是数据处理承诺。GitHub Copilot 的 Fable 5.2 公告说明,Anthropic 默认会保留提示词和输出,用于安全分类器检测,保留数据不用于训练。TechCrunch 的报道又提到企业零数据保留支持,但没有展开具体适用条件。相关报道 不能替代当前工具入口的实际政策。
对技术管理者,这些区别会直接影响能接哪些仓库、能读哪些业务数据。采购时只问会不会训练,还少问了保留多久、通过哪个入口、需要什么配置。
我的判断是,Agent 的交付记录至少要说清楚读了什么、改了什么、验证了什么,以及哪些步骤没有完成。当天就能做一次故障注入,让查询超时、工具返回错误、历史结果仍然存在,检查它会不会把旧文件说成实时数据、把尝试执行说成已经成功。只要这几处还有混淆,我就不会继续扩大它的权限。
总结
11 月 10 日这批消息里,比较明确的产品变化,是 Fable 5.2 给出了新的价格和推理档位,Muse Ember 把低价执行模型带进了候选名单,Copilot 和 Vercel AI Gateway 则增加了现成接入入口。具体能不能用,仍受套餐、组织策略和工具配置影响。
我的取舍很直接。复杂跨文件任务可以重测强模型,参数提取和简单路由可以试便宜模型;团队更应该同时补齐具体版本记录、历史决策检索和服务端权限检查。这些工作能让后面的比较有依据。
还没被证明的,是换了模型就能让你的团队按榜单幅度提效、百万上下文就能理解整个旧项目,以及千 Agent 演示能稳定复制到日常交付。
对天天写业务代码的程序员,我更关心一次修改能否验收、总共花了多少,以及出了问题能否找到证据。这几项跑清楚,再决定要不要升级,心里会踏实得多。
参考
- Claude Fable 5.2 与 Mythos 5.2 发布|Anthropic
- Fable 5.2 的能力与推理成本|Latent Space
- Claude Fable 5.2 开发者指南|dev.to
- Muse Ember|Simon Willison
- Muse Ember 的任务成本与工程表现|dev.to
- Claude Code 默认模型与已保存选择迁移|dev.to
- Claude Fable 5.2 接入 GitHub Copilot|GitHub Copilot Changelog
- Gemini 4 Carbon 上线 AI Gateway|Vercel
- Claude 双模型与百万上下文|MarkTechPost
- Claude 新模型编码成绩与操作系统演示|IT之家
- 千 Agent 演示与 Fable 5.2 成本变化|dev.to
- 从 495 份 ADR 学习如何保留否决理由|dev.to
- GPUStack 2.1.1 请求头信任与认证绕过|dev.to
- 通过只读 MCP 接入数据库|dev.to
- 1,029 款 AI 应用的安全审查|dev.to
- 26 节实验课构建编程智能体|dev.to
- 通过 x402 接入按次付费搜索|dev.to
- Anthropic 新模型与企业数据保留支持|TechCrunch
- 前端进阶之旅