Token(词元)
理解大模型为什么按 token 而不是按“字”或“词”处理文本,以及 token 如何影响上下文长度、成本和输出质量。
Token(词元)
Token,是大模型处理文本时使用的基本计算单位。它不一定等于一个汉字、一个英文单词或一个标点,而是由 tokenizer 把文本切分出来的片段。
[!info] 一句话先记住:大模型不是直接“读句子”,而是先把文本切成 token,再基于这些 token 进行计算、计费和生成。
先记住这 3 点
- **Token 是模型输入和输出的计量单位。**上下文窗口、API 成本和生成长度通常都按 token 计算。
- **Token 不等于自然语言里的“词”。**英文、中文、空格、标点和特殊符号都可能被切成不同粒度的 token。
- **不同模型可能使用不同 tokenizer。**同一句话在不同编码规则下,token 数可能不同。
给普通人的解释
可以把 token 理解成模型读写文本前的“切块”。
人读一句话时,会自然按词、短语、标点和语境理解。但模型在计算前,需要先把文本转换成一串数字 ID。Tokenizer 的工作就是把原文切成 token,再把每个 token 映射成数字。
比如英文里的 great 可能是一个 token,也可能和前面的空格一起形成类似 great 的 token;中文里,一个词可能被切成一个或多个 token。具体怎么切,取决于 tokenizer 的词表和编码规则。
这就是为什么你在使用大模型时经常看到:
- 输入上限是“多少 token”,不是“多少字”;
- 收费按 input tokens 和 output tokens 计算;
- 长文、代码、表格和多轮对话会更快占满上下文窗口。
Token 和相近概念有什么区别
Token vs 字符
字符是文本里的可见或不可见符号,比如一个汉字、一个英文字母、一个空格。Token 是 tokenizer 切分后的计算单位,一个 token 可能包含多个字符,也可能只是一个字符的一部分。
Token vs 单词
单词是语言学里的单位,token 是模型工程里的单位。英文里很多 token 接近词或词片段;中文里 token 和词的对应关系更不直观。
Token vs 上下文窗口
Token 是单位;上下文窗口是模型一次能处理的 token 总量上限。窗口越大,能放入的历史对话、文档和工具结果越多,但不等于模型一定会更好地利用所有信息。
Token vs Embedding
Token 是输入切分单位;Embedding 是把 token、文本或其他对象变成向量表示。模型通常先把 token ID 转成向量,再进入后续计算。
为什么它影响使用体验
Token 会影响三件非常现实的事:
- 长度限制:文档太长、对话太久,都会因为 token 超限而需要截断或压缩。
- 成本:许多模型 API 以 token 为计费基础,输入越长、输出越长,成本越高。
- 结构设计:写提示词、做 RAG、处理长文时,需要考虑哪些内容最值得占用 token。
所以 token 不是只有工程师才关心的底层细节。只要你使用长上下文、文档问答、自动总结或批量生成,它都会影响结果。
常见误解
误解 1:一个 token 就是一个字
不对。Token 是 tokenizer 的切分结果,不是固定等于字、词或字符。
误解 2:上下文窗口越大,模型就一定越懂
不一定。更大的窗口只是允许放入更多 token,模型是否能准确找到、使用和推理这些信息,还取决于模型能力、提示结构和任务难度。
误解 3:只要压缩 token,就不会损失信息
也不对。压缩、摘要和截断都可能丢失细节。真正好的长文处理,需要区分哪些信息必须保留,哪些可以概括。
为什么普通读者需要知道它
因为 token 是理解大模型产品限制的基础。
懂了 token,你会更容易判断:
- 为什么同样一页内容,有的模型能放下,有的模型放不下;
- 为什么长对话越聊越贵或越容易丢上下文;
- 为什么提示词不是越长越好,而是要把关键信息放进去。
延伸阅读
参考来源
最后审核时间:2026-04-26