Claude 标价没动,你的账单悄悄涨了三成
681 和 1178。
同一份 TypeScript 文件,2888 个字符,一个字节都不差。在 GPT-5.x 那边,它被切成 681 个 token。到了 Claude 最新的分词器手里,1178 个。
1.73 倍。而你是按 token 付钱的。
先把黑话展开一下。大模型不按字符读文本,它先用一个叫 tokenizer 的分词器把文字切成一个个碎片,一个碎片就是一个 token,API 账单按碎片数量乘以单价来开。你在定价页看到的「每百万 token 多少美元」,只是那个乘法里的第二个数。第一个数,也就是你的内容到底会变成多少个 token,每家切法完全不同。同一段话,OpenAI 切 100 刀,Anthropic 可能切 150 刀。定价页不会告诉你这个。
这两天 Hacker News 上一篇实测文把这件事整个摊开了。作者是 playcode.io 团队,做法很朴素,拿 16 份真实文件,英文散文、HTML、JavaScript、Python、TypeScript、Rust、JSON 工具 schema、中文聊天记录,还有他们自家 agent 的系统提示词,逐字节喂给每家厂商自己的计数接口,把结果一格一格记下来。
不是估算,不是拿字符数除以四那种毛估,是每家自己承认的、拿来开发票的那个数。

结论有两条。我跟你说,每一条都值得你重新看一眼自己的账单。
第一条,Anthropic 换了 tokenizer,没跟你说这是涨价。
Sonnet 4.6 和 Opus 4.6 用的是旧分词器。Sonnet 5、Opus 4.8、Fable 5 用的是新的。同样的内容,用 Anthropic 官方的 count_tokens 接口分别数一遍,英文散文多了 34%,TypeScript 多了 31%,Rust 多了 29%,JSON 工具 schema 多了 26%。好家伙,最狠的是他们自家那份 4 万多字符的 agent 系统提示词,多了 39%。
而 Opus 4.6 和 Opus 4.8 的标价,一模一样,都是每百万输入 token 5 美元、输出 25 美元。
按一个真实 agent 请求的构成加权,大头是英文系统提示词、工具 schema、代码和 JSON,新分词器每个请求大约贵 32%。同样的活,同样的标价,账单多三成。任何发票上都没有这个条目。

有朋友可能要说,count_tokens 只是个预测接口,万一实际计费不是这个数呢。作者较真到直接发了真实付费请求,max_tokens 设成 1,去读 usage.input_tokens,发票就是按这个字段开的。同样的内容,Opus 4.6 计费 2541 个输入 token,Opus 4.8 计费 3191 个,都和预测值一分不差。顺手把全系最贵的 Fable 5 也验了一遍,3191,跟 Opus 4.8 一个数,说明 Fable 用的就是同一个新分词器,更高的标价背后没有再藏一层加价。整套验证花了 8 美分。
8 美分测出一次没有公告的涨价,这钱花得有点子牛逼。
还有个细节我觉得比正文还好看。Sonnet 5 首发价 2 美元一百万输入 token,比 Sonnet 4.6 的 3 美元低,发布那天所有人都当它是降价,圈里一片欢呼。但那是优惠价,2026 年 8 月 31 日截止。优惠期内,更低的费率勉强盖过多出来的 token,Sonnet 5 确实比 4.6 略便宜一点。9 月 1 日起价格回到 3 美元,多出来的三成 token 还在。同样的代码,届时会比 Sonnet 4.6 时代贵大约三分之一,而两代模型的定价页写的是同一个数字。
你看,降价的欢呼是公开的,涨回去的那一天不会有任何推送。
第二条,差距在代码上最大,而代码恰恰是你喂得最多的东西。
跨厂商比一遍,以 GPT 的 o200k 分词器为基准,Claude 新分词器在 TypeScript 上是 1.73 倍,Rust 1.58 倍,JavaScript 1.52 倍,Python 1.50 倍。英文散文只有 1.40 倍。也就是差距最大的地方,正好是 coding agent 一天到晚在处理的东西。
为什么偏偏是 TypeScript 最惨。因为 o200k 在它上面效率高得离谱,大约 4.24 个字符压成一个 token,明显是在海量 web JavaScript 和 TypeScript 语料上喂出来的,camelCase 变量名和 JSX 那些套路它见得太多,整个词直接压进单个 token。Claude 的分词器对各种语言的密度比较平均,于是差距恰好在 GPT 最强的地方被拉到最大。
中文用户的情况不太一样。Claude 处理中文一直比 GPT 多花 1.45 到 1.55 倍的 token,新旧分词器都这样,这是 Claude 家族在中日韩文本上的老毛病,不是这次新引入的。倒是 Gemini 在中文上比 GPT 还省,同一段中文散文 GPT 切 300 个 token,Gemini 只要 256 个。你主要写什么语言,哪家对你更贵,答案是不一样的。
把标价乘上实测的偏离度,就能得到处理同样工作的有效价格。这一段建议你慢慢看。
Opus 4.8 标价 5 美元、25 美元,按典型英文编码请求折算,实际是 7.5 美元、37.5 美元。Sonnet 5 优惠期结束后标价 3 美元、15 美元,实际 4.5 美元、22.5 美元。Fable 5 标价 10 美元、50 美元,实际 15 美元、75 美元。而 Gemini 3 Flash 标价 0.5 美元,分词器比 GPT 略重一点,折算完 0.55 美元,依然是断层地便宜。

