新人 免费注册,送 10 次调用,最高 $1,免绑卡。
哪款 LLM 处理你的语言最便宜?实测分词成本

哪款 LLM 处理你的语言最便宜?实测分词成本

目录
  1. 计费单位是 token,不是文本
  2. 同一段文本,五种 tokenizer
  3. 按字符比较的误区:CJK 看起来贵得多,实际账单并非如此
  4. 数字为何变化:两个因素相乘
  5. 本地化能省钱吗?
  6. token 数只决定账单的一半
  7. 结论
  8. 常见问题

处理多语言文本时,没有一款 LLM 始终最便宜。对同一段内容进行实测,GPT-5.5 处理欧洲语言、印地语和韩语时计费 token 最少,Kimi K2.5 处理中文最省,DeepSeek 则在日文上最省。Claude Fable 5、Opus 4.8 和 Sonnet 5 共用同一个 tokenizer,我们发送的所有样本计数都完全一致,但从未拿到最低计数。同一段英文在 Claude 上计为 90 个原始 token,DeepSeek 只计 55 个;扣除固定开销后,Claude 的额外成本从日文的 1.3x 到中文的 2.2x 不等。token 是计费单位,因此输入成本取决于定价页上很少展示的两个因素:一种语言能用多少字符表达相同含义,以及各模型的 tokenizer 对这种文字系统压缩得有多好。两者相乘后的结果,往往和按字符比较得到的印象完全不同。

TL;DR

  • Claude Fable 5、Opus 4.8 和 Sonnet 5 共用一个 tokenizer,从未拿到最低计数:在所有语言中都是最低值的 1.2-2.3x。
  • 最省 token 的 tokenizer 随语言变化:欧洲语言、印地语和韩语是 GPT-5.5,中文是 Kimi,日文是 DeepSeek。
  • 按字符看,CJK 的成本像是高出 3x;按相同语义比较,中文接近持平,日文和韩文则高出 1.5-2.4x。
  • 成本等于文字系统密度乘以 tokenizer 覆盖率;覆盖不足会进一步放大成本,GLM 处理印地语时的 token 数是其英文的 4.9x。
  • 本地化很少能省钱;应按 token 数为不同语言选择模型。

计数通过 Synthorai gateway 于 2026-07-08 测得,始终采用各 provider 自己返回的计数,从未使用本地 tokenizer。每组测试重复多次,计数都完全一致。

计费单位是 token,不是文本

计费按 token 进行,但 token 既不是字符,也不是单词。每个模型都有自己的 tokenizer 和词表,同一句话在不同模型上会被拆成不同数量的 token。这个数量再乘以每 token 单价,因此有两个变量同时影响成本:文本会变成多少个 token,以及每个 token 的价格。

大多数定价页只展示第二个数字。本文测量第一个。我们向七个模型(claude-fable-5、claude-opus-4-8、claude-sonnet-5、deepseek-v4-flash、glm-5.2、gpt-5.5、kimi-k2.5)发送了三组语义对齐的段落,并读取每个模型计入输入账单的 token 数。

一篇日常叙事文本(周六集市的故事)包含九种语言;一篇技术说明(使用指数退避进行重试)和一篇新闻简报(市政预算表决)包含英文、中文、日文、韩文、德文和印地语。测试集还包括一个 Python 函数和一段 JSON tool-call 数据。非英文版本由机器翻译生成,要求忠实原文、不得压缩,并经过人工抽查。翻译文本的冗长度确实会干扰结果,后文关于语体的章节将这一影响范围限定在约 20%。

计数始终采用 provider 返回的结果:Claude 系列通过真实的 Messages 调用读取 usage.input_tokens,因为 gateway 目前不代理 count_tokens;兼容 OpenAI 的模型则通过小型调用读取 usage.prompt_tokens。本地 tokenizer 可能与账单不一致,而这种偏差正是我们要避免的。有一个控制变量必须处理:每次请求都带有固定 framing,包括 chat template 和 role marker,会产生少量 token。为此,我们测量了一个双字符基线样本并将其扣除。本文所有比例都排除了这部分固定开销,比较的是文本本身,而不是 framing。

