# 前沿模型实际成本：tokenizer 差异导致隐性涨价

- 来源：Hacker News 热门（buzzing.cc 中文翻译）
- 作者：ianberdin
- 发布时间：2026-07-14 05:50
- AIHOT 分数：77
- AIHOT 标记：精选
- AIHOT 链接：https://aihot.virxact.com/items/cmrjrg5aj0202bis4f9pzo8d3
- 原文链接：https://playcode.io/blog/real-price-of-frontier-models

## 精选理由

这篇用实打实的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 差距最大。

## 正文

每个模型的定价页面都只显示一个数字：每百万 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 字符）476636+34%

HTML 页面（3,195 字符）1,1311,302+15%

JavaScript（1,933 字符）659794+20%

Python（2,251 字符）8311,022+23%

TypeScript（2,888 字符）8981,178+31%

Rust（2,924 字符）1,0191,312+29%

JSON 工具 schema（9,948 字符）2,6313,306+26%

我们的智能体系统提示词（42,661 字符）10,76114,953+39%

中文散文（379 字符）435433~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 FlashGrok 4.5

TypeScript1.73x1.32x1.16x1.05x

Rust1.58x1.22x1.19x1.05x

JavaScript1.52x1.26x1.23x1.11x

Python1.50x1.22x1.20x1.09x

HTML 页面1.36x1.18x1.08x1.04x

英文散文1.40x1.05x1.01x1.00x

中文散文1.44x1.45x0.85x0.86x

中文聊天1.53x1.55x0.91x0.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.001.00x（基准）$1.25 / $10.00

GPT-5.5$5.00 / $30.001.00x$5.00 / $30.00

GPT-5.6 Sol$5.00 / $30.001.00x（已验证）$5.00 / $30.00

Grok 4.5$2.00 / $6.001.03x$2.06 / $6.18

Gemini 3 Flash$0.50 / $3.001.09x$0.55 / $3.27

Claude Sonnet 4.6$3.00 / $15.001.14x（旧分词器）$3.42 / $17.10

Claude Sonnet 5（介绍）$2.00 / $10.001.50x（新分词器）$3.00 / $15.00

Claude Sonnet 5（自 9 月 1 日起）$3.00 / $15.001.50x$4.50 / $22.50

Claude Opus 4.6$5.00 / $25.001.14x（旧分词器）$5.70 / $28.50

Claude Opus 4.8$5.00 / $25.001.50x（新分词器）$7.50 / $37.50

Claude Fable 5$10.00 / $50.001.50x（新分词器）$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 上试试吧。
