一句话说清楚:Token 就像乐高积木,AI 不是一个字一个字地读,而是把文字拆成一块块"积木"来理解。

前言

你有没有遇到过这种情况:兴冲冲地注册了一个 AI 平台,发了一段话过去,结果发现余额扣了好几分钱?明明才几个字啊,怎么这么贵?

或者更离谱的:同样一段中文,换个 AI 平台,扣费居然差了好几倍?

别急,这不是平台坑你。问题出在一个你可能没听过的东西 —— Token

今天我们就用大白话,把这个概念彻底讲明白。


一、什么是 Token?

用乐高积木来理解

想象一下,你面前有一堆积木。你想搭一个城堡,但 AI 不认识"城堡"这个词,它只认识一块一块的积木。

Token 就是 AI 眼里的"积木"。

当你输入一段文字时,AI 不会像人一样一个字一个字地读。它会先把你的文字拆成一块块小片段,每一块就是一个 Token。

举个例子:

输入:“我喜欢吃苹果”

AI 可能拆成:[“我”, “喜欢”, “吃”, “苹果”] → 4 个 Token
也可能拆成:[“我”, “喜”, “欢”, “吃”, “苹”, “果”] → 6 个 Token

不同的 AI 模型,拆法不一样。就像不同的小朋友拆乐高,有的喜欢拆大块,有的喜欢拆小块。

Token ≠ 字

这是很多新手的第一个误区。Token 不等于"字"

  • 英文里,一个单词通常是 1-2 个 Token。比如 “Hello” = 1 个 Token,“artificial” = 3 个 Token
  • 中文里,一个字可能是 1-2 个 Token。比如"你" = 1 个 Token,“人工智能” 可能 = 2-3 个 Token
  • 标点符号、空格、换行符也算 Token
# 用 tiktoken 库验证(GPT 系列的分词器)
import tiktoken

enc = tiktoken.encoding_for_model("gpt-4")

# 英文
tokens_en = enc.encode("Hello, how are you?")
print(f"英文 Token 数: {len(tokens_en)}")  # 6 个

# 中文
tokens_cn = enc.encode("你好,最近怎么样?")
print(f"中文 Token 数: {len(tokens_cn)}")  # 约 8-10 个

# 看看具体拆成了什么
for token in tokens_cn:
    print(enc.decode([token]))

运行结果会让你大吃一惊 —— 同样意思的一句话,中文消耗的 Token 数通常是英文的 2-3 倍!


二、为什么不用"字"而用 Token?

技术原因:AI 不认识"字"

大语言模型(LLM)的底层是数学运算。它不认识汉字、英文单词,它只认识数字。

Token 就是把文字转换成数字的中间步骤。每个 Token 对应一个数字 ID,AI 通过这些数字来计算和推理。

不同模型的分词策略

模型 分词方法 特点
GPT-4 / GPT-4o BPE (Byte Pair Encoding) 按频率合并,常见词是一整个 Token
Claude 自研 BPE 变体 中文支持较好
LLaMA / Qwen SentencePiece 多语言友好,中文效率更高
DeepSeek 自研分词器 针对中文优化

关键点:同样的内容,不同模型的 Token 数可能差很多。 这就是为什么同样的 Prompt,换个平台扣费不一样。

中文用户的"隐形税"

由于大多数主流模型是英文优先设计的,中文在 Token 化时效率较低:

“人工智能改变世界”

GPT-4 拆分: [“人工”, “智能”, “改变”, “世界”] → 4 Token
或者更细: [“人”, “工”, “智”, “能”, “改”, “变”, “世”, “界”] → 8 Token

Claude 拆分: [“人工智能”, “改变”, “世界”] → 3 Token

这就是为什么很多中文用户觉得"AI 好贵" —— 一部分原因是中文 Token 效率低。


三、Token 和费用的关系

各平台计费方式

AI 平台通常按 Token 数收费,分为两部分:

  • 输入 Token(Input):你发给 AI 的内容
  • 输出 Token(Output):AI 回复你的内容

输出通常比输入贵 2-4 倍。

实际费用对比

以2026年主流模型为例(价格可能随时调整):

