基础概念

Token

令牌

Token 是大语言模型处理文本的基本单位,介于字符与词之间。一段 1000 字的中文约消耗 1500-2000 token。Token 数量直接影响 API 费用、上下文窗口限制与响应速度。本文拆解 Token 的定义、中英文 Token 差异、计费逻辑、Token 优化技巧,帮你理解这个 LLM 时代的'字数计量单位'。

2026-08-07
Token令牌LLM计费基础概念

什么是 Token

Token(令牌) 是大语言模型(LLM)处理文本的基本单位,介于"字符"与"词"之间。模型不是逐字符、也不是逐词处理文本,而是把文本切分为 token 序列。

英文示例:

"Hello world" → ["Hello", " world"] → 2 个 token

"unbelievable" → ["un", "believ", "able"] → 3 个 token

中文示例:

"你好世界" → ["你", "好", "世", "界"] → 4 个 token

"人工智能" → ["人工", "智能"] → 2 个 token(常见词合并)

一个粗略的换算经验:

语言1 个 token ≈1000 字 ≈
英文4 个字符 / 0.75 个词250 token
中文0.5-1 个字1500-2000 token
代码2-4 个字符300-500 token

中文比英文贵 4-6 倍,这是中文 LLM 应用的核心成本因素。

Tokenization 的工作原理

LLM 用 Tokenizer 把文本切分为 token。主流方法:

BPE(Byte Pair Encoding)

GPT 系列使用。从字符开始,迭代合并最高频的字符对:

训练语料统计:"the" 出现 1000 次
→ "the" 成为一个 token,不再拆分为 "t"+"h"+"e"

训练语料统计:"人工智能" 出现 500 次
→ "人工智能" 成为一个 token(若有足够中文语料)

WordPiece

BERT 系列使用,类似 BPE 但合并策略略有不同。

SentencePiece

多语言模型常用,直接在字节层面操作,支持任何语言。

Tiktoken(OpenAI 专用)

OpenAI 开源了其 tokenizer,可在线试用:https://platform.openai.com/tokenizer

为什么中文 Token 更贵

根本原因

GPT 系列模型的 tokenizer 主要在英文语料上训练,英文常见词被合并为单 token,中文则多为单字 token

"apple" → 1 token(英文常见词合并)
"苹果" → 2 token(中文按字切分)

对比

文本英文 token中文 token倍数
"Hello / 你好"12
"I love programming / 我爱编程"36
"Artificial Intelligence / 人工智能"24
1000 字文章~250~1500-20006-8×

影响

  • 费用:同样字数,中文 API 费用是英文的 4-6 倍
  • 上下文窗口:同样窗口(如 128K token),中文能放的内容比英文少 4-6 倍
  • 响应速度:中文生成 token 数更多,速度更慢

Token 与计费

主流 LLM 按 token 计费:

模型输入价格输出价格说明
GPT-4o$2.5/1M$10/1M1M = 100 万 token
GPT-4o-mini$0.15/1M$0.6/1M便宜 16 倍
Claude 3.5 Sonnet$3/1M$15/1M
Claude 3 Haiku$0.25/1M$1.25/1M
Gemini 1.5 Pro$1.25/1M$5/1M
Gemini 1.5 Flash$0.075/1M$0.3/1M最便宜

计费示例

处理一篇 3000 字中文文章(约 5000 token):

模型输入费输出费(生成 1000 字 ≈ 2000 token)总费
GPT-4o$0.0125$0.02$0.0325
GPT-4o-mini$0.00075$0.0012$0.002
Claude 3.5 Sonnet$0.015$0.03$0.045

批量处理 1000 篇文章:GPT-4o 需 $32.5,GPT-4o-mini 仅需 $2。

Token 与上下文窗口

上下文窗口 = 模型一次能处理的最大 token 数:

模型上下文窗口约等于
GPT-4o128K6 万字中文
Claude 3.5 Sonnet200K10 万字中文
Gemini 1.5 Pro2M100 万字中文

窗口限制的影响

  • 输入超限:会被截断或报错
  • 输出超限:生成到一半停止,需"继续"指令
  • 越长越贵:输入 token 也计费,长 Prompt 成本高
  • 越长越慢:注意力机制复杂度 O(n²),超长上下文延迟显著

Token 优化技巧

1. 精简 Prompt

❌ "请你作为一个资深的数据分析师,帮我分析以下数据..."(冗余)
✅ "分析以下数据:"(精简)

2. 用英文写 Prompt

❌ "请总结以下文章" → 6 token
✅ "Summarize:" → 2 token

指令用英文,内容用中文,能省 30-50% Prompt token。

3. 缓存重复内容

系统提示(system prompt)重复出现,用 Prompt Caching 降 90% 费用。

4. 压缩长文档

❌ 把 50 页 PDF 全文塞进 Prompt(10 万 token)
✅ 先用 RAG 检索 Top-3 相关段落(3000 token)

5. 批量处理

❌ 100 次单条 API 调用(100 次系统提示开销)
✅ 1 次批量调用(1 次系统提示)

6. 选对模型

简单任务(分类/抽取)→ GPT-4o-mini(便宜 16 倍)
复杂任务(推理/写作)→ GPT-4o

7. 控制输出长度

"用一句话回答" → 输出 ~50 token
"详细回答" → 输出 ~500 token(贵 10 倍)

8. 流式输出

流式不省 token,但能提前看到结果,发现跑偏时及时中断,省输出 token。

Token 计算工具

在线工具

代码计算

import tiktoken

enc = tiktoken.encoding_for_model("gpt-4o")
tokens = enc.encode("你好世界")
print(len(tokens))  # 4
print(tokens)       # [57668, 53901, 4593, 10994]
import { encoding_for_model } from "tiktoken";
const enc = encoding_for_model("gpt-4o");
const tokens = enc.encode("你好世界");
console.log(tokens.length); // 4

常见误区

  • 误区 1:1 个字 = 1 个 token。中文常见词可能是 1 token(如"智能"),生僻字可能拆成多 token。
  • 误区 2:不同模型 token 计算相同。GPT 和 Claude 的 tokenizer 不同,同样文本 token 数可能不同。
  • 误区 3:输出 token 与输入同价。输出通常贵 3-5 倍(生成比理解难)。
  • 误区 4:上下文越长效果越好。超长上下文会导致"中间遗忘",关键信息放开头和结尾。
  • 误区 5:Token 数等于字数。英文 1 token ≈ 0.75 词,中文 1 token ≈ 0.5 字。
  • 误区 6:代码 token 与自然语言相同。代码的特殊符号({}();)各占 token,比自然语言更"贵"。

与其他术语的关系

  • LLM:大语言模型,以 token 为基本单位
  • Embedding:嵌入,把 token 序列转为向量
  • Fine-tuning:微调,按 token 计算训练数据量
  • Hallucination:幻觉,长 token 序列更易触发
  • Context Window:上下文窗口,以 token 为单位

小结

Token 是 LLM 时代的"字数单位":决定费用、限制上下文、影响速度。理解 Token 的关键要点:

  • 中文比英文贵 4-6 倍:核心成本因素
  • 输入与输出不同价:输出贵 3-5 倍
  • 上下文窗口是 token 上限:不是字数上限
  • 优化 = 精简 Prompt + 选对模型 + 缓存 + RAG

掌握 Token 计量,是控制 LLM 应用成本的基本功。每次写 Prompt 前,先估一下 token 数,能省 30-50% 的 API 费用。