同一段文本,五种 tokenizer

下表给出了日常叙事段落按语言和 tokenizer 统计的原始输入 token 数。三个 Claude 模型合并为一列,因为它们在所有样本上返回的计数都完全相同,后文会进一步说明。另两组段落呈现相同规律,并将在后文汇总。字符数列表示对应语言版本的长度。不同文字系统表达含义的密度不同,因此中文用 77 个字符就能表达英文需要 254 个字符才能表达的内容。

语言字符数fable-5 / opus-4-8 / sonnet-5deepseek-v4glm-5.2gpt-5.5kimi-k2.5
en2549055635760
zh779650586950
ja136136101116114129
ko14316010412393129
hi19614712419276133
de289146929275104
fr25911176796693
es25311275796691
it272127849178100

这里有两个明显结论。Claude 一列同时代表三个模型,是因为 Claude Fable 5、Opus 4.8 和 Sonnet 5 对所有样本都返回了完全相同的计数,无论语言、代码还是 JSON 都一样。三者使用的都是 Opus 4.7 首次引入的 tokenizer,因此测出其中一个模型的计数,也就得到了另外两个模型的计数。除印地语外,Claude 在每一行的 token 数都是最高的;印地语中 GLM 的 192 更高。扣除固定开销后,将每种语言中最省 token 的模型归一化为 1.00,得到下表。因为先扣除了固定开销,所以这些比例不能直接用上表中的原始数字相除得出。

语言fable-5 / opus-4-8 / sonnet-5deepseek-v4glm-5.2gpt-5.5kimi-k2.5
en1.641.001.001.001.00
zh2.201.121.121.551.00
ja1.331.001.071.111.24
ko1.771.151.281.001.38
hi2.011.722.591.001.78
de2.031.281.161.001.38
fr1.751.201.121.001.41
es1.761.191.121.001.37
it1.681.111.101.001.27

英文一行出现四个并列最低值,并非四舍五入造成:这段文本在 DeepSeek、GLM、GPT-5.5 和 Kimi 上都恰好是 50 个净 token。对这篇叙事文本,Claude 的 token 数是最低值的 1.3x 到 2.2x;综合三类文本,则是 1.2x 到 2.3x。这是词表本身的属性,在模型的整个生命周期中会影响每一次调用。技术文本和新闻文本也呈现相同排名。将两者相加,Claude 处理中文时计为 212 个净 token,Kimi 为 114 个,相差 1.9x;处理印地语时,Claude 为 477 个,GPT-5.5 为 210 个,相差 2.3x。但没有任何一个模型能在所有语言中胜出。最低计数会随语言变化:

  • GPT-5.5 处理德文、法文、西班牙文、意大利文、印地语和韩文时最省 token,处理英文时并列最低。英文并列以及法文、西班牙文、意大利文的优势仅在叙事文本中成立。它的词表更偏向拉丁文字,同时对天城文和谚文也有较好支持。
  • Kimi K2.5 处理中文时最省 token,在整个 CJK 范围内也很有竞争力。
  • DeepSeek-v4 处理日文时最省 token,处理中文时也仅稍落后。
  • GLM 5.2 在大多数语言中处于中游,但在印地语上的结果是整个矩阵中最差的:叙事文本中为最低值的 2.59x,GPT-5.5 只需 69 个净 token,它却需要 179 个;正式文本中的差距更大,也是唯一比 Claude 还差的一列。

这种额外成本并不限于自然语言文本。对 Python 函数,Claude 的 token 数是最低值的 1.61x;对 JSON tool-call 数据则为 1.29x。JSON 的差距较小,因为结构化文本主要由标点和简短的 ASCII key 构成,各 tokenizer 的处理方式相近。对于每轮都会重复发送大型 tool schema 的长期运行 agent,这项额外成本会逐轮累积,正适合通过缓存降低。prompt-caching 系列文章详细介绍了相关机制。

按字符比较的误区:CJK 看起来贵得多,实际账单并非如此

