Token 计费入门:看懂输入、输出、缓存与你的账单

发布于 2026-09-27

Token 计费入门:看懂输入、输出、缓存与你的账单

第一次看到大模型账单的人常有两个疑问:为什么按 token 而不是按次?为什么同样聊十句话,费用差好几倍?把计费结构拆开看,就清楚了。

基本单位:token

模型处理的最小单位是 token,可以粗略理解为“词片”。中文大致一个字到一个词对应一到两个 token,英文按词根切分。输入和输出分开计价,且输出通常比输入贵不少——这是账单里最容易被忽略的一条。

一笔调用由三部分构成

1. 输入(prompt):系统提示 + 历史对话 + 本次提问,全部计入;

2. 输出(completion):模型生成的内容;

3. 缓存命中(cache):如果开启并命中了前缀缓存,这部分按更低的缓存价计费。

为什么多轮对话越来越贵

多轮对话不是只发送“你刚说的那句话”,而是把历史消息一起带上。十轮之后,每一轮都要重复发送前面所有内容——这是成本线性上涨的主因。

应对办法:

滑动窗口:只保留最近若干轮完整历史;

中间摘要:更早的对话先压缩成一段摘要再带入;

固定前缀前置:把长期不变的系统提示放在最前面,充分利用缓存命中价。

容易放大成本的几个习惯

系统提示写得又长又泛,每一轮都在为它付费;

用旗舰模型做简单任务(改写、分类、打标);

不限制输出长度,让模型“自由发挥”;

没有给 Key 设额度上限,测试脚本跑飞了才发现。

三个立刻能做的动作

1. 打开用量日志,看看哪把 Key、哪个模型占了最多花费;

2. 给每把 Key 设额度上限与模型白名单,把测试与生产分开;

3. 把系统提示与历史策略过一遍,先做“不花钱的优化”。

计费透明的好处是每一分浪费都看得见。看懂账单结构,优化方向自然就出现了。

返回列表 · 技术交流