成本优化
Prompt Caching 成本:缓存何时真正省钱?
缓存读取单价低,并不代表整个任务一定省钱。关键是:在缓存失效前复用的输入,能否抵消写入或存储成本。先找出可重复使用的提示词前缀,再比较完整工作量。
每个输入 Token 只计算一次
把输入分成未缓存输入、缓存写入和缓存读取。它们是不同计费类别,不能把同一份输入在三类中重复计算。输出有自己的单价,即使几乎所有输入都命中缓存,输出费用通常仍然存在。
总费用等于各类 Token 数乘以对应单价,再加存储等额外费用。「80% 的请求命中」不等于「80% 的输入按缓存读取价计费」:一次请求可能只复用了很短的前缀,随后又发送了一份很长的新文档。
一个可以复算的前缀复用例子
假设十次请求共用完全相同的 100,000 Token 前缀。第一次写入缓存,后九次均在有效期内复用。此例只计算这段前缀,因此输出和新追加输入都为零。单价使用站内价格表中的 Claude Sonnet 5.5。
在计算器中填写:输入 100,000、输出 0、请求 10 次、缓存读取 90%、缓存写入 10%。分别选择五分钟和一小时写入档位。这里的比例描述这十次请求的整体输入分布,不代表每次都重新创建完整缓存。
| 工作量 | 前缀费用(USD) |
|---|---|
| 不使用缓存 | US$2.00 |
| 1 次五分钟写入 + 9 次读取 | US$0.34 |
| 1 次一小时写入 + 9 次读取 | US$0.49 |
算出需要复用多少次才能回本
设普通输入单价为 P,写入价为 W,读取价为 R,同一前缀共发送 N 次。不缓存时费用为 N × P;只写入一次、其余读取时为 W + (N − 1) × R。两边再乘以前缀的百万 Token 数。
当 N × (P − R) > W − R 时缓存才省钱。若 P 大于 R,将右侧除以 P − R 就能得到使用次数的门槛;等于门槛只代表打平。这个计算只适用于一个缓存有效期,后续冷启动会开始新的写入与复用周期。
实际预算应按稳定前缀和有效期分组。某个前缀每天只发送一次,即使月度 Token 总量很大,也不能假设成数千次连续缓存命中。
按供应商的实际计费类别比较
Claude 区分不同缓存写入时长及读取价格;DeepSeek 区分缓存命中与未命中输入,还区分高峰和低谷;Gemini 显式缓存需要考虑存储时间,Argon 则仅支持隐式缓存。这些结构不能套用同一个假设。
跨模型计算器包含 Token 读取及已列出的写入价格,不包含存储,也不会为未公布的写入价填入零。Gemini 显式缓存的存储费用需要额外计算:缓存百万 Token 数 × 存储小时数 × 存储单价。
先测一组真实任务,再扩大使用
记录一组请求的各类 Token 数、模型标识、执行时间和缓存读写情况。让冷启动与缓存已预热的请求完成相同任务,再测试暂停一段时间或修改前缀之后的变化。
缓存收益属于具体工作负载的特征。输出很短时,高命中率可能明显降低总费用;大量输出的任务则可能变化不大。制定月度预算前,应先把估算与供应商已报告费用核对。
- 测量 Token 占比,而不是请求占比。
- 计入缓存重建和选定有效期。
- 在 Token 估算之外补上存储与工具费用。
- 保留无缓存的基线,验证实际节省。
常见问题
- 缓存有效期越长越便宜吗?
- 不一定。只有新增复用收益超过额外写入或存储成本时才划算。应在相同请求时间安排下比较不同有效期。
- Quota Monitor 能查看每次提示词的缓存命中吗?
- Quota Monitor 跟踪已支持供应商报告的余额、费用与限额。此计算器用于预算规划,不采集请求链路或逐条提示词缓存事件。