理解 Token:AI 模型到底是怎么「读」你的文字的
2026年9月17日
每一个大语言模型的定价、上下文窗口,甚至它在拼写或数学上一些古怪的行为表现,都可以追溯到同一个概念:token(词元)。Token 既不是单词,也不是字符,更不完全是音节——它是一种特定于模型的压缩方案,弄懂它的运作方式,能解释相当多原本看起来莫名其妙的 AI 行为。
如果 token 不是单词,那它到底是什么?
Token 是一段文本片段——有时是一整个常见单词,有时是一个词的片段,有时甚至只是一个字符——由分词器决定,而分词器经过训练,目的是尽可能高效地表示其训练数据中最常出现的文本片段。像「the」或「cat」这样的常见英文单词通常是单个 token;不太常见的词或复合词往往会被拆成两三个(例如「tokenization」可能被拆成「token」+「ization」)。作为英语场景下的一个粗略经验法则,一个 token 大约相当于 4 个字符或大约四分之三个单词,但这因模型而异,而且始终只是一个近似值。
为什么 AI API 的定价是按 token 而不是按单词或按请求计算的?
因为 token 才是模型内部实际处理的字面单位——每输入或生成一个 token 都要消耗算力,所以它是最直接、最公平的计费单位。按 token 定价也让服务商可以对输入和输出分别计费(生成通常比阅读消耗更多算力),这就是为什么大多数 AI API 定价都会分别列出一个输入 token 费率和一个输出 token 费率,而不是一口价的按请求收费。
为什么有些语言每句话的成本明显更高?
因为大多数主流分词器都是在以英文文本为主的数据集上训练出来的,英文单词格外容易被映射成单一、高效的 token。使用不同文字体系或形态结构的语言——许多中日韩语言,或者存在大量复合词的语言——分词效率往往更低,有时需要两个、三个甚至更多 token 才能表达出英文里一个 token 就能承载的含义。实际影响是:同一句话翻译成不同语言后,消耗的 token 数量(因而 API 费用)可能明显更高,而这纯粹是分词器训练方式带来的副作用,并不是内容本身真的更复杂。
模型的「上下文窗口」到底限制的是什么?
上下文窗口是模型一次能够处理的最大 token 数量——包括你的输入(系统提示词、对话历史、提供的任何文档)加上它生成的回复。它限制的不是孤立地「你能问多少」,而是模型在这一次交互中需要阅读的一切和需要生成的一切共用的一个预算。一段很长的对话历史,或一份贴进来的大文档,可能在模型生成任何一个回复词之前就已经占用了大部分上下文窗口,这也是为什么很长的对话有时会「忘记」早期的细节——它们只是已经超出了 token 预算的范围。
