1、Token?不只是“词”
如果你用过 ChatGPT 或者其他大语言模型,一定见过“按 Token 计费”的说法。1K tokens 多少钱,100K tokens 多少钱。
那 Token 到底是什么?
一个常见的误解是:1 Token = 1 个英文单词。
这个说法对了一半,但不全对。准确地说,Token 是 AI 处理文本的基本单位,但它的大小不是固定的。
2、AI 是怎么“切分”文字的?
AI 不是按“单词”或者“汉字”来处理文本的,它用的是一种叫做 BPE(Byte Pair Encoding) 的分词算法。
BPE 的核心思想很朴素:
把最常一起出现的字符组合,合并成一个“新字符”。
举个例子。假设 AI 读到大量的英文文本,发现:
- “e” 单独出现的频率很高
- “r” 单独出现的频率很高
- 但 “er” 这个组合出现的频率更高
那么 BPE 就会把 “er” 合并成一个 Token。
继续这个过程:
- “er” + “er” → “erer”
- “er” + “ ” → “er ”
- …
最终,AI 会形成一套自己的“词汇表”,里面的每个 Token 都是反复出现的高频组合。
3、英文 vs 中文:Token 数为什么不同?
这是理解 Token 的关键。
英文文本的 Token 数 ≈ 单词数 × 0.75
因为英文单词往往对应 1-2 个 Token。比如 hello 是一个 Token,artificial 可能分成 art + ificial 两个。
中文文本的 Token 数 ≈ 汉字数 × 1.5 到 2
因为中文没有天然的“空格”分隔,AI 需要把连续的汉字组合成 Token。一个常见 Token 可能是 1-2 个汉字。
举个例子:
| 文本 | 英文 Token 数(估) | 中文 Token 数(估) |
|---|---|---|
Hello, world! |
~3 | - |
| 你好,世界! | - | ~6-8 |
这就是为什么用中文和 AI 对话,实际上消耗的 Token 往往更多。
4、Token 的一些有趣特性
4.1 不完整的词
BPE 分词可能会把一个完整的英文单词劈成两半,分别放在不同的 Token 里。
比如 tokenization 可能被切成:
token+ization
这不是 bug,而是 BPE 算法的正常行为——它追求的是编码效率,而不是“语义完整性”。
4.2 数字的切分
数字在 AI 眼里非常“奢侈”。
每个数字字符(0-9)基本上都是独立的 Token。数字越大,Token 越多:
1→ 1 Token123→ 3 Tokens1234567890→ 10 Tokens
这也是为什么 AI 处理数字时往往不够精确——数字被切得支离破碎,失去了“数值感”。
4.3 代码的 Token 效率
有趣的是,AI 处理代码的 Token 效率往往比英文文本还高。
因为代码里充满了重复的模式:变量名、函数名、关键字……这些重复出现的高频组合,很快就被合并成了单独的 Token。
所以同样是 1000 个 Token,代码能表达的信息量往往比普通文本更丰富。
5、Token 限制:AI 的“记忆窗口”
每个 AI 模型都有一个 Token 上限(Context Window),比如:
- GPT-3.5 Turbo:16K / 128K Tokens
- GPT-4:8K / 32K / 128K Tokens
- Claude 3:200K Tokens
- Claude 3.5:1M Tokens(超长上下文)
这个上限包括输入和输出的总 Token 数。
当你和 AI 对话时:
- 你的问题算 Token
- AI 的回答算 Token
- 之前的对话历史也算 Token
如果对话太长,超过了这个上限,AI 就会“忘记”之前的内容——不是真的忘记,而是最早的部分会被“裁掉”。
这就是为什么长对话里 AI 会出现“失忆”现象。
6、为什么理解 Token 很重要?
理解了 Token,你就能:
- 估算成本:知道输入一段文字大概会消耗多少 Token
- 优化 Prompt:通过精简表述,减少 Token 消耗
- 理解 AI 的行为:为什么长文本处理不好,为什么数字计算不精确
- 更好地使用 AI:知道怎么组织信息,让 AI 更高效地理解你的意图
7、本质是什么
Token 是 AI 处理文本的基本单位,不是天然的语言单位。
AI 通过 BPE 等算法,把文本切分成高频出现的“词块”。这些词块的大小不固定,英文通常 0.75 倍于单词数,中文通常是汉字数的 1.5-2 倍。
Token 的概念解释了 AI 计费、长上下文限制、数字处理等一系列问题。理解了 Token,你对 AI 的认知就又深了一层。
下一篇文章,我们会聊一个很多人困惑的问题:上下文窗口(Context Window)是什么?为什么 AI 会“失忆”?
每天前进一小步,就是一个新的高度!