模型 输入价格 输出价格 1000字中文大约花费
GPT-4o $2.5/1M tokens $10/1M tokens ¥0.05-0.1
Claude Sonnet $3/1M tokens $15/1M tokens ¥0.06-0.15
DeepSeek V3 ¥1/1M tokens ¥2/1M tokens ¥0.005-0.01
Qwen Max ¥2/1M tokens ¥6/1M tokens ¥0.01-0.03

一个实用的换算公式:

1 个汉字 ≈ 1.5-2 个 Token(取决于模型和分词器)
1 个英文单词 ≈ 1-1.5 个 Token

所以,1000 字的中文文章,大约 1500-2000 个 Token。

隐藏成本:上下文窗口

Token 不只影响费用,还影响"记忆力"。每个模型有一个上下文窗口限制:

  • GPT-4o:128K tokens
  • Claude:200K tokens
  • DeepSeek:64K tokens

超出限制,早期的对话内容就会被"遗忘"。所以 Token 管理 = 省钱 + 保持对话质量。


四、怎么省 Token?5 个实用技巧

技巧 1:精简 Prompt

啰嗦版(~80 tokens):“我想请你帮我写一个Python程序,这个程序的功能是读取一个CSV文件,然后对其中的数据进行一些处理,最后输出一个结果。具体来说…”

精简版(~30 tokens):“写一个 Python 脚本:读取 CSV → 按第3列排序 → 输出前10行”

技巧 2:控制输出长度

在 Prompt 中明确限制输出长度:

“用3句话总结这篇文章”
“回答不超过100字”
“给出5个要点,每个要点一行”

技巧 3:使用 System Prompt 设定规则

System: 你是一个简洁的技术助手。回答要简短、直接,不要废话。

这样可以减少每次对话的重复指令。

技巧 4:选择合适的模型

不是所有任务都需要最贵的模型:

任务类型 推荐模型 原因
简单问答 GPT-3.5 / Qwen-turbo 便宜、快
代码生成 Claude Sonnet / GPT-4o 质量高
长文分析 Claude (200K) 上下文长
日常对话 DeepSeek V3 性价比最高

技巧 5:善用缓存和压缩

  • 重复的 System Prompt 会被缓存,不重复计费(大多数平台支持)
  • 长文本先自己提取关键信息,再发给 AI
  • 使用"继续"而不是重新发整个上下文

五、动手实验:用 Python 看看 Token 长什么样

# 安装:pip install tiktoken
import tiktoken

def show_tokens(text, model="gpt-4"):
    enc = tiktoken.encoding_for_model(model)
    tokens = enc.encode(text)
    
    print(f"原文: {text}")
    print(f"Token 数: {len(tokens)}")
    print(f"拆分结果:")
    
    for i, token_id in enumerate(tokens):
        token_text = enc.decode([token_id])
        print(f"  [{i}] ID={token_id:>6}  →  '{token_text}'")
    print()

# 测试中文
show_tokens("人工智能改变世界")

# 测试英文
show_tokens("Artificial Intelligence changes the world")

# 测试中英混合
show_tokens("GPT-4 是 OpenAI 发布的大模型")

新手容易踩的坑

  • Token = 字:Token 是子词级别的片段,不等于"字"或"单词"
  • 所有模型 Token 一样:不同模型的分词器不同,同样内容 Token 数可能差 2-3 倍
  • 只看输入不看输出:输出 Token 通常比输入贵 2-4 倍,长回复更烧钱
  • 上下文越长越好:过长的上下文会增加费用,还可能降低模型表现
  • 中文和英文费用一样:同样的语义,中文通常消耗更多 Token

今日小结

  • Token 是 AI 处理文本的基本单位,就像乐高积木,不是"字"
  • 中文 Token 效率比英文低,同样内容可能多花 2-3 倍
  • Token 数 = 费用,精简 Prompt 和控制输出长度是省钱关键
  • 不同模型分词策略不同,选对模型能省不少钱
  • 上下文窗口限制决定了 AI 的"记忆力",Token 管理很重要

想了解更多?


💡 下次用 AI 之前,先想想:我这段话会被拆成多少个 Token?养成这个习惯,能帮你省不少钱。

标签: #LLM #Token #大语言模型 #AI入门 #人工智能

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