<!-- title: 同一份中文账单差五十倍：分词器套利四招 -->
<!-- domain: cost-hacks -->

你可能盯过模型单价、比过缓存折扣，但大概率没看过一个被所有人忽略的隐藏变量：**分词器（tokenizer）**。

同样一段中文，喂给 Claude Opus 4.7 是 1580 个 token，喂给 DeepSeek 只有 1080 个——光是分词器不同，token 数就差 46%。再叠加单价（Claude 输出 $25/M vs DeepSeek $1.10/M），处理同样一批中文，账单能差到 **50 倍**。据 PromptCost 2026 年 4 月实测，中文在主流分词器下平均比英文贵 2 倍——你每天都在为「中文」交税，却连税单都没见过。这篇拆开这套隐形计价系统，给你四招能直接抄的套利法。

## 一、你每天都在交一笔「中文 token 税」

大模型不按字数计费，按 token 计费，token 是分词器把文本切成的基本单元。问题在于：**分词器是为英文训练的**。

BPE（Byte-Pair Encoding）的逻辑是「把训练语料里高频出现的字节序列合并成一个 token」。英文语料里 `the`、`ing`、`tion` 高频，于是各占 1 个 token——平均 **4 个英文字符 ≈ 1 个 token**。

中文呢？一个中文字符在 UTF-8 里是 3 个字节，又因为在英文为主的训练语料里出现频率低，分词器学不到合并规则，于是常被拆成 1-3 个 token。PromptCost 的实测结论是：**中文平均 2 个字符 ≈ 1 个 token，比英文贵 2 倍**。

这不是个别现象。jserv 团队的开源工具 cjk-token-reducer 把这笔账算到了明面上：**在 Claude 上，中/日/韩文消耗的 token 是英文的 2-4 倍**（中文典型 2.0-3.0x，个别生僻字会拆成 3-4 个 token）。你的账单、上下文窗口、RAG 检索范围，全在为这件事买单。

## 二、实测：同一份中文，五个分词器差多少

别信口口相传，直接看数据。下面两组实测，一组来自开源 benchmark `shalayiding/llm-token-cost-benchmark`（15 种语言 × 4 个分词器，75 段语料），一组来自 Web2MD 的 2026 年分词深度测试。

**表 1：同一段英文基准（约 76 token）翻成各语言后的 token 数**

| 语言 | cl100k(GPT-4) | o200k(GPT-4o) | qwen2 | deepseek |
|------|------|------|------|------|
| 英文 | 76 | 76 | 78 | 76 |
| **中文** | **135** | **91** | **80** | **72** |
| 俄语 | 182 | 108 | 135 | 121 |
| 阿语 | 219 | 102 | 123 | 120 |
| 印地语 | 372 | 121 | 350 | 218 |

两个反直觉结论：
1. **中文在 GPT-4 的 cl100k 分词器下是英文的 1.77 倍**，在 DeepSeek 下反而只有 0.95 倍——比英文还便宜。
2. **分词器决定一切**。同一个"中文"，cl100k 要 135 token，DeepSeek 只要 72 token，差近 2 倍。所谓"中文更省 token"的传言其实是分词器特定的——只在 DeepSeek/Qwen 这种中文重训过的分词器上成立。

**表 2：同一篇 1000 字中文文章（微信公众号正文）的 token 数**

| 模型/分词器 | token 数 | 相对 DeepSeek |
|------|------|------|
| DeepSeek R2 | 1080 | 1.00x |
| Qwen 3 | 1100 | 1.02x |
| GPT-4o (o200k) | 1420 | 1.31x |
| Gemini 2 | 1460 | 1.35x |
| Claude Opus 4.7 | 1580 | 1.46x |

光是分词器，Claude 就比 DeepSeek 多吃 46% 的 token。Web2MD 的结论很直白：「DeepSeek 在中文上比 Claude 高效约 32%——纯靠分词器选择，还没算它低 30 倍的单价。」

把这笔账算到底。Web2MD 用 50 篇中文研究语料做了真实成本模拟：
- **DeepSeek R2**：约 15 万 token，成本 **$0.075**
- **Claude Opus 4.7**：约 25.5 万 token，成本 **$3.83**
- **差距：50 倍**——在比较"模型谁更聪明"之前，差距就已经存在。

