## Prompt 缓存价:什么时候真的省钱
Prompt Caching(提示缓存) 是 OpenAI API 针对长重复前缀提供的自动优化机制。当请求的开头部分(prefix,通常是 system prompt、工具定义、知识库或固定指令)与近期处理过的完全一致时,后续调用中这部分 Token 可按 cached input 价格计费,通常远低于标准 Input Token 价。[[1]](https://openai.com/index/api-prompt-caching/)[[2]](https://developers.openai.com/api/docs/guides/prompt-caching)
谁适用? 在 www.openaicn.cn 使用 API 中转或直接调用 GPT-4o、o1、Claude 等模型的开发者、Agent 构建者、RAG 应用和企业集成项目。怎么决策? 计算“缓存读写单价差异 + 请求频率 + prefix 长度”,短请求或每次 prompt 完全不同的场景往往不划算,长稳定系统提示重复调用时节省可达 50%-90%。本站 /official-api 字段中会返回 cached_tokens 和 cache_write_tokens,配合 GrokCode Token 速算 可快速测算真实成本。[[1]](https://openai.com/index/api-prompt-caching/)
直觉判断:缓存到底香不香
- 长系统提示重复调用 → 缓存更香。典型场景包括固定几十 KB 的 system prompt + tools、代码仓库上下文、RAG 知识库前缀、企业内部知识问答模板。这些内容每次都一样,prefix 轻松超过 1024 tokens,多次调用后 cached_tokens 占比越高,边际成本越低。
- 每次 prompt 都不同 → 收益有限。聊天机器人、一次性分析、用户输入主导的短对话,prefix 难以稳定匹配,缓存命中率低,甚至可能因写缓存而略微增加支出。
简单来说:缓存读(Cache Read / cached_tokens)单价远低于普通 Input,缓存写(Cache Write)在较新模型上可能按 1.25× 普通 Input 计费。只有当“读的次数足够多、prefix 足够长”时,总账单才会明显下降。[[2]](https://developers.openai.com/api/docs/guides/prompt-caching)
Prompt Caching 核心机制
OpenAI 的 Prompt Caching 主要分为两种模式:
- Automatic(隐式,默认):系统自动检测前缀匹配,无需额外参数。适用于 GPT-4o 系列及更早模型家族。最小缓存前缀通常为 1024 tokens,后续按 128 tokens 递增。
- Explicit(显式,GPT-5.6+ 推荐):通过
prompt_cache_options.mode: "explicit"和prompt_cache_breakpoint精确标记稳定前缀结束位置。可避免动态内容(如用户消息、时间戳)破坏整个 prefix 的缓存命中。
关键字段(见本站 /official-api 用量返回):
cached_tokens:成功从缓存读取的 tokens,按优惠价计费。cache_write_tokens:本次写入缓存的 tokens(GPT-5.6+ 可能额外收费)。prompt_tokens_details:包含上述明细。
缓存保留时间一般为 5-10 分钟(活跃时),最长可达 1 小时或 24 小时(视模型和组织策略),非跨组织共享。命中后不仅省钱,还能降低最多 80% 的首 Token 延迟。[[2]](https://developers.openai.com/api/docs/guides/prompt-caching)
各模型缓存定价对比(2026 年参考)
以下表格基于 OpenAI 官方及实际计费数据整理(价格单位:$/M Tokens,实际以 /official-prices 为准)。注意:GPT-5.6 及以后模型家族引入明确 Cache Write 费用。
| 模型家族 | 普通 Input | Cache Read (优惠) | Cache Write (写) | Output | 典型节省场景 |
|---|---|---|---|---|---|
| GPT-4o | 2.50 | 1.25 | 无额外(旧)/1.25×(新) | 10.00 | 长 system + 多轮对话 |
| GPT-4o mini | 0.15 | 0.075 | 无额外/1.25× | 0.60 | 高频 RAG 查询 |
| o1-preview | 15.00 | 7.50 | 无额外/1.25× | 60.00 | 复杂推理链路 |
| Claude 系列(中转) | 3.00~15.00 | ~0.30(约 90% off) | 1.25×~2× | 15~75 | 超长上下文 Agent |
数据来源:OpenAI 官方文档与本站 /api-transit 实际观测。Claude 通过本站中转同样支持类似缓存,读价可低至普通 Input 的 10%。[[1]](https://openai.com/index/api-prompt-caching/)
移动端提示:表格支持横向滚动查看。
什么时候真的省钱?盈亏平衡计算
假设一个 4000 tokens 的稳定 prefix(system + tools + 知识),每次请求再加 500 tokens 动态用户输入,输出 300 tokens。
- 不使用缓存:每次 Input ≈ 4500 tokens × 普通单价。
- 使用缓存(命中率高):
- 首次/写缓存:可能支付 1.25× 的 prefix 部分。
- 后续读:prefix 只付 Cache Read 价(例如 GPT-4o 为 1.25 而非 2.50,Claude 更低至 0.3 左右)。
使用 GrokCode Token 速算 输入实际数字即可看到:日调用 50 次以上、prefix > 2000 tokens 时,月节省通常可达 40%-75%。如果每天只调用 3-5 次短请求,缓存反而可能因写费用略微抬高总成本。
决策 checklist:
- Prefix 是否能放在 prompt 最开头且长期不变?
- 单日调用次数是否 ≥ 20?
- Prefix 是否 ≥ 1024 tokens?
- 是否能接受缓存偶尔失效(TTL 过期)?
满足多数条件 → 值得优化;否则优先关注 Output Token 优化或模型降级。
最佳实践:如何提升缓存命中率
1. Prompt 结构:静态内容(System、Few-shot examples、Tool definitions、RAG 知识)放最前面,动态用户消息放最后。
2. 使用 prompt_cache_key:对同一业务线设置固定 key(如 "tenant:project:v1"),帮助系统路由到相同缓存机器。
3. GPT-5.6+ 显式断点:在稳定 prefix 结束处插入 prompt_cache_breakpoint,避免用户消息变化导致全量 miss。
4. 保持流量稳定:每 key 每分钟请求不要过高(建议 <15),高并发时分区不同 key。
5. 监控与迭代:在 /billing-path 或日志中持续观察 cached_tokens / prompt_tokens 比例,低于 30% 时调整 prompt 结构。
本站 /guides 系列文章有更多中转调用示例代码。
风险与边界
Prompt Caching 依赖 OpenAI(及中转平台)的缓存策略,实际命中率受负载、模型版本、保留时间(TTL)影响,可能出现波动。缓存不保证 100% 命中,输出仍为非确定性(nondeterministic),相同 prefix 也可能产生不同结果。价格以官方及本站实时 /official-prices 为准,任何测算仅供参考。
非法律意见声明:本文所有内容仅为技术讨论与计费分析,不构成任何财务、税务或法律建议。实际账单请以 OpenAI 官方发票及本站后台记录为准。用户应对自身 API 使用负责。
缓存机制可能随模型迭代调整(如 GPT-5.6+ 引入明确写费用),建议定期查看官方文档与本站更新。
延伸阅读
- /official-api - 完整用量字段说明与 cached_tokens 解读
- /official-prices - 最新各模型 Token 单价表
- /api-transit - 中转调用中的缓存表现
- /billing-path - 账单路径与成本拆解
- /guides - 更多 API 优化指南
另可参考姊妹站工具:
---