提示词缓存成本:算清读取、写入与实际节省

避免重复计算缓存输入,把适用的写入和存储费用算进去,用真实使用间隔判断任务成本是否降低。

发布 2026-09-13 · 更新 2026-09-29 · KeepRouter Editorial · 4 分钟阅读

缓存定价审计示意图:同一基准线上并排的绿色短柱与强调色高柱,右侧是账本网格
比较有缓存复用与没有复用时的完整请求费用。示意图,不代表实测节省。

提示词缓存可以降低重复上下文的费用,但命中率本身不能说明一次请求是否更便宜。应分别计算普通输入、缓存读取、可能单独收费的缓存写入或存储,以及输出,再比较完成同一任务的总成本。下面给出可复算的例子,以及用自己的用量记录就能完成的小实验。

提示词缓存与整段答案缓存解决不同问题

提示词缓存复用符合条件的输入处理,模型仍会生成新回答;答案缓存则直接返回以前保存的回答。客服助手可以重复使用同一本产品手册,同时回答新的问题,但把昨天的完整回答用于今天的订单状态,可能造成错误。两种缓存要分开统计,不能把“没有调用模型”与“调用时复用了输入”算成同一种命中。

OpenAI 提示词缓存文档说明前缀匹配与型号相关行为;Anthropic 缓存文档区分缓存创建与读取。设置、最短长度和过期条件并不统一。使用 OpenAI 兼容地址,也不代表网关线路支持原生 API 的全部缓存参数。

算一笔账:避免重复计算缓存输入

以下费率均为演示假设,不是 KeepRouter 或模型厂商报价。假设返回 10,000 个总输入 token,其中 8,000 个来自缓存,另有 500 个输出 token。普通输入为每百万 $2,缓存读取为每百万 $0.20,输出为每百万 $8;本例没有另计的写入费或存储费。

项目数量算式费用
普通输入2,000 token2,000 × $2 / 1,000,000$0.0040
缓存读取8,000 token8,000 × $0.20 / 1,000,000$0.0016
输出500 token500 × $8 / 1,000,000$0.0040
合计一次请求上述三项相加$0.0096

同样的 token 数量如果完全不读缓存,费用是 $0.0240;差额 $0.0144,占请求总费用的 60%。虽然缓存输入单价比普通输入低 90%,整次请求并没有降低 90%。这两个百分比都只是例子的算术结果,不能写成应用的实测节省。如果 API 已经单独返回“未缓存输入”,直接用该数值,不要再减一次缓存 token。

把第一次写入和没有被复用的缓存算进去

再假设一个可复用前缀,按普通输入计费需 $0.02,写入缓存需 $0.025,每次读取需 $0.002。这仍是一组演示价格。使用两次时,一次写入加一次读取为 $0.027,低于不缓存的 $0.04;只使用一次时,$0.025 反而高于 $0.02。这个例子只比较前缀,未计输出、每轮变化的输入和存储。

使用 N 次,应比较 写入费用 + (N - 1) × 读取费用 + 存储费用 与 N × 前缀普通输入费用。具体费用项以所选型号为准。有的 API 提供显式缓存,有的提供隐式缓存,也有同时提供两者的情况;Gemini 缓存文档说明了它自己的机制。不要把某个型号的写入或存储假设套用到另一个型号。

做一个小规模缓存实验

从实时模型目录选定一个型号和端点,记录当天显示的用户费率。准备不含敏感信息的参考文档和一个简短固定问题,设置较小输出上限。先确认文档符合该型号的缓存要求;仅为达到长度门槛而填充内容,可能使总费用更高。

发送第一条请求,重复一次,再只修改共享上下文之后的问题。记录端点实际返回的输入、缓存读取、缓存写入与输出数量,并记录耗时和 Usage 中的费用。缺少缓存字段意味着暂时无法确认,不能擅自填零。第二次相同请求也不保证命中,因为资格、过期、路由及前缀变化都可能影响结果。

最后,按照真实用户两次使用之间的间隔再测一次。连续快速重复的实验可能夸大正常流量下的复用程度。实验日志保留请求编号和数字用量即可,不要写入文档正文或 API Key。对共享账户,还应把其他并发请求排除在单次余额差额之外,优先使用对应请求的费用记录。

根据结果选择下一步

现象优先排查下一步
缓存读取始终为零资格、前缀变化、过期或不支持的配置检查具体型号的缓存说明
读取增加但总费用不降写入、长提示词、输出或重试占主导统计每个完成任务的全部费用
估算与记录金额不同单位、用量字段含义或漏掉费用项先复算一条独立请求
连续重复省钱,正常会话不省实际复用间隔过长缩短上下文或调整缓存方式

用 API 成本计算器做场景估算,用成本控制指南做任务预算。需要单独核算 Claude 的写入与读取,可继续看 Claude 缓存工作表。最终选择应依据完整请求费用与回答质量,而不是只看缓存命中标记。

常见问题

80% 的缓存命中率等于节省 80% 吗?

不等于。输出、普通输入、缓存写入、存储与重试仍可能计费。应按所选型号费率,比较每个完成任务的总成本。

缓存 token 应额外加在总输入之上吗?

只有 API 明确把它们定义为互不重叠的数量时才可以。如果总输入已包含缓存,计算普通输入时须先扣除缓存部分。

参考的一手资料

本文最近复核 2026-09-29

  1. [1] OpenAI prompt caching
  2. [2] Anthropic prompt caching
  3. [3] Gemini context caching
  4. [4] KeepRouter customer model prices

继续阅读

← 全部文章 · 模型与价格 · 获取 API Key