成本与速度:token 计价、延迟从哪来
钱是按 token 算的,而且输入输出不同价
调用闭源模型 API,账单 = 输入 token 数 × 输入单价 + 输出 token 数 × 输出单价。通常输出比输入贵几倍。
两个反直觉的地方:
- 每一轮都把历史重发一遍。十轮对话,前面的内容会被计费十次。长对话的成本增长不是线性,而是接近平方。
- 塞进上下文的资料也计费。RAG 一次塞 5 段资料,可能就是几千 token,比你的问题本身贵一个数量级。
数量级感受(只记量级,具体价格各家一直在变):小模型每百万 token 是「几毛到几块」量级,前沿大模型是「几十到上百」量级——两者差一到两个数量级,这就是路由策略值钱的原因。
延迟有两个独立的数字
| 指标 | 含义 | 主要受什么影响 |
|---|---|---|
| 首 token 时间 | 从发出请求到看到第一个字 | 上下文长度(要先读完全部输入) |
| 生成速度 | 每秒出多少 token | 模型大小、显存带宽、并发数 |
所以「慢」有两种:一种是要等很久才开始(上下文太长),一种是开始得很快但写字慢(模型太大)。两种慢的解法完全不同。
三个省钱手段(概念层)
- 缓存:多次请求开头相同的部分(长系统提示、同一份资料)可以被复用,命中部分价格大幅降低。做法是把固定内容放前面、变动内容放后面。
- 路由:简单任务(分类、抽取、改写)交给便宜的小模型,只有难任务升级到大模型。多数流量其实是简单任务。
- 缩短上下文:裁剪历史、只检索必要片段、要求简短输出。输出长度常常是最直接的成本旋钮。
自托管的成本长什么样
开源自托管没有 token 账单,成本变成硬件 + 运维:一张消费级显卡能服务多少并发,决定了摊到每次调用的钱。经验规律:调用量小 → API 明显更便宜;调用量大且任务固定 → 自托管小模型可能便宜一个数量级以上。中间地带取决于你的运维能力。
三个判断
- 成本失控时,先看上下文是不是在滚雪球,再看模型档位。
- 想提速,先分清是「等第一个字」慢还是「写字」慢。
- 想省钱,先问「这个任务真的需要大模型吗」,而不是先找折扣。