Prompt caching 省钱实战:把重复上下文的 API 成本降下来
如果每次请求都重复发送一份产品手册、系统规则或工具定义,你可能一直在为相同的输入 token 付费。Prompt caching(提示词缓存)让模型复用符合条件的重复前缀,减少后续请求的输入成本。它不会自动缩短回答,也不意味着所有模型、接口都使用相同的缓存规则;省钱的关键是让稳定内容命中,并核对实际计费。
先算一笔账:缓存何时值得用
下面用一组仅用于演示的假设价格:普通输入每百万 token 3 美元,缓存写入每百万 token 3.75 美元,缓存读取每百万 token 0.30 美元。假设固定前缀有 1 万 token,在缓存有效期内连续发送 100 次,暂不计算每次不同的用户内容和输出费用。
- 不缓存:1 万 × 100 × 3 美元/百万,约 3 美元。
- 使用缓存:首次写入约 0.0375 美元;之后 99 次读取约 0.297 美元,合计约 0.3345 美元。
- 在这些假设下,固定前缀部分约省 88.9%。实际比例取决于模型价格、缓存有效期、命中次数和缓存规则。
这个对比只计算重复前缀,不包括每次请求仍需支付的动态输入和输出。上线前请用所选模型的最新价目表替换示例价格,并根据账单确认缓存写入与读取的计价方式。
四步整理 Prompt,让缓存更容易命中
- 把固定内容放前面。将系统指令、稳定的工具定义、长期不变的产品资料放在提示词前部;把用户问题、时间戳、随机 ID 和实时数据放在后部。前缀顺序或内容变化都可能影响命中。
- 减少不必要的改动。不要每次请求都给固定规则加当前日期、请求编号或变动的示例。确实需要这些信息时,将它们放到动态部分。
- 按模型设置缓存。部分接口支持显式缓存标记,部分模型可能自动识别重复前缀;最小可缓存长度、缓存 TTL 和标记格式均可能不同。按当前模型文档配置,不要把某个供应商的参数直接套到另一种接口上。
- 用账单验证,而不只看响应。记录普通输入 token、缓存写入 token、缓存读取 token 和请求次数。上线后比较相同流量下的每次请求成本;如果命中率低,先检查前缀是否稳定、请求是否在有效期内,以及提示词是否达到模型要求。
避开三个常见的省钱误区
第一,低频任务未必划算:缓存写入可能比普通输入贵,若后续没有足够复用,写入溢价抵不过读取折扣。第二,缓存通常不会免除动态内容和输出费用,长回答仍然昂贵。第三,API 兼容不等于缓存行为完全相同;切换模型或中转服务后,应重新验证参数、命中情况和账单。
可以用一个简单决策流程:先估算固定前缀长度和缓存期内的复用次数,再按当前模型费率计算“首次写入+后续读取”与“每次普通输入”的总价。只有前者更低,才值得启用;若流量波动大,先对一小部分请求做对照测试。
选择成本可控的 API 接入方式
模型单价之外,调用渠道也会影响长期预算。59API 提供 Claude Opus、Sonnet、Haiku、Fable 和 GPT 模型的按量付费接入,使用原生官方品质模型,不以降级模型替代;兼容 Claude Code、Codex 及 OpenAI SDK,API Base URL 为 https://api.59api.com。它以低价中转和推荐返利为特点,适合希望控制调用成本、同时沿用现有开发工具的团队。
如果准备试用,可先用少量流量确认目标模型是否支持所需缓存功能,再检查实际价格和缓存明细;满意后再逐步迁移。你也可以注册 59API,以按量方式测试不同模型的成本与效果,避免在尚未验证缓存命中前承诺大额预算。