一句话定义
Token(词元)是大模型处理文本的最小单位。模型不直接读“字”或“单词”,而是先用 Tokenizer(分词器)把文本切成 token,再把 token 转成数字送进模型。
展开:像把句子装进标准集装箱
可以把它想成物流:快递不按“汉字”或“英文单词”收费,而是先装进标准箱子。Tokenizer 就是打包员。常见词可能装成一个大箱,比如英文 token 可能是 1 个 token;长词、生僻字、代码符号会被拆成多个小箱。模型只认这些箱子编号,所以 token 才是它实际“看见”和计算的东西。
中英文怎么算?没有统一答案,取决于模型的分词器和词表。英文常见词常是 1 个 token,长词、人名、术语可能拆成几个;空格、标点、换行也常单独算。中文常见字在不少模型里大约 1 个 token 上下,但生僻字、繁体、emoji、代码可能拆成多个 token。粗略感受:一个汉字约 1 个 token 左右,但不能当固定换算;同一句话给不同模型,token 数可能不同。
| 文本类型 | 常见切分 | 提醒 |
|---|---|---|
| 英文常见词 | 1 个词可能 1 token | 长词/专名会拆 |
| 英文标点空格 | 常单独成 token | 排版也计入 |
| 中文常用字 | 约 1 token 上下 | 模型间有差异 |
| 生僻字/emoji/代码 | 可能多个 token | 不能按字数硬算 |
和相邻概念的区别
字符是键盘符号,单词是语言单位,token 是分词器切出的计算单位。三者经常对不上:一个英文单词可能 1 个 token,也可能 3 个;一个汉字可能 1 个 token,也可能多个。Context window(AI 词典:上下文窗口">上下文窗口)通常也按 token 计量,包括输入和输出。
为什么按 token 计费
因为算力成本大致随 token 数量增长:模型每多读一个 token,都要做注意力计算、显存读写和生成概率计算。按字符计费对中英文不公平,按单词计费又处理不了代码、标点和中文;token 是模型真正的处理单位,按它计费最接近真实成本。输入和输出 token 的单价、免费额度、上下文上限各厂商不同,以官方页面为准。
对从业者和普通人的意义
对从业者:做 prompt、RAG 切块、长文摘要、Agent 循环时,要关注 token 预算;截断、压缩、缓存都能省钱省延迟。对普通人:把它理解成“按模型实际读写的词块数计费”。长文档、大段代码、反复对话都会消耗更多 token;想控制成本,先删无关内容、精简提示,再让模型处理核心部分。
