成本优化

Prompt Caching 成本:缓存何时真正省钱?

缓存读取单价低,并不代表整个任务一定省钱。关键是:在缓存失效前复用的输入,能否抵消写入或存储成本。先找出可重复使用的提示词前缀,再比较完整工作量。

Quota Monitor 团队发布于

每个输入 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
Claude Sonnet 5.5 · 价格核对日期:

算出需要复用多少次才能回本

设普通输入单价为 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 跟踪已支持供应商报告的余额、费用与限额。此计算器用于预算规划,不采集请求链路或逐条提示词缓存事件。

参考来源