AI教程网

每天一篇AI教程

Token到底是什么?AI计费背后的秘密

2026-10-13

Token到底是什么?AI计费背后的秘密

很多人第一次用 OpenAI 或者 Claude 的 API,看到账单的那一刻是懵的。

“我就问了几个问题,怎么就扣了 0.3 美元?”

然后你去查文档,发现所有的价格表上都写着 $X / 1M tokens。不是按字数,不是按请求次数,是按 Token。

这个 Token 到底是什么?为什么 AI 公司要用它来计费?今天我把这事儿彻底讲清楚。

Token 不是字,也不是单词

Token 不是字,也不是单词

最直觉的理解是:Token 就是“词”。但没这么简单。

Token 是 AI 模型处理文本的最小单位。它介于“字符”和“单词”之间,具体是什么取决于分词器(Tokenizer)怎么切。

拿英文举例。OpenAI 用的是 BPE(Byte Pair Encoding)分词算法,常见词会作为一个完整 Token,不常见的词会被拆开:

有个经验公式:1 个英文 Token ≈ 0.75 个英文单词。反过来,1000 个英文单词大约是 750 个 Token。

中文呢?更复杂。因为大部分分词器的训练语料以英文为主,中文往往一个汉字就要占 1 个 Token,有些生僻字甚至要占 2-3 个。

我实测过一段 500 字的中文,用 GPT-4 的 tokenizer 跑出来是 723 个 Token。也就是说,中文的 Token 消耗量大概是英文的 1.5 到 2 倍。这直接影响到你用中文调 API 的成本。

为什么 AI 公司要按 Token 收费

道理其实不复杂:算力消耗和 Token 数量直接挂钩。

Transformer 架构的核心是自注意力机制(Self-Attention),它的计算复杂度是 O(n²)——n 就是 Token 数量。也就是说,Token 翻倍,计算量翻四倍。

这就解释了为什么: - 输入越长,价格越贵(不是线性增长) - 输出比输入贵(因为输出是一个 Token 一个 Token 生成的,每一步都要跑一次完整推理) - 长上下文模型(比如 128K 上下文)价格更高

拿 GPT-4o 举例,目前的定价大致是:

类型 价格(每 1M Token)
输入 $2.50
输出 $10.00

输出价格是输入的 4 倍。因为生成每个 Token 都需要一次前向传播,而处理输入可以并行计算。

一次对话到底烧了多少 Token

一次对话到底烧了多少 Token

很多人以为只有自己打的字才算 Token。不是的。

一次 API 调用的 Token 消耗包括:

  1. System Prompt:你设置的系统提示词
  2. 对话历史:之前所有的问答记录
  3. 当前输入:你这次说的话
  4. 模型输出:AI 回复的内容

关键是第 2 点。ChatGPT 这类多轮对话,每次你发新消息,API 都会把之前的全部对话历史重新传一遍。也就是说,对话越长,每轮消耗的 Token 越多。

假设你和 AI 聊了 20 轮,每轮平均 200 Token,到第 20 轮的时候,光历史记录就有 4000 Token 了。这 4000 Token 每一轮都要重新计费。

所以如果你用 API 做多轮对话应用,对话历史的管理策略直接影响成本。常见的做法是: - 只保留最近 N 轮对话 - 对早期对话做摘要压缩 - 用更便宜的模型处理简单轮次

怎么查自己用了多少 Token

OpenAI 的 API 返回结果里有个 usage 字段:

{
  "usage": {
    "prompt_tokens": 1523,
    "completion_tokens": 487,
    "total_tokens": 2010
  }
}

这个数据非常有用。我建议在做任何 API 应用之前,先跑几次测试,记录下典型场景的 Token 消耗,这样你才能估算成本。

另外推荐一个工具:OpenAI 官方的 Tokenizer 页面(platform.openai.com/tokenizer),可以直接把你的一段文本粘进去,实时看到它被切成了多少个 Token。我经常用它来优化 Prompt——有时候换个说法,Token 数能省 20%。

省钱的核心逻辑

搞懂了 Token 机制,省钱思路就很清晰了:

第一,控制输入长度。 Prompt 不要写废话。我见过有人在 System Prompt 里写了 2000 字的角色设定,每轮对话都在烧钱。

第二,管理对话历史。 不是所有场景都需要完整历史。客服机器人可能只需要最近 3 轮,写作助手可能需要全部。

第三,选对模型。 不是所有任务都需要 GPT-4。分类、提取关键词、简单问答,GPT-4o-mini 完全够用,价格差了 30 倍以上。

第四,中文场景注意 Token 膨胀。 如果成本敏感,可以考虑用英文写 System Prompt,或者测试一下同一内容中英文的 Token 差异。

Token 这个概念,刚开始觉得抽象,但你用 API 跑几个项目之后就会发现,它其实就是一个很实在的“计量单位”。理解它,你才能真正掌控 AI 应用的成本。