最近苏米打算推出一个AI 概念系统入门文章,尝试用更简单的方式让大家理解并使用AI。
很多人每天都在用一些 AI 工具,但是也经常听到 token,那么 token 到底是什么?它有什么用?
有人按字数估算,有人按词数,有人只看价格不看窗口。
本文一次性把 Token 的定义、分词差异、上下文窗口与计费逻辑讲清楚,并附上我常用的计算工具与价格对照,帮助你轻松理解Token。
Token 是什么?
Token(词元)是大语言模型(LLM)理解与处理文本的最小单位。它不等同于“一个字”或“一个词”,具体切分由分词器(Tokenizer)决定。
英文示例:一个 Token 可以是完整单词(如 “Apple”)、词缀(如 “ing”)或标点;未见过的生词会拆成常见子词(如 "inexplicable" → "in" + "explic" + "able")。
中文示例:常见词语可能作为整体或按子词拆分,汉字、标点、空格都可能成为单独的 Token,具体取决于模型的分词策略。
机器视角:模型最终处理的是每个 Token 的唯一整数 ID,并将其映射为向量参与矩阵运算。
为什么要用 Token?
字符级切分:词表小但序列极长,语义承载弱,计算成本高。
词级切分:词表巨大且容易 OOV(未登录词)。
子词(Token)切分:保留常见词完整性,生僻词拆分为常见子词;词表规模可控(通常几万到十几万),覆盖面广、效率较优。
分词器的差异会影响 Token 统计
常见实现:
- Byte Pair Encoding(BPE):GPT-系列常用,OpenAI 的 tiktoken 基于此类方案。
- SentencePiece(Unigram/BPE):Google、部分开源模型采用。
- 字节级 BPE:适配多语言与表情符,为跨字符集稳健。
经验值(不同模型略有差异):英文约 1 Token ≈ 4 字符;中文约 1 Token ≈ 1 汉字或更少。更细的估算可参考:
- 英文字符:约 0.25–0.3 Token/字符
- 中文字符:约 0.6 Token/字符
实际以模型分词器为准。
上下文窗口与计费
在模型服务页面,你通常会看到“上下文窗口(context window)”与“输入/输出 Token 价格”。
窗口是一次请求可处理的最大 Token 数;价格分别对应请求体(输入)和生成的回复(输出)。
为什么输出更贵:输入可以并行处理;输出是自回归生成,需要逐 Token 计算,无法并行“一次写完”,因此时间和算力成本更高。
常见模型的窗口与价格(仅供参考)
以下为面向中文用户常用的主流模型的公开价格与窗口信息的通用参考,具体以官方页面为准(不同区域/渠道可能存在差异,价格会随时间变动)。
| 提供方 / 模型 | 上下文窗口 | 输入价格(USD / 每百万 Token) | 输出价格(USD / 每百万 Token) | 官方页面 | 适合场景 |
|---|---|---|---|---|---|
| OpenAI GPT-4o | 约 128k | 约 $5 | 约 $15 | openai.com/pricing | 综合对话、函数调用、部分多模态 |
| OpenAI GPT-4 Turbo | 约 128k | 约 $10 | 约 $30 | openai.com/pricing | 较强推理,长上下文对话 |
| Anthropic Claude 3.5 Sonnet | 约 200k | 约 $3 | 约 $15 | anthropic.com/pricing | 中文/英文综合写作、代码协作 |
| Anthropic Claude 3 Opus | 约 200k | 约 $15 | 约 $75 | anthropic.com/pricing | 高复杂度推理与长文档分析 |
| Google Gemini 1.5 Pro | 约 1M | 约 $3.5 | 约 $10.5 | ai.google.dev/pricing | 极长上下文(代码库、长报告) |
| Google Gemini 1.5 Flash | 约 1M | 约 $0.35 | 约 $0.70 | ai.google.dev/pricing | 高吞吐低成本场景 |
| 字节跳动 火山引擎(Ark)主流模型 | 不同模型差异 | 页面实时显示 | 页面实时显示 | volcengine.com/product/ark | 国内接入、成本可控与多模型选择 |
说明:不同供应商在统计规则、免费额度、速率限制、区域价格方面可能存在差异;务必以官网最新公布为准,并结合你所用的 SDK 返回的 Token 计数。
常用的 Token 计算工具
OpenAI Tokenizer(网页)
作用:可视化查看文本被切分成哪些 Token、每个 Token 的 ID。
适配性:与 OpenAI tiktoken 一致,适合英语与多语测试。
火山引擎 Ark Token 计算器
作用:可选择具体模型,估算字符数与 Token 数。
适配性:更贴近国内接入与中文场景。
tiktoken(Python 包)
与 OpenAI 模型一致的分词器
安装:pip install tiktoken
适用:后端服务中实时估算与成本控制。
SentencePiece / Hugging Face tokenizers(Python 包)
安装:pip install sentencepiece 或 pip install tokenizers
适用:与多家开源/商用模型的分词一致。
DeepSpeed 文档与工具包
说明:提供训练与推理加速思路;文档中有对序列长度、批大小等参数与效率的指导。
Cherry Studio(桌面客户端)
作用:支持多家模型接入,在对话界面显示预计 Token 消耗、输入与输出的拆分。
获取:搜索 “Cherry Studio GitHub” 可下载;开源免费,适合个人与小团队校核。
快速估算与成本计算
经验换算(初步预估,按模型调整):
英文:1 Token ≈ 4 字符;或约 0.25–0.3 Token/字符
中文:约 0.6 Token/字符
计费公式(通用表达):cost ≈ input_tokens / 1e6 × price_in + output_tokens / 1e6 × price_out
示例(中文 800 字输入、200 Token 输出,以 GPT-4o 约 $5/$15 为例):
输入估算:800 字 × 0.6 ≈ 480 Token
成本:480/1e6 × $5 + 200/1e6 × $15 ≈ $0.0024 + $0.003 ≈ $0.0054/次
含义:在高并发场景中,输出长度对成本影响更显著。
上下文窗口的实务影响
窗口溢出会被截断:超出窗口的历史消息或长文档会被分词器裁剪,导致模型“忘记上下文”。
系统提示与工具描述也占窗口:长系统指令、工具 schema 都计入输入 Token,易被忽视。
多模态也计费:图片、音频在预处理后会消耗 Token 或以专有单位计费(不同供应商规则不同)。
控制 Token 与成本
提示词精简:把“背景描述”与“输出格式”分离,背景尽量通过检索注入,输出格式用简洁 JSON 模板。
检索增强(RAG):长文档不直接塞上下文,改为检索片段 + 压缩摘要;优先送高相关段落。
对话裁剪:保留关键“状态消息”(如用户意图、约束条件、上下文引用),定期压缩历史。
结构化输出:使用 JSON Schema 或函数调用减少冗长自然语言输出 Token。
模型分层:用低价模型做召回/改写,高价模型做最终判断/生成;对高价模型控制输出长度。
监控与预算:对后端增加 Token 统计与阈值警告;拉通请求级、用户级、会话级报表。
不同分词器与中文场景的差异
中文密度更高:同字数的中文通常比英文更容易逼近窗口上限,整段复制新闻或报告时要格外注意。
术语与代码:技术文档、代码、URL、表格在某些分词器中会产生更多 Token(例如长路径、base64、MD 表格)。
工具调用描述易膨胀:JSON schema、参数说明、错误枚举等一长段占用窗口与成本,建议做“短描述+示例”。
代码示例:用 tiktoken 估算 Token
# pip install tiktoken
import tiktoken
enc = tiktoken.get_encoding("cl100k_base") # GPT-4/4o 系列常用
text = "我喜欢使用大语言模型进行代码审查与文档摘要。"
tokens = enc.encode(text)
print("Token 数:", len(tokens))
print("前若干 Token ID:", tokens[:10])
结尾
从落地视角,Token 不是概念题,而是“窗口可用配额”和“成本核算”的基础数据。
建议在团队内统一:采用哪种分词器估算、窗口策略如何裁剪、各模型价格与场景边界、监控报表字段定义。
只要这几项清楚,提示词设计、检索流程和成本管理都会更可控。
如果你对智能体、RAG、LLM 产品化有系统性问题,也欢迎交流。
我后续会持续分享基于实际评测的工具清单与经验做法,保持理性与可操作性。