大模型 API 成本怎么算:一个公式、一个例子和五个省钱手段
输入、输出、缓存分别怎么计费?用一个客服机器人的例子算清每月账单,再看提示缓存、换小模型、限制输出等手段各能省多少。
很多团队第一次看到大模型账单才发现:同样的功能,换个模型、改个提示词,月成本能差几十倍。这篇文章用一个公式和一个具体例子把成本算清楚,再看哪些手段真正有效。
文中价格是 2026-10-22 从各家官方价格页核对的标准档价格,单位是美元 / 每百万 token。价格变化很快,以官网为准。
一个公式
几乎所有大模型 API 都按 token 计费,而且输入和输出分开定价:
单次费用 = 未缓存输入 × 输入单价
+ 命中缓存的输入 × 缓存单价
+ 输出 × 输出单价
有三点值得注意:
- 输出比输入贵得多。主流模型的输出单价通常是输入的 4–6 倍,所以“让模型少说话”往往比“少给它看点东西”更省钱。
- 缓存命中便宜得多。重复的前缀(系统提示、固定文档)命中缓存后,单价常常只有正常输入的 1/10 甚至 1/20。
- 思考 token 按输出计费。开启推理 / 思考模式时,模型内部的思考过程也算输出 token,账单可能比你从回答长度估算的高出好几倍。
一个例子:客服机器人
假设一个客服机器人每次请求:
- 输入 3,000 token:其中 2,000 是固定的系统提示和产品文档,1,000 是用户问题和对话历史;
- 输出 400 token;
- 每天 10,000 次请求。
用 Claude Sonnet 5.5(输入 $2、缓存命中 $0.10、输出 $10)计算:
| 项目 | token | 单价(每百万) | 费用 |
|---|---|---|---|
| 未缓存输入 | 1,000 | $2 | $0.0020 |
| 缓存命中输入 | 2,000 | $0.10 | $0.0002 |
| 输出 | 400 | $10 | $0.0040 |
| 单次合计 | $0.0062 |
每天 $62,每月(30 天)约 $1,860。注意输出只占 token 总量的 12%,却占了 65% 的费用。
把同样的参数填进 LLM API 费用计算器,就能一次看到所有模型的对比。
五个省钱手段
1. 用好提示缓存
上面的例子如果不用缓存,每次 $0.010,每月 $3,000。只是让固定前缀命中缓存,就省了 38%。
要点:把不变的内容(系统提示、工具定义、参考文档)放在最前面,变化的内容(用户输入)放在最后。缓存按前缀匹配,前面任何一个字变了都会失效。另外,写入缓存通常有额外费用,只有被反复读取的前缀才划算。
2. 按任务选模型
同样的例子换成小模型:
| 模型 | 每月(有缓存) |
|---|---|
| Claude Opus 5.5 | $3,720 |
| Claude Sonnet 5.5 / GPT-6.1 Sol | $1,860 |
| Gemini 3.8 Flash | $720 |
| DeepSeek V4.1 Flash(高峰价) | $238 |
| Claude Haiku 5.5 / GPT-6 Luna | $96 |
最贵和最便宜相差近 40 倍。常见做法是分级路由:分类、提取、改写这类简单任务交给小模型,只有复杂推理才用大模型。先用小模型跑通评测,效果不够再升级,而不是反过来。
3. 控制输出长度
既然输出最贵,就从输出下手:
- 设置合理的
max_tokens,防止偶发的长篇输出; - 在提示里明确格式和长度,例如“用不超过三句话回答”;
- 需要结构化数据时用 JSON Schema 约束输出,避免模型附带解释性文字;
- 推理模型按任务难度调低思考预算。
4. 精简输入
- RAG 只放最相关的几个片段,而不是一股脑塞进整篇文档。片段大小可以用 RAG 文本切分 调试;
- 长对话定期把历史压缩成摘要;
- 注意分词差异:同样的意思用不同语言表达,或者换一家模型的分词器,token 数都可能明显不同。用 Token 计数器 实测你的提示词,别凭字数估算。
5. 用 Batch 和闲时价格
不需要实时返回的任务(批量打标签、离线生成、评测)可以走 Batch 接口,主流厂商一般便宜约 50%。DeepSeek 在非高峰时段也是五折。
注意长上下文阶梯价
部分模型在单次提示超过某个阈值后,整次请求都按更高单价计费。例如 Claude Haiku 5.5 超过 10 万输入 token、Gemini 3.1 Pro 超过 20 万输入 token 时,单价都会上调。把长文档拆成多次请求,有时反而更便宜。
上线后:用真实数据核对
估算只是起点。每次 API 响应都会返回实际用量,例如 Anthropic 的 usage.input_tokens、output_tokens、cache_read_input_tokens,OpenAI Responses API 的 usage.input_tokens、output_tokens 和 input_tokens_details.cached_tokens。把这些字段按功能记录下来,就能知道钱花在哪里、缓存命中率是多少。
总结
- 成本 = 未缓存输入 + 缓存输入 + 输出,其中输出最贵;
- 固定内容放前面,让缓存生效;
- 先用小模型,按需升级;
- 限制输出长度,精简输入;
- 能离线的任务走 Batch。
把你自己的参数填进 LLM API 费用计算器,几秒钟就能看到各家模型的月度账单对比。