前沿模型实际成本:tokenizer 差异导致隐性涨价
TL;DR · AI 摘要
不同模型的tokenizer差异导致实际成本隐性上涨,Claude新tokenizer在代码场景下比GPT多产生1.5-1.73倍token。
核心要点
- Claude新tokenizer使代码成本增加30-32%,TypeScript文件差距达1.73倍
- GPT的o200k tokenizer被冻结为稳定参考标尺
- Anthropic新旧tokenizer在相同标价下产生30%token差异构成无声涨价
结构提纲
按章节快速跳转。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- tokenizer差异导致成本隐性上涨
- 跨厂商对比
- Claude vs GPT
- TypeScript差距1.73倍
- 代码场景普遍超1.5倍
- Anthropic内部变化
- 新旧tokenizer差异
- 代码类内容增加30%
- HTML/Python等增加15-23%
- 测量方法
- 官方API计数
- 排除DeepSeek/GLM估算数据
金句 / Highlights
值得收藏与分享的关键句。
同一TypeScript文件在Claude新tokenizer下为1,178 token,GPT-5.x为681 token,差距达1.73倍
Anthropic新tokenizer在相同标价下使代码token数增加30%,构成隐性涨价
Claude Sonnet 5促销价将于2026年8月31日恢复,届时成本比Sonnet 4.6高32%
前沿模型实际成本:tokenizer 差异导致隐性涨价 · AI HOT
Hacker News 热门(buzzing.cc 中文翻译)
精选
77
导出 Markdown
前沿模型实际成本:tokenizer 差异导致隐性涨价
2026-07-14 05:50
·
2小时前
ianberdin
阅读原文
playcode.io
精选理由
这篇用实打实的token计数揭开了各厂商定价页藏着的秘密,代码场景下Claude有效价格比GPT贵50-73%,做coding agent的必须按‘每任务成本’而非‘每token标价’来算账。
AI 摘要
同一份 TypeScript 文件在 GPT-5.x 上为 681 个 token,在 Claude 最新 tokenizer 下为 1,178 个,相差 1.73 倍。Anthropic 新 tokenizer 比旧版多产生约 30% 的 token,标价不变,构成隐性涨价。Claude Opus 4.6 与 Opus 4.8 标价同为 $5.00 / $25.00,但新 tokenizer 使同一代码的 token 数增加约 32%。Claude Sonnet 5 的 $2.00 / $10.00 为促销价,2026 年 8 月 31 日后恢复 $3.00 / $15.00,届时相同代码成本将比 Sonnet 4.6 高出约 32%。跨厂商对比中,Claude 新 tokenizer 在代码上比 GPT 多产生 1.50x 至 1.73x 的 token,TypeScript 差距最大。
正文 · AI 翻译
中文
原文
每个模型的定价页面都只显示一个数字:每百万 token 的价格。但这个数字在不同供应商之间无法直接比较,因为“token”并非固定长度的文本。每个模型的 tokenizer 会将同一份文件切分成不同数量的片段,而你按片段付费。我们统计了所有前沿 tokenizer 下相同字节数的内容。同一份 TypeScript 文件,在 GPT-5.x 上是 681 个 token,而在 Claude 最新的 tokenizer 下则是 1,178 个 token——在考虑任何价格差异之前,就已经相差 1.73 倍。而且,Claude 的新 tokenizer 在相同标价下,比它自己上一代 tokenizer 多产生约 31% 的 token。如果你使用 AI 编程智能体进行开发,你的工作负载主要是代码——而这恰恰是差距最大的领域。
定价页面隐藏的数字
一个模型的账单由两个数字相乘得出:
成本 =(你的内容转化成的 token 数量)×(每个 token 的价格)
定价页面只显示第二个数字,并将第一个数字视为常量。但它并非常量。它是模型 tokenizer 的一个属性——tokenizer 是将你的文本切分成计费单位的组件。两个模型可以标出同样的“5.00 美元 / 1M 输入 token”,但针对同一段文字,给你的账单却不同,因为其中一个模型将这段文字转化成的 token 数量比另一个更多。
没有人公布“每单位内容的 token 数量”这个数字,所以也没有人比较它。于是我们测量了它。两个发现:
- 同一供应商:Anthropic 的新 tokenizer 在相同标价下,对同一段代码产生的 token 数量比其上一代多约 30%。这是一次无声的涨价。
- 跨供应商:在代码方面,Claude 的新 tokenizer 产生的 token 数量是 GPT 的 1.50 到 1.73 倍——而 TypeScript,即编程智能体编写最多的语言,情况最为严重。
我们的测量方法
我们选取了 16 个真实样本:英文散文、一个 HTML 页面、JavaScript、Python、TypeScript 和 Rust 文件、JSON 工具 schema 和工具结果、中文聊天和散文、符号密集的文本,以及我们自己的实时智能体系统提示词。我们对每个样本,在每个模型的真实 tokenizer 下,逐字节进行了统计。没有生成,没有估算——只有 token 计数:
- Anthropic(Claude)——使用 Anthropic 官方的 count_tokens 端点。具有权威性:这与 Anthropic 用于计费的计数完全相同。
- OpenAI(GPT)——通过 tiktoken 记录在案的 o200k_base tokenizer。对于最新模型,我们并未盲目信任:我们实际调用了 GPT-5.1、GPT-5.5 和 GPT-5.6 Sol 的 API,读取了实时用量计数,并使用长减短差值法消除了请求框架的影响。三者均与 o200k_base 完全一致(比值为 1.0000)。
- Google(Gemini)和 xAI(Grok)——各自使用自家的 token 计数端点。
在本文中,GPT 的 o200k 作为 1.00 倍的参考标尺。它之所以是合适的标尺,是因为它不会变动:o200k 早已被冻结并公开记录。Claude 的 tokenizer 才是不断变化的部分。有两个模型被刻意排除在外:DeepSeek 和 GLM。对于它们,我们只有粗略的字符数除以四的估算,而非真正的 tokenizer,而编造出来的数字正是本文要揭露的问题。
发现一:标价相同,token 多出约 30%
这是数据集中最清晰的情况,因为费率表上的任何内容都没有变动。Claude Opus 4.6 和 Opus 4.8 的定价完全相同,均为 5.00 美元 / 25.00 美元。唯一的变化是 tokenizer:旧版 tokenizer 搭载于 Sonnet 4.6 和 Opus 4.6,新版 tokenizer 搭载于 Sonnet 5、Opus 4.8 和 Fable 5。每一行的字节数相同,供应商相同,且均在 Anthropic 自家的端点上计数:
内容
旧 tokenizer
新 tokenizer
变化
英文散文(2,115 字符)
476
636
+34%
HTML 页面(3,195 字符)
1,131
1,302
+15%
JavaScript(1,933 字符)
659
794
+20%
Python(2,251 字符)
831
1,022
+23%
TypeScript(2,888 字符)
898
1,178
+31%
Rust(2,924 字符)
1,019
1,312
+29%
JSON 工具 schema(9,948 字符)
2,631
3,306
+26%
我们的智能体系统提示词(42,661 字符)
10,761
14,953
+39%
中文散文(379 字符)
435
433
~0%
按照真实智能体请求的构成方式混合这些内容——主要是英文系统提示词、工具 schema、代码和 JSON——新 tokenizer 每次请求大约多出 +32%。请注意最后一行:中文几乎没有任何变化。这种膨胀是英文和代码带来的效果。
所谓的"降价"并非如此
这重新诠释了一条看似是好消息的新闻标题。Claude Sonnet 5 的定价为 $2.00 / $10.00,低于 Sonnet 4.6 的 $3.00 / $15.00。但这只是首发优惠价,该价格将于 2026 年 8 月 31 日结束。在优惠期内,费用大致相抵:Sonnet 5 生成的 token 数量多出约 32%,但每个 token 的收费却低了三分之一,因此总体成本略低。到了 9 月 1 日,价格将回调至 $3.00 / $15.00——而 +32% 的 token 膨胀则保持不变。从那天起,在相同的标价下,同样的代码在 Sonnet 5 上的成本比在 Sonnet 4.6 上高出约 32%。这个折扣只是一个过渡缓冲,而非降价。
我们已通过实际账单进行了验证
token 计数器在你收到账单之前都只是一个承诺,因此我们还实际发送了付费请求(max_tokens: 1),并读取了每个提供商实际收取的 usage.input_tokens。对于相同的内容:Opus 4.6 计费 2,541 个输入 token,Opus 4.8 计费 3,191 个——两者都与各自的 count_tokens 预测精确匹配。这种膨胀体现在发票上,而不仅仅是估算器中。
我们特意在最昂贵的模型上多花了这笔调用费,因为“相同的 tokenizer,没什么特别的”正是本文所质疑的那种说法。对于相同的内容,Fable 5 计费了 3,191 个输入 token——与 Opus 4.8 完全一致——因此 Fable 运行的是相同的新 tokenizer,并按实际计数收费。没有隐藏的每 token 附加费:Fable 的昂贵体现在其标价($10 / $50)上,而非秘密的 token 税。这次验证的总成本约为 0.08 美元。
发现 2:代码上的差距最大
现在来看跨厂商的对比。下面的每个数字都是相对于 GPT 对同一文件 token 计数的倍数——GPT 的 o200k 是 1.00x 的标尺,因此 1.20x 意味着“比 GPT 多出 20% 的 token”。Claude 的新旧 tokenizer 并列展示,这样你就能同时看到新 tokenizer 增加了多少,以及 Claude 原本就比 GPT 高出多少:
Claude(新版)
Claude(旧版)
Gemini 3 Flash
Grok 4.5
TypeScript
1.73x
1.32x
1.16x
1.05x
Rust
1.58x
1.22x
1.19x
JavaScript
1.52x
1.26x
1.23x
1.11x
Python
1.50x
1.20x
1.09x
HTML 页面
1.36x
1.18x
1.08x
1.04x
英文散文
1.40x
1.01x
1.00x
中文散文
1.44x
1.45x
0.85x
0.86x
中文聊天
1.53x
1.55x
0.91x
0.92x
代码行的压缩效率明显高于其他内容。TypeScript 的差距最大,达到 1.73 倍,但并非孤例:Rust 为 1.58 倍,JavaScript 为 1.52 倍,Python 为 1.50 倍——均远高于英文散文的 1.40 倍。这并非 TypeScript 的偶然现象,而是整个代码类别的普遍规律,只是 TypeScript 位居榜首。而代码正是 AI 编程智能体全天候生成的内容,因此 1.50-1.73 倍这个区间直接对应你的账单——而非英文段落那更温和的 1.40 倍。
为什么偏偏是 TypeScript
因为 GPT 的 o200k 分词器在处理 TypeScript 时异常高效:大约每 token 对应 4.24 个字符,这正是一个大量基于网络 JavaScript 和 TypeScript 训练的分词器的特征——其中驼峰式标识符和 JSX 模式会被压缩成单个 token。这种效率在 Rust 上有所下降(约 3.51 字符/token),而 Claude 的分词器在两种语言上密度则较为接近。TypeScript 之所以成为异常值,是因为一家供应商针对你实际编写的语言优化了其分词器,而另一家没有。差距最大的地方,恰恰是 GPT 最强的领域。
中文内容则呈现出另一番景象
在中文处理上,Claude 的 token 消耗量大约是 GPT 的 1.45 到 1.55 倍——但这是针对两种分词器而言。旧版:435 个 token 对比 GPT 的 300 个。新版:433 个。这种额外开销并非新版本带来的,而是 Claude 系列在 CJK(中日韩)字符上长期存在的劣势,新版分词器并未触及这一问题。(实际上,Gemini 在中文上击败了 GPT:256 个 token 对比 GPT 的 300 个。)这里的启示并非“某个模型总是最便宜”,而是:哪个分词器会向你收取额外费用,以及收取多少,完全取决于你写的是什么内容。
这对价格意味着什么
将公开标价乘以实测的差异倍数,就得到了有效价格——即你为处理相同工作量实际支付的费用。这里的差异倍数是一个针对真实英文编码请求的混合乘数,以 GPT 的 o200k 分词器为基准归一化。GPT 系列按标价计费;其他所有模型则根据它们对相同内容生成的 token 数量(更多或更少)进行缩放调整:
模型
标价(输入/输出,单位:$/M token)
差异倍数
有效价格(输入/输出,单位:$/M token)
GPT-5.1
$1.25 / $10.00
1.00x(基准)
GPT-5.5
$5.00 / $30.00
GPT-5.6 Sol
1.00x(已验证)
$2.00 / $6.00
1.03x
$2.06 / $6.18
$0.50 / $3.00
$0.55 / $3.27
Claude Sonnet 4.6
$3.00 / $15.00
1.14x(旧分词器)
$3.42 / $17.10
Claude Sonnet 5(介绍)
$2.00 / $10.00
1.50x(新分词器)
Claude Sonnet 5(自 9 月 1 日起)
$4.50 / $22.50
Claude Opus 4.6
$5.00 / $25.00
$5.70 / $28.50
Claude Opus 4.8
$7.50 / $37.50
Claude Fable 5
$10.00 / $50.00
$15.00 / $75.00
读了几行数据。Opus 4.6 和 4.8 的标价都是 $5.00 / $25.00,但实际有效价格相差约 32%——这是发现一,现在用美元表示。GPT-5.5 和 GPT-5.6 Sol 的标价和有效价格都相同,因为它们使用相同的已验证分词器:这两个 GPT 层级之间的区别在于能力,而非隐藏的 token 税。Gemini 3 Flash 的实际价格仍然最便宜——它的分词器运行起来比 GPT 的略重,但它的标价足够低,因此影响不大。
一个来自独立数据点的佐证:Ploy 本周发布了一篇关于生产环境迁移到 GPT-5.6 Sol 的文章,报告称对于相同的构建任务,输入 token 量为 170 万,而 Claude Opus 4.8 则需要 260 万——大约少了 35%。这是真实的账单,而非合成探针,它综合了更精简的分词器和模型自身的冗长程度。测量方法不同,但方向一致。
诚实的范围:1.4 倍到 1.73 倍,而非“2 到 4 倍”
你会看到有人声称 Claude 使用的 token 量是 GPT 的 2 到 4 倍。我们的测量结果不支持这一说法,夸大其词反而会削弱真正的问题所在。按内容类型,Claude 的新分词器与 GPT 的 o200k 分词器对比:
- 英文散文、HTML、JSON:大约 1.36 倍到 1.42 倍。
- 代码(Python、JavaScript、Rust、TypeScript):大约 1.50 倍到 1.73 倍,其中 TypeScript 的差距最大。
- 中文及符号密集的文本:大约 1.44 倍到 1.53 倍。
这是真实存在的、影响显著的、值得在定价时考虑的因素——但范围是有限的。我们在标题中放入 TypeScript 的数据,原因只有一个且很诚实:这是该范围的最高值,也是 AI 编程智能体整天处理的内容,因此这个数字对应的是真实的账单。展示你实际的工作负载并非选择性摘取——但如果说“Claude 在所有场景下都是 1.73 倍”则是错误的,我们也没有这样声称。精确才是关键:如果散文的诚实数字是 1.4 倍,却称之为 3 倍,那整个论点就很容易被驳倒。
如果你构建一个智能体,英文决定了你的 token 税。
一个内容为中文的聊天机器人最应关注上面那些中日韩(CJK)字符行。但在编程智能体中,几乎每个请求都以英文脚手架为主导:系统提示词、工具架构、代码、JSON。在我们的混合测试中,无论用户聊天消息是英文还是中文,Claude 的新分词器始终比 GPT 多约 1.5 倍的 token——在数万个脚手架 token 面前,单行聊天消息的差异几乎可以忽略不计。对于智能体而言,分词器在英文和代码上的表现才是关键数字,无论使用者是谁。
如何真正比较模型价格
- 基于你的实际内容进行比较,而不是看标价。你的语言和文件类型决定了倍数。在相信价目表之前,先用每个分词器运行一个有代表性的样本。
- 把分词器变更视为价格变动。当供应商以“相同价格”推出新模型时,检查分词器是否发生了变化。从 Opus 4.6 到 4.8,虽然没有单独列项,但实际成本增加了约 32%。
- 以每任务美元数来衡量,而不是每 token 美元数。“这个构建实际花费了多少”将分词器和模型的冗长程度结合在一起。供应商自己的使用量字段才是真实依据。
- 把 $/Mtok 当作起点,而不是答案。它必要且有用——但在不同分词器之间无法直接比较。
这些都不意味着某个模型是普遍正确的选择。GPT-5.x 在英文和代码上是 token 最节省的选择;Gemini 3 Flash 的实际效果出奇地便宜;Claude 的模型即使运行成本更高,也凭借质量赢得了自己的地位。诚实的解读很简单:你比较的价格应该是你实际支付的价格——在分词器之后,而不是之前。
数据来源(请自行核实标价):Anthropic 定价(anthropic.com/pricing)、OpenAI 定价(platform.openai.com/docs/pricing)、Google Gemini API 定价(ai.google.dev)、xAI 定价(docs.x.ai)。token 计数来自 Anthropic 的 count_tokens 端点、OpenAI 的 o200k_base(已与实际 API 使用量核对),以及 Google 和 xAI 的计数端点。生成这些计数时未使用任何文本。
Playcode 让所有这些模型都只需一键切换,因此你可以在两个模型上运行相同的提示词,并比较真正重要的结果——它构建的应用——而不是争论标价。在 playcode.io 上试试吧。