上面的表格比较的是不同模型。如果固定模型,只改变语言,token 数依然会变化,但变化规律和按字符观察得到的印象不同。最常被引用的 tokenizer 指标是每字符 token 数,而 CJK 在这个指标上明显最高:在 Claude 上,每 100 个字符,中文约为 114 个净 token,韩文为 106 个,日文为 94 个,英文只有 32 个。只看这一列,CJK 像是多了 3x 的成本。但这个指标并不适合衡量实际账单:费用对应的是语义,而不是字符数,对齐后的各语言段落表达的是相同含义。下表同时列出了 Claude 处理叙事文本时的两种视角:

语言字符数净 token 数每 100 字符的 token 数相对英文的 token 数
en25482321.00
zh77881141.07
ko1431521061.85
ja136128941.56
hi196139711.70
de289138481.68
it272119441.45
es253104411.27
fr259103401.26

最右侧两列得出的印象并不一致,中文最为明显。中文的每字符 token 密度是这组语言中最高的,但按相同语义比较,这段文本只比英文高 1.07x。英文需要 254 个字符才能表达的内容,中文只需 77 个字符。较高的每字符 token 数乘以很小的字符总数,两项几乎相互抵消。综合三篇文本,这种抵消仍然存在,但并非完全抵消:中文平均为 Claude 自身英文 token 数的 1.17x;根据模型不同,该值在 0.95x 到 1.32x 之间。整体接近持平,远没有按字符指标所暗示的 3x 那么高。

日文和韩文说明了另一种情况:同样存在这种错觉,但抵消效果较弱。两者的每字符 token 密度都很高,因为韩文谚文和日文假名大致按一个字形对应一个音节来拼写发音,不像汉字那样经常用一个字符承载整个词。因此,同一段内容中文只需 77 个字符,韩文需要 143 个,日文需要 136 个。更多字符再乘以更高的每字符 token 数,不但无法抵消,反而会叠加。在 Claude 上,综合三篇文本,韩文按相同语义计算的 token 数平均是英文的 1.96x,日文为 1.56x。两者确实更贵,尽管它们的每字符数据看起来与中文很接近。

德文则是中文的反面:每字符 token 数较低,为 48,与英文接近;但这里的德文文本有 289 个字符,是所有语言中最长的,这与德文复合词有关,最终 token 总数仍达到英文的 1.68x。成本是这两个维度的乘积,只看其中任何一个都会产生误导。

数字为何变化:两个因素相乘

上面所有表格都可以归结为一个公式:

一段文本的 token 数 =(表达相同语义所需的字符数)x(每字符 token 数)

第一个因素是文字系统的表达密度,它是语言属性,与模型无关。这是一个连续分布,并非只有中文特殊。表意文字中文通常每个字符都能承载一个语素,处于高密度的一端。日文假名和韩文谚文用于拼写语音,密度较低,需要更多字符。天城文和拉丁字母的密度更低。从中文到英文,每个字符承载的语义量持续下降。

第二个因素是模型词表处理某种文字时,每个字符需要多少个 token,这完全取决于模型。BPE tokenizer 会根据训练语料学习多字符 merge。训练中频繁出现的文字通常能形成更紧凑的 token;很少出现的文字则可能退化为逐字符甚至 byte-level 编码,一个字符可能被拆成两三个 token。以下是三种语言的净每字符 token 数:

每字符 token 数中文印地语英文
Claude1.140.710.32
DeepSeek0.580.610.20
GPT-5.50.810.350.20
GLM 5.20.580.910.20
Kimi K2.50.520.630.20

这张表能解释三个现象。中文在总数上表现特殊,是因为它在第一个因素上处于极端:即使 Claude 对中文的压缩较弱,每字符需要 1.14 个 token,部分汉字仍会被拆成两个 token,但整段文本只有 77 个字符,总数依然不会很高。面向中文训练的模型能将这一数值压到 0.52 到 0.58,因此中文总 token 数接近各模型自身的英文水平。印地语的额外成本来自第二个因素,而不是表达密度:GLM 处理每个天城文字符需要 0.91 个 token,接近每字符一个 token,因为其词表几乎没有多字符天城文 merge;GPT-5.5 通过覆盖完整的音节组合,将该值降至 0.35。这是同一文字系统上的词表覆盖差距。Claude 则在所有语言中都偏高,因为它即使处理英文,每字符 token 数也达到 0.32,而 DeepSeek 只有 0.20。这个模型级基线会与各语言自身的因素叠加。

