

## 一、基本概念

**Token**（官方中文译名：**词元**）是大语言模型处理文本时的最小基本单位。在将人类可读的文本输入模型之前，需要先进行**分词**（Tokenization），即将文本切分成若干片段，每个片段即为一个 token。负责分词的组件称为**分词器**（Tokenizer）。

## 二、Token 的切分规则

Token 可以是单个字、一个词、一个标点符号，甚至一个字符的一部分。其切分方式并非基于语义理解，而是依据**统计规律**：在海量文本中经常相邻出现的字符序列，更可能被合并为一个 token。

### 示例
- “小白”可能作为一个 token 被切出
- “我”和“要”可能各自独立，也可能合并
- 逗号“，”通常单独成为一个 token
- 英文单词 “bug” 可能完整，也可能拆分为 “.``bug” 等

## 三、模型处理流程

1. 输入文本 → 分词器切分为 token 序列
2. 每个 token 通过查询**词表**（固定 token 集合）转换为对应的数字编号
3. 模型实际处理这些数字编号（即 token 的 ID）

## 四、输入 Token 与输出 Token

- **输入 Token**：用户在聊天框中发送的文本被切分后，传入大模型的部分。
- **输出 Token**：大模型返回的回复内容被切分后对应的部分。

## 五、计费与定价（以 DeepSeek 为例）

处理 token 需要消耗 GPU 算力，因此多数厂商以 token 数量作为计费单位。参考数据：

- **100 万 token** ≈ 3 本《三体》小说的内容量
- **输入 token 价格**：2 元 / 百万 token
- **输出 token 价格**：3 元 / 百万 token

### 为什么输出更贵？
- 模型可以**并行处理**大量输入 token，速度快、资源占用相对低。
- 输出 token 需要**逐个顺序生成**，前一个 token 未生成完就无法确定下一个，因此速度慢、推理资源消耗高。

## 六、缓存命中与未命中

在输入 token 中，还存在价格差异：

- **缓存命中**：当系统提示词或对话前缀与历史请求完全一致时，模型可直接复用之前的计算结果，无需重新计算。价格较低。
- **缓存未命中**：前缀发生变化，需要重新计算所有 token。价格较高。

> 实用建议：尽量复用长前缀（如固定系统指令），避免随意改动，否则缓存失效会导致费用上升。

## 七、我国 Token 调用量参考

- 日均 token 调用量：**超 140 万亿**
- 换算对比：
  - 约等于 **4.7 亿本**《三体》小说
  - 约等于 **700 亿**网页
  - 约等于一个人连续说话 **3800 万年**