我日常的工作就是给模型搭脚手架,agent 的工具链、调度、上下文管理,让模型真正干活的那层工程,token 预算是我天天要盯的东西。所以看到缓存那一段的时候,我是真的坐直了。
缓存读写也是按 token 计费的。分词器多切 32%,每次缓存写入和读取也跟着贵 32%。而跑过长 agent 会话的朋友都知道,那种几十轮的会话里,缓存读取才是账单大头,系统提示词和工具定义每一步都要重新过一遍缓存。前面那行 +39% 的系统提示词,不是一次性成本,是每个请求都背着的固定开销。乘上去,这笔账比 32% 这个数字看起来的样子疼多了。
还有一个独立佐证。Ploy 这周发的迁移报告,同样的构建任务,GPT-5.6 Sol 用了 170 万输入 token,Claude Opus 4.8 用了 260 万,少了约 35%。那是完整任务的账单,混进了模型本身的啰嗦程度,不是纯粹的分词器对比,但方向完全一致。
说实话,这篇文章也有它测不到的地方,作者自己也写明了。以上全部是输入侧,完整的 agent 任务还有输出 token、思考 token、工具调用次数、子 agent 数量,这些变量叠进去,整任务成本的偏离可以远超 1.73 倍,方向也不一定。他们另做过一个实验,让九个模型画同一张图,成本从 0.004 美元到 0.8 美元不等,差 200 倍。所以别把 1.73 当成万能常数到处套,它只是输入侧的上界。
那具体该怎么办。我自己捋下来就三件事,都不难。
拿你自己仓库里最典型的几个文件,跑一遍各家的计数接口。Anthropic 有官方 count_tokens 端点,OpenAI 用 tiktoken 里的 o200k_base,十来分钟的事,你会得到属于你自己代码库的乘数,而不是别人博客里的。
厂商发新模型而标价没变的时候,多问一句,tokenizer 动没动。从今往后,分词器变更就该被当成价格变更来审。Opus 4.6 到 4.8 是一次约 32% 的涨价,这句话说出来刺耳,但数字就是这么算的。
预算按每完成一个任务多少钱来记,别按每百万 token 多少钱。usage 字段给你的是地面真值,它一次性折进了分词、啰嗦度、思考和缓存。$/Mtok 当开场白可以,当结论不行。
怎么说呢,我自己的感受是,这事最扎人的不是贵三成。贵三成认了,Claude 在不少活上确实好用,质量摆在那,贵有贵的道理。扎人的是它不出现在任何地方。价格变更好歹有公告有推送,分词器变更连 changelog 都懒得给你一行,你的账单就这么静悄悄地厚了一层。厂商其实明天就能把这事修好,在标价旁边加一列每字节价格,谁先做谁体面。在有人做之前,换算的活儿就只能在你我身上。
模型该用还是用。只是下次再看定价页的时候,记得那两个数字,681 和 1178。
同一份文件,两个价。你要比的,是过完 tokenizer 之后你真正付的那个。