在第一次使用 ChatGPT 或调用大模型 API 的时候,是不是被这个提示吓过:
“每次调用按 Token 数量计费。”
Token 是什么?为什么不是按“字数”计费?一条短短的对话,怎么就用了几百个 Token?更可怕的是, 你可能还不知道怎么优化它。
今天,我们就来系统聊聊:
大模型中的 Token 到底是啥、怎么计费、怎么算 Token 数量、如何节省 Token 花销,以及开发时需要注意哪些坑。
01|Token 是什么?不是字,也不是词
很多人一开始以为 Token 是“字”或者“词”,但其实都不是。
更准确的说法是:
Token 是大模型处理文本时,拆分后的最小单位,可以是一个词、一个字母,甚至一个标点或空格。
我们来看几个例子:
文本 | Token 拆解(英文 GPT-3.5/4 模型) |
ChatGPT is smart. | Chat , G , PT , is , smart , . → 共 6 个 Token |
你好,世界! | 你好 、, 、世界 、! → 共 4 个 Token(中文一般是1字1Token) |
GPT 模型使用的是一种叫做 Byte-Pair Encoding(BPE) 的编码算法,它会根据模型训练时的词频规律,把文本分割成既“高频”又“压缩高效”的单位。
你可以理解为模型看到的并不是“字”或“词”,而是被“语义压缩”后的碎片。
02|一次 Token 是一次调用吗?
不是。
Token ≠ 一次调用。调用是一次请求,Token 是这次请求中被处理的文字片段。
大模型 API(比如 OpenAI、DeepSeek、Moonshot 等)都是按照“Token 数量”来计费的,而不是调用次数。
一次调用中,涉及两个 Token 计数:
- 输入 Token(Prompt Tokens)
:你发给 AI 的内容
- 输出 Token(Completion Tokens)
:AI 给你生成的内容
总 Token 数 = 输入 Token 数 + 输出 Token 数
比如你问一句话 50 Token,AI 回答了 150 Token,那这次调用就是 200 Token
03|怎么知道我用了多少 Token?
不同平台提供的 Token 分词规则略有差异,但你可以用这些方法估算:
方法一:经验公式(英文)
1 Token ≈ 0.75 个单词(英语)
100 单词 ≈ 130 Token
1000 字 ≈ 1500 Token(中文)
方法二:使用工具
- OpenAI Token Calculator
- GPT Token Visualizer
- Python 中可用
tiktoken
库直接估算
import tiktoken
enc = tiktoken.encoding\_for\_model("gpt-4")
tokens = enc.encode("你好,世界!")
print(len(tokens)) # 输出 token 数量
04|Token 是怎么计费的?
以 OpenAI GPT-4 Turbo 为例(2024 年报价):
类型 | 单价(/1k tokens) |
输入(prompt) | $0.01 / 1K tokens |
输出(completion) | $0.03 / 1K tokens |
换句话说:
-
你发1000个 Token,成本 $0.01
-
它回1000个 Token,成本 $0.03
-
总成本 $0.04
国内模型如 DeepSeek、智谱、通义等,也大多是按 1000 Token 为单位计价,价格因模型规模不同而差异较大(从几厘到几分钱不等)。
05|如何节省 Token 使用?
AI 成本能省不少,关键就在于: “Token 优化” 。
方法一:优化提示词长度
不要把整本小说喂进去,尤其是无关上下文!
- ❌ 错误示例:
“下面是我们公司近三年详细经营数据,请你逐条分析……”
- ✅ 正确示例:
“以下是2023年上半年销售数据,请你帮我总结销售波动原因。”
方法二:压缩系统提示词
你设定角色时,不用写成一段话,用关键词就行:
- ❌ “你是一个经验丰富、语气冷静、逻辑清晰的咨询师”
- ✅ “你是:咨询师|理性|冷静”
方法三:限制最大输出 Token
API 调用时可设置 max\_tokens
参数,防止模型滔滔不绝浪费字数。
{
"prompt": "帮我总结这段文档",
"max\_tokens": 200
}
方法四:使用函数调用(Function Call)或工具接入
用外部函数代替长对话,如数学计算、SQL查询、搜索等,减少语言描述所需 Token。
06|Token 与上下文长度的限制
不同模型能“记住”的上下文 Token 是有限的。
模型 | 上下文窗口 |
GPT-3.5 | 4K Token |
GPT-4 Turbo | 128K Token |
Claude 3 Opus | 200K Token |
DeepSeek-V2 | 128K Token |
一旦超过这个 Token 上限,模型会“遗忘”前面的内容。
所以, 上下文管理 非常关键,尤其是连续对话或Agent场景里。
07|Token 是智能体的“注意力单位”
从原理角度讲,Transformer 架构的核心是 Self-Attention,而 Token 就是模型“注意力”计算的基本单位。
模型在生成下一个 Token 时,要参考前面所有 Token,计算每个的“相关性”。
所以,当 Token 太多时,计算成本会指数上升(虽然现代模型用了稀疏 Attention 技术做优化)。
08|总结:Token 是你和大模型对话的“货币单位”
关键词 | 理解方式 |
Token 是什么 | 处理文本的最小单位,不等于字或词 |
Token 用来干嘛 | 模型输入输出的计费依据 |
Token 怎么算 | 按字符分割,有经验公式和工具可查 |
如何节省 Token | 优化提示词、控制 max_tokens、拆分上下文 |
Token 的底层意义 | 是模型注意力机制的基本计算单位 |
记住这句话:Prompt 决定了方向,Token 决定了成本。
如果你觉得大模型太贵、跑得太慢,很多时候不是因为模型太差,而是你“没搞明白 Token”。
它不只是一个“计费单位”,而是你和 AI 沟通的 语言粒度 ,是一次对话中最微妙的信息单元,也是未来 AI 优化的核心能力指标之一。