token(中文常译"词元")是大语言模型处理文本时的最小单位,可以是一个字符、半个单词、一个整词或标点。大模型按 token 计费、按 token 限制上下文长度,所以看懂 token 就等于看懂了 AI 的"字数"和"账本"。
token是什么
token 是大模型"读"文本时切出来的小块。OpenAI 官方帮助中心给的定义是:token 是模型处理文本的基本构件,可短到一个字符、长到一个完整单词,具体取决于语言和上下文。可以把模型想成一个人——他不是逐字读,而是先把文本切成小块,每块就是一个 token。
一个 token 可能长这样:
- 一个完整单词:常见的短词(如 "the"、"is")往往只占 1 个 token;
- 半个单词:长词或生僻词会被拆开,比如 "tokenization" 可能切成 "token" + "ization" 两个 token;
- 一个字符或标点:空格、逗号、句号都会计入 token,连词前的空格也算;
- 中文里的一个字:常用汉字通常 1 个字约 1 个 token,生僻字或词可能被拆成 2 个以上。
token 数和"字数""词数"都不是一回事。同一句话,用不同模型算出来的 token 数可能差很多。
token为什么是大模型的计费与计数单位
模型底层是按 token 序列做运算的,所以 token 天然成了两把尺子:
- 计费尺:调用大模型 API 普遍按 token 收费,而不是按字数或按次。输入 token(你发给模型的提示词)通常比输出 token(模型生成的回答)便宜,输出一般要贵 2~6 倍,因为生成是逐 token 自回归计算的,报价多以"每百万 token"为单位。此外还有缓存输入 token(重复使用的系统提示可走提示词缓存、单价更低)和推理 token(推理模型在给出答案前的内部思考,不显示但计入输出并计费)。
- 计数尺:上下文窗口就是模型单次请求能处理的总 token 上限,它同时装下系统提示、对话历史、你的输入和模型输出。常见模型的窗口从十几万到上百万 token 不等(例如 GPT-4o 约 128K、Claude 3.5 Sonnet 约 200K、Gemini 1.5/2.0 约 1M)。窗口是输入和输出共享的——提示占了 120K,模型最多就只能再吐 8K。
一句话:token 既是"花了多少钱"的单位,也是"能装多少内容"的单位。
怎么统计和估算token数量
想知道一段文本用了多少 token,有几种办法:
- 用官方分词工具:OpenAI 提供在线的 Tokenizer 工具,把文字贴进去就能看到切分结果;写代码可用 tiktoken 库对指定模型精确计数。
- 看接口返回的用量:API 响应里通常会带回本次的输入、输出 token 数,控制台也能查累计消耗。
- 用粗略基准快速估算:英文 1 token 约 4 个字符、约 ¾ 个单词,100 token 约 75 个英文单词;中文 1 个常用汉字约 1 个 token,整段平均下来约 1 token 对应 1~1.7 个汉字;500 个中文字大致落在 500~800 token 区间。
这些基准只是估算,真正要精算还是得用对应模型的 tokenizer。
不同模型与语言的token计量差异
为什么要分模型看?因为每家用的分词器(tokenizer)不同,切分规则不一样。下面这张表把主流算法和代表模型对齐:
| | | |
|---|
| | | |
| | | |
| | | 语言无关,把空格也当普通字符,原生适配中文等无空格语言 |
| | | 统一用 UTF-8 字节编码,无未登录词,多语言友好 |
两个值得记的结论:
- 中文天然比英文"吃" token。中文没有空格分词,常用字约 1 字 1 token、生僻字会拆更多,同等意思的中文文本 token 数往往高于英文,成本也更容易超预期。
- 同一段话,不同模型 token 数不同。这也是跨模型比价时必须看 token 数、而不能只看"字数"的原因——同样的 prompt,在更省 token 的分词器上会更便宜。
token使用的注意事项
- 注意上下文溢出:一旦输入加输出超过窗口上限,模型会截断历史或报错。长文档要分块投喂,优先保留系统提示和最近几轮对话。
- 警惕推理模型的"隐藏 token":带思考能力的模型会在内部消耗推理 token,它们不显示在答案里,却按输出 token 计费,所以"答案很短"不等于"很便宜"。
- 计费按 token 总量,不按字数也不按次数:精简提示词能直接省 token;重复发送相同系统提示时,用提示词缓存能压低输入单价。
- 中文比英文更费 token:控制成本的一个直接办法是把中文 prompt 写得更紧凑,删掉冗余修饰。
- 跨模型比价看 token 数而非字数:同一段文本在不同模型上 token 数不同,选模型时要把分词效率算进去。
token常见问题
Q:token是什么?用一句话说。
A:token 是大语言模型处理文本的最小单位,一个字符、半个词、一整个词或标点都可能是 1 个 token。
Q:一个汉字等于几个 token?
A:常用汉字通常 1 个字约 1 个 token,生僻字或词可能被拆成 2 个以上;整段平均约 1 token 对应 1~1.7 个汉字。
Q:token 和字、词是什么关系?
A:英文里 1 token 约 0.75 个单词、约 4 个字符;token 不等于字数也不等于词数,长词会被拆成多个 token。
Q:为什么 API 按 token 计费而不是按字数?
A:模型底层就是按 token 序列运算的,算力消耗与 token 数直接相关;输入和输出 token 分开计价,输出更贵。
Q:上下文长度为什么用 token 算?
A:上下文窗口是模型一次能处理的总 token 上限,同时容纳提示、历史和回答,用 token 计量最贴近真实算力占用。
Q:怎么知道自己用了多少 token?
A:可用官方分词工具或 tiktoken 等库精确计数,也可直接看 API 响应返回的用量字段和控制台累计统计。
Q:不同模型的 token 数一样吗?
A:不一样。各家分词器不同,同一段文本在 GPT、Claude、Qwen 等模型上切出的 token 数会有明显差异。
Q:超出上下文窗口会怎样?
A:模型会截断较早的对话或报错,长文本需要分块处理,并保留关键的系统提示与最新内容。
Q:token 和模型的"参数(parameters)"是一回事吗?
A:不是。token 是文本的计量单位,参数(如 7B、70B)是模型内部的权重规模,两者完全不是一回事,常被混淆。
token 的计量口径会随各家模型与分词器的更新而调整,估算前最好用对应模型的官方分词工具核一次。想持续搞懂 token 这类 AI 基础概念与计费逻辑,可以关注本站的 AI 工具栏目,有新变化我们会同步更新。