这种现象并非我们测试的七个模型所独有。研究文献将其称为 token premium。Petrov et al. (NeurIPS 2023) 对数百组语言对进行了测量,发现了相同的两个根因:表达同一语义所需的字符数不同,不同文字系统的 tokenizer 覆盖率也不同。低资源语言的额外 token 数最高可达 15x,并会带来同样的后果:成本更高、延迟更大、可用 context window 更小,因为高 token premium 的语言会用更少的语义内容填满同样的 context 预算。随着厂商持续投入,这种差距也在缩小。独立测量显示,GPT-3 时代的词表处理中文时,token 数比英文高 +182%;GPT-4o 已缩小到 +24%,与我们在 GPT-5.5 上测得的 +32% 接近,也接近面向中文训练的模型上近乎持平的结果。扩大覆盖率需要占用词表空间,而厂商还在持续为此增加投入。

本地化能省钱吗?

看到上一节,很容易得出两个错误结论:“Claude 在不同语言上的成本基本相同,所以可以忽略本地化”和“中文模型处理中文便宜,所以本地化能省钱”。这两个判断都不对。下表列出了五种拥有完整三篇文本样本的语言,相对于各模型自身英文 token 数的平均值:

相对自身英文zhdehijako
Claude1.172.112.401.561.96
DeepSeek1.001.943.111.851.99
GLM 5.21.031.774.892.032.31
GPT-5.51.321.531.702.091.72
Kimi K2.50.952.203.152.182.41

Claude 并非在不同语言上成本相同:韩文是其英文的 1.96x,印地语是 2.40x。中文接近 1.17x 只是单一语言上的特殊情况,并非模型的普遍属性。面向中文训练的模型处理中文时,也不是大幅低于英文,而只是接近持平。整张表中的最低值是 Kimi 的 0.95x,仅比自身英文低 5%,其他单元格都与英文持平或更高。对印地语、日文和韩文,这些面向中文训练的模型相对自身英文的额外成本反而比 Claude 更高,因为这些文字系统离其训练重点更远。规律并不是“某家厂商更便宜”,而是相对于模型自身的英文,各模型处理与其训练数据最接近的语言时通常最省 token。

语体也会改变这些数字。日常叙事文本是最有利的情况;技术和新闻文本会提高几乎所有语言的倍数,因为术语和外来词正是非拉丁文字词表最缺少 merge 的部分。在 Claude 上,德文从日常文本的 1.68x 上升到技术文本的 2.29x;GLM 的印地语在新闻文本上达到其英文的 5.98x。只用一篇文本做 benchmark,结果会偏向翻译最简洁、语体最友好的语言。单篇叙事文本中,Kimi 的中文为 0.80x;综合三篇文本后则是 0.95x。

但相对自身英文比较,本来就不是正确的成本视角。实际支付的是绝对 token 数,而 Claude 在九种语言中的八种都是最贵的,唯一更差的是 GLM 的印地语。某段中文内容“相对 Claude 的英文很便宜”,并不代表它的绝对 token 数低。同一篇叙事文本,Claude 处理中文需要 88 个净 token,Kimi 只需 40 个。因此,正确做法不是为了省钱而本地化,而是让模型与语言匹配:中文选 Kimi 或 DeepSeek,印地语和韩文选 GPT-5.5,日文选 DeepSeek。Claude 在任何语言中都不是 token 成本最低的模型,但它仍可能在质量上胜出。

token 数只决定账单的一半