这就是标题里"差五十倍"的来源：**分词器低效（1.46x）× 单价差距（Claude 输出 $25/M vs DeepSeek $1.10/M，22.7x）** 的叠加。你以为在为模型能力付费，其实一大半在为"用错了分词器"付费。

## 三、四招分词器套利，立刻能用

### 招 1：中文工作流，默认换 DeepSeek / Qwen / GLM

性价比最高、改动最小的一招。判断标准只有一条：**谁的分词器为中文重训过，就先用谁**。

| 任务类型 | 推荐模型 | 理由 |
|------|------|------|
| 中文长文档/RAG/批量处理 | DeepSeek V3.1（$0.27/$1.10 per M） | 中文 token ≈ 英文，单价最低 |
| 中文对话/通用 | Qwen、GLM-4 系列 | 中文分词器同样高效，国内直连稳 |
| 强推理/代码（英文为主） | Claude Sonnet / GPT-4o | 英文场景分词器差距小，按能力选 |

DeepSeek 官方 API 价目（2026 年 3 月）：V3.1 输入 $0.27/M、输出 $1.10/M；对比 Claude Sonnet 4.6 是 $3/$15，Claude Opus 4.6 是 $5/$25，GPT-4o 是 $2.50/$10。**处理中文，DeepSeek 比 Claude Opus 便宜约 18-22 倍**——能力差距在多数业务里远小于这个价差。

注意别一股脑全换：英文为主、对推理质量要求极高的场景，Claude/GPT 的 token 差距很小（英文下各模型 token 数基本持平），按能力选更划算。

### 招 2：Claude Code 用户，挂一个 cjk-token-reducer

如果你离不开 Claude、又大量用中文，开源工具 **cjk-token-reducer**（GitHub: `jserv/cjk-token-reducer`，Rust 写的，MIT 协议）能直接把 Claude Code 的中文 token 砍掉 **35%-50%**。

原理很简单：在 prompt 发给 Claude 前，自动把 CJK 翻译成英文（英文是分词器的"母语"），相当于给 prompt 加了层压缩。代码块、文件路径、URL 原样保留不翻译；本地缓存避免重复调用；走免费 Google Translate API，不需要 key。

安装与配置：
```bash
# 安装
cargo install --git https://github.com/jserv/cjk-token-reducer
# macOS 带 NLP 命名实体识别
cargo install --git https://github.com/jserv/cjk-token-reducer --features macos-nlp
```

在 `~/.claude/settings.json` 里挂一个 `UserPromptSubmit` hook：
```json
{
  "hooks": {
    "UserPromptSubmit": [
      { "hooks": [ { "type": "command", "command": "cjk-token-reducer" } ] }
    ]
  }
}
```

之后正常用 Claude Code，输入"重构这个函数"会被自动转成 "Refactor this function" 再发送。代价：每次加 100-300ms 延迟，翻译有损（技术术语可用 `[[term]]` 标记保护）。所以它更适合异步/批处理，不适合毫秒级实时对话和医疗法律等精度敏感场景。

### 招 3：通用提示词压缩，上 LLMLingua-2

不想换模型、也不想翻译？微软的 **LLMLingua / LLMLingua-2**（EMNLP'23、ACL'24，GitHub: `microsoft/LLMLingua`）是更通用的方案，宣称最高 **20 倍压缩**。

LLMLingua-2 和一代不同，它做的是 **token 级压缩**——用一个蒸馏的小模型（BERT 类）判断每个 token 的信息量，删掉低信息（高可预测）的 token，保留关键 token。相比一代的句子级压缩，token 级在同等压缩率下性能更好。

快速上手：
```python
from llmlingua import PromptCompressor

# 用多语种小模型，CPU 也能跑
lp = PromptCompressor(
    model_name="microsoft/llmlingua-2-bert-base-multilingual-cased-meetingbank",
    use_llmlingua2=True,
)
compressed = lp.compress_prompt(
    your_long_prompt,
    rate=0.5,            # 压到原来的 50%
    drop_consecutive=True,
)
print(compressed["compressed_prompt"])
```

