文章摘要
不同模型的定价页面显示每百万token的价格,但token并非固定文本量。同一份TypeScript文件在GPT-5.x上为681个token,在Claude最新分词器上为1178个token,高出73%。Claude新分词器比旧版多产生约31%的token,而代码类工作负载的差距最大。
文章总结
好的,这是根据您的要求,对原文进行中文重述和精简后的版本:
标题:同段TypeScript代码,Claude的计费Token比GPT多73%
核心发现:模型定价页上的“每百万Token价格”无法直接比较。 因为不同模型的分词器(Tokenizer)会将同一段文本切分成不同数量的Token,而你是按Token数量付费的。
我们测量了主流模型对同一份代码文件的Token计数,发现: - 同一份TypeScript文件,在GPT-5.x上被计为681个Token,而在Claude最新的分词器下则高达1,178个Token,差距达1.73倍。 - 与Claude自己的旧分词器相比,新分词器产生的Token数量增加了约31%,但标价相同,这相当于一次“静默涨价”。 - 对于AI编程助手而言,工作负载主要是代码,而代码正是Token计数差距最大的领域。
隐藏的计费真相
模型的实际费用是“内容产生的Token数”乘以“每Token价格”。定价页只显示后者,并假设前者是恒定的。但事实并非如此。两个模型可以标价相同,但处理同一段文字时,因为分词器不同,你的账单也会不同。
测量方法
我们选取了16个真实样本(包括英文散文、HTML、多种编程语言代码、JSON、中文文本等),使用各模型官方的Token计数工具进行精确测量,而非估算。
发现一:同一供应商,标价不变,Token增加约30%
以Claude Opus 4.6(旧分词器)和Opus 4.8(新分词器)为例,两者标价完全相同($5/$25)。但处理相同内容时,新分词器产生的Token数量显著增加: - 英文散文:+34% - TypeScript代码:+31% - 系统提示词:+39% - 中文文本:几乎无变化
这意味着,对于典型的AI编程请求(英文提示词、工具架构、代码和JSON),新分词器每次请求的Token消耗增加了约32%。所谓的“降价”只是短期促销,促销期结束后,实际成本将因Token膨胀而增加约32%。
发现二:代码领域的Token差距最大
以GPT的Token计数为基准(1.00x),各模型处理不同类型内容的Token倍数如下:
| 内容类型 | Claude (新分词器) | Claude (旧分词器) | | :--- | :--- | :--- | | TypeScript | 1.73x | 1.32x | | Rust | 1.58x | 1.22x | | JavaScript | 1.52x | 1.26x | | Python | 1.50x | 1.22x | | 英文散文 | 1.40x | 1.05x | | 中文散文 | 1.44x | 1.45x |
代码类内容的Token差距(1.50-1.73倍)远大于英文散文(1.40倍)。对于AI编程助手,这个差距直接映射到你的账单上。TypeScript差距最大,是因为GPT的分词器对网络JavaScript和TypeScript进行了优化,效率极高。
对实际价格的影响
将标价与Token差距相乘,得到处理相同工作的“有效价格”。例如: - Claude Opus 4.8 标价 $5/$25,但有效价格为 $7.50/$37.50,比标价高出50%。 - GPT-5.x 系列因Token效率高,有效价格等于标价。 - Gemini 3 Flash 虽然Token略多,但因标价极低,仍是实际成本最低的选择。
结论与建议
- 不要只看标价,要基于你的实际内容进行比较。 你的语言和文件类型决定了Token乘数。
- 将分词器变更视为价格变更。 当模型“同价升级”时,检查分词器是否变了。
- 用“每任务成本”而非“每Token成本”来衡量。 这能综合反映分词器和模型本身的差异。
- 没有绝对正确的模型。 GPT在英文和代码上Token效率高,Gemini实际成本低,Claude则可能因质量而值得付出更高成本。关键在于,你比较的价格应该是你实际支付的价格,而不是标价。
评论总结
根据评论内容,主要观点和论据如下:
1. 分词器效率差异显著 - 评论6(Tiberium)指出,OpenAI的o200k_base分词器比Claude当前版本高效1.6-2倍,实测代码库中GPT用1.12M tokens,Claude需2.2M tokens。 - 评论2(SwellJoe)认为OpenAI公开分词器文档是进步,且其分词器效率提升而非下降。
2. 实际成本受多因素影响 - 评论3(lolinder)强调,分词器只是成本计算的一小部分,模型行为(如上下文加载量、思考时间、交互次数)影响更大。 - 评论8(f311a)指出,子代理扫描整个仓库的频率和思考级别才是真实成本。 - 评论9(jnwatson)认为KV缓存读写定价是“房间里的大象”,对长上下文任务影响显著。
3. 模型间成本对比 - 评论14(ianberdin)实测:Sonnet 5比Opus 4.8便宜2-3倍,Fable 5完全不可负担;Opus 4.6比4.8便宜50%。 - 评论10(ricardobeat)减少Fable和Sonnet 5使用,Fable仅用于创意任务,Opus 4.6/4.7可无限使用。
4. 对文章质量的批评 - 评论19(robbie-c)质疑文章由LLM生成,标题“Two floors the rate card hides”不自然,影响可信度。 - 评论22(iLoveOncall)认为文章基础错误:仅用16个短文档测试(最长15K tokens),未考虑代理场景下输出和工具调用导致的4倍token差异。
5. 改进建议 - 评论21(dinobones)呼吁按字节定价,避免分词器实现细节泄露到API。 - 评论13(daft_pink)建议用实际任务性能定价替代token计算。
平衡性总结:多数评论认可分词器差异存在(1.6-2倍),但强调实际成本受模型行为、缓存、代理复杂度等更大因素影响。部分评论严厉批评文章方法论和LLM生成质量。