token 倍数只有与每 token 单价结合才有意义,两者会相乘。Claude Fable 5 的公开输入价格为每百万 token $10,Opus 4.8 为 $5,Sonnet 5 的推广期结束后为 $3。处理中文时,三者共用的 tokenizer 还会将同一文本计为最省模型的 2.2x,因此 token 数差距会进一步放大模型与候选路由目标之间原有的单价差距。反过来也可能出现:某个模型计出的 token 较少,但由于单价高,每次调用仍然更贵。只看任何一个数字都无法得出最终账单。本文没有列出其他厂商的价格,因为价格的变化速度快于 tokenizer;上面的 token 计数才是计算中更持久稳定的一半。

实际比较时,不要只看标价,而应计算有效输入成本:使用真实流量分布,在每个候选模型上统计 token 数,再乘以该模型的输入单价。对于以中文或韩文为主的产品,这种计算可能会彻底改变最便宜模型的排序,而且差距会稳定在 1.5x 到 2x,并非可以忽略的误差。缓存也是同一个道理:真正重要的是按命中率加权后的有效成本,而不是标称价格。provider 对比文章详细分析了这一计算过程。不同版本之间的变化,例如 Sonnet 5 处理同一段英文时为何比 Sonnet 4.6 多计 41%,可参阅 Sonnet 5 tokenizer 文章

结论

  • token 成本等于文字系统密度乘以 tokenizer 覆盖率。语言决定第一个因素,模型决定第二个,只看其中任何一个都会产生误导。
  • Claude Fable 5、Opus 4.8 和 Sonnet 5 在所有语言中都是最低 token 数的 1.2x 到 2.3x,因为它们即使处理英文,每字符 token 数也很高。
  • 最省 token 的模型取决于语言:欧洲语言、印地语和韩文选 GPT-5.5,中文选 Kimi,日文选 DeepSeek。GLM 处理印地语的表现最差,几乎每个字符都要一个 token。
  • 正式和技术语体会提高几乎所有语言的倍数;benchmark 应采用产品实际使用的语体。
  • 不要为了省钱而本地化。应先根据绝对 token 数为语言匹配模型,再乘以各模型的单价,比较有效成本。

常见问题

哪款 LLM tokenizer 最便宜? 取决于语言。对七个模型和相同语义的对齐文本进行测试后,GPT-5.5 处理欧洲语言、印地语和韩文时最省 token,处理英文时并列最低;Kimi K2.5 处理中文时最省,DeepSeek-v4 处理日文时最省。Claude 系列(Fable 5、Opus 4.8、Sonnet 5)从未拿到最低计数,在所有语言和语体中,token 数都是最低值的 1.2x 到 2.3x。

Claude Fable 5、Opus 4.8 和 Sonnet 5 使用相同的 tokenizer 吗? 是。三个模型对所有样本都给出了完全相同的 token 数,无论语言、代码还是 JSON 都一致。它们使用的是 Opus 4.7 首次引入的 tokenizer,因此其中一个模型的计数可以直接用于另外两个。Fable 5 账单更高,完全来自更高的每 token 单价。

Claude 处理中文比英文更贵吗? 略贵。按相同语义计算,三篇文本的平均值为 1.17x;面向中文训练的模型则大致持平。按字符看,差距会显得大得多:每 100 个中文字符约为 114 个净 token,英文只有 32 个。但中文只需约三分之一的字符就能表达相同含义,因此最终 token 总数几乎相互抵消。

日文和韩文的表现与中文一样吗? 只相似一半。它们和中文一样,每字符 token 密度很高;但谚文和假名用于拼写语音,因此表达同一段内容需要更多字符:日文为 136 个,韩文为 143 个,中文只需 77 个。高每字符 token 数无法再被字符总数抵消。因此按相同语义计算,在 Claude 上日文约为英文的 1.6x,韩文约为 2x;在七个模型上则介于 1.5x 到 2.4x。

如何测量自己的 prompt? 选择几条真实 prompt,使用产品实际上线的语体,分别发送到各个候选模型。应读取 provider 在 usage 字段中返回的输入 token 数,不要依赖本地 tokenizer。一篇语体友好的文本可能会让某种语言的结果偏低约 20%,因此应使用多个样本。最后,将每个计数乘以对应模型的输入价格,即可得到真实流量下的有效成本。

← 返回博客