实测：把长 system prompt、few-shot 示例、检索到的文档喂进去，rate 设 0.3-0.5，token 直接砍半到砍七成，多数任务质量几乎不掉。它和招 2 互补——LLMLingua-2 保留原文语言、适合 RAG/长上下文；cjk-token-reducer 简单、适合日常 Claude Code。

### 招 4：喂 Markdown，别喂 HTML——结构性内容直接省 40%

最被低估的一招。Web2MD 实测：**同一篇文章，HTML 版比 Markdown 版多消耗 40-50% 的 token**，所有模型无一幸免。

原因是 HTML 满是 `<span class="...">`、`style="..."`、`<table><tr><td>` 这种噪声，每个标签 4-15 个 token。网页剪藏工具抓下来的"HTML 残骸"里，syntax-highlight 的 `<span>` 能让一个代码块的 token 数翻倍。

具体做法：
- 喂模型前，把网页/文档转成干净 Markdown（工具如 Web2MD、defuddle、jina reader）。
- **Markdown 表格也有坑**：每个 `|` 和分隔行都吃 token，一个 10×5 的表格光分隔符就 100+ token，能用结构化 JSON/列表替代就替代。
- token 效率优先级：**JSON / 列表 > 纯文本 > Markdown > HTML**。

```mermaid
flowchart TD
    A[中文输入] --> B{目标模型}
    B -->|DeepSeek/Qwen/GLM| C[直接发送<br/>中文≈英文 token]
    B -->|Claude/GPT-4| D{实时性要求}
    D -->|低·批处理| E[招2 cjk-token-reducer<br/>CJK→EN 翻译压缩 35-50%]
    D -->|高·实时| F[招3 LLMLingua-2<br/>通用压缩 50-90%]
    C --> G[结算]
    E --> G
    F --> G
    A2[结构化内容] -->|招4| H[Markdown/JSON<br/>砍掉 40% HTML 噪声]
    H --> G
    G --> I[账单 ↓ 最高数十倍]
```

## 四、信息差总结

| 你以为的 | 实际情况 |
|------|------|
| 中文比英文省 token（字少） | 主流英文分词器下，中文贵 1.2-3 倍 |
| 账单贵是因为模型单价高 | 一大半是"用错了分词器" |
| "中文更省"是普适规律 | 只在 DeepSeek/Qwen 中文重训的分词器上成立 |
| 压缩 prompt = 改措辞 | 分词器级、token 级压缩能砍 50-90% |
| HTML 和 Markdown 差不多 | HTML 多吃 40-50% token |

## 五、行动指南（今天就做）

1. **测一次**：把你最常用的中文 prompt，分别用 tiktoken（GPT-4o 用 `o200k_base`）、Anthropic 的 `count_tokens`、DeepSeek tokenizer 数一遍 token，差距会让你震惊。
2. **切模型**：中文批处理/RAG/长文档场景，默认换 DeepSeek V3.1（$0.27/$1.10）或 Qwen/GLM，把 Claude/GPT 留给英文强推理。
3. **挂 hook**：Claude Code 重度用户装 cjk-token-reducer，五分钟配好，token 立省 35-50%。
4. **压 prompt**：长 system prompt 和检索文档上 LLMLingua-2，rate=0.5 起步。
5. **清格式**：所有喂给模型的网页内容，先转干净 Markdown，干掉 HTML 噪声。

这五步做完，处理中文的 API 账单降一个数量级不夸张。记住一句话：**在 AI 计费里，选对分词器的价值，常常大过选对模型。**

## 参考来源

- [shalayiding/llm-token-cost-benchmark — 中文 4 分词器实测](https://github.com/shalayiding/llm-token-cost-benchmark)
- [LLMLingua — 微软提示词压缩（GitHub）](https://github.com/microsoft/LLMLingua)
- [jserv/cjk-token-reducer — Claude Code CJK 省 token 工具](https://github.com/jserv/cjk-token-reducer)
- [Web2MD — Markdown 分词深度测试（2026）](https://web2md.org/blog/markdown-tokenization-deep-dive-2026)
- [PromptCost — LLM 多语言 token 成本解析](https://promptcost.org/en/blog/llm-tokenization-explained/)
- [DeployBase — DeepSeek V3 2026 定价与场景测算](https://deploybase.ai/articles/deepseek-v3-pricing)

---
> 本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵**爱卫生**（微信ID: gprshome201101）维护。
> 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
