← 返回攻略列表

每次请求都在为重复的系统提示词全价买单?Prompt Caching(KV Cache)命中计费与省钱实战

Prompt Caching KV Cache命中计费与AI API成本优化

上个月帮一个做企业客服的团队做账单体检,翻出他们的API用量明细时,我注意到一个很扎心的现象:这家平均每天要处理近4万次对话的客服系统,每个月在"输入token"上花的钱,有一大半掉进了一个看似看不见的口袋——他们的系统提示词和客服话术库,加在一起有将近2万个token,但每一轮新的对话,模型都在为这2万个token重新付费。

这不是个案。在我调过账的项目里,绝大多数团队根本没意识到一个事实:只要是稳定放在提示词前段的指令和知识,本来是可以被模型服务端缓存的,命中之后价格可以低到正常输入价的十分之一甚至更低。但你只是把系统提示词放进代码里,什么都不做,缓存机制并不会自动替你把省钱这件事想明白。

这篇文章我不准备讲抽象概念。我用三家厂商真实的官方价目,把Prompt Caching(也叫KV Cache、上下文缓存、Context Caching)的命中计费规则一条条拆开,再把提高命中率、以及最容易被坑的地方讲清楚。全程可以对照着你的项目去改。

一、先搞懂KV Cache到底在帮你省什么钱

很多开发者第一次听到"缓存"这两个字,会本能地联想到"结果缓存"——就是Redis里把一模一样的问答存起来,下次命中直接返回。如果你用的是这种思路来理解Prompt Caching,那方向就偏了。

结果缓存命中要求整段请求一字不差;而KV Cache缓存的是模型在计算你的提示词时产生的中间状态(Key-Value对)。它的命中条件是前缀一致——只要提示词开头的这段内容跟上次相同,即使后面的用户问题完全不一样,这段前缀也能直接吃缓存。这意味着它天然适配"同一套系统提示词 + 海量不同用户问题"这种典型场景,命中面比结果缓存宽得多。

💡 一句话理解

KV Cache省的是"重复计算"的账:模型不用再重新解析一遍你的系统提示词,而是直接复用上次算好的中间态。你付出的,是一个被大幅打折的缓存读取价。

这也是为什么它和普通结果缓存不冲突,反而是叠着用更划算——关于如何在应用层再做一层结果缓存把成本进一步压下来,我在之前那篇AI API缓存优化实战:三层架构让成本降75%里写过完整方案,这里不重复。

二、三家厂商的缓存计费规则,逐字拆给你看

各家对缓存的处理细节差别很大,但底层逻辑一致:读取缓存打得狠折,写入缓存另有收费,前缀匹配是唯一命中的门票。我把三家官方价目整理成一张表,方便你直接对照。

厂商 / 代表模型 常规输入价(未命中) 缓存读取(命中) 缓存写入 最短可缓存前缀
OpenAI GPT-5.x(如5.2) $1.50 / MToken $0.15 / MToken(约0.1倍) 1.25倍未命中价 1024 token
Anthropic Claude Sonnet 4.5 $3 / MToken $0.30 / MToken(0.1倍,打9折) 5分钟档 $3.75、1小时档 $6 按断点(breakpoint)
DeepSeek V4 Pro(高峰时段) 9.0元 / MToken 0.30元 / MToken(约1/30) 不单独收费 自动开启

几个关键点你留意一下:

  1. OpenAI:官方文档写得很明确,缓存读取按未命中输入价的0.1倍计费,写入缓存按1.25倍收费,且只有达到1024 token的提示词前缀才有资格进缓存,缓存默认保留30分钟,每次命中会刷新这个时间。来源见OpenAI官方Prompt Caching文档
  2. Anthropic:缓存命中同样是0.1倍(比如Sonnet 4.5命中只要$0.3/M,而常规输入是$3/M),但写入费分档——5分钟档和1小时档价格不同,越短的TTL越便宜。见Claude官方Prompt Caching文档
  3. DeepSeek:直接把缓存影响的力度拉到了极致。官方价目里,V4 Pro高峰时段缓存命中是0.30元/M,而未命中要9.0元/M,差出整整30倍。DeepSeek还推出了磁盘上下文缓存,官方报告对128K的提示词,首token延迟能从13秒降到0.5秒,成本最多可省90%。见DeepSeek官方定价文档DeepSeek上下文缓存公告
⚠️ 一个普遍误区

"写入费"不是每次命中都收。它只在你首次把这段前缀写进缓存、或前缀内容发生更新时才产生一次。之后的读取都是按便宜的命中价计费。所以千万不要因为看到"1.25倍写入费"就放弃用缓存——只要你的请求是重复的,这笔写入费早被后续反复的命中折扣覆盖掉了。

三、算一笔账:一个客服应用一年能省多少钱

光讲价格不落地没意义。我拿上文那个企业客服团队举例,他们的情况非常典型:系统提示词 + 客服话术库 + 一段固定的产品FAQ,稳定前缀约20K token,日调用约4万次,绝大多数是带缓存的后续轮次。

按Claude Sonnet 4.5的官方价目(输入$3/M)来算最直观:

换句话说,仅仅是把静态内容稳定地放在提示词前面这一条改动,就足以让这个客服系统的输入成本下降约九成。网上不少公开的实测案例也印证了这一点——比如开发者社区里有人算过一个10K token系统提示词的例子,不带缓存每次约$0.03,带缓存后从第几次起每次只要约$0.003,和上面的口径完全对得上。

💡 给你的自测题

下次打开用量看板时,先看两个字段:cached_tokens(命中的token数)和cache_write_tokens(写入的token数)。如果命中的token几乎为0,说明你的提示词结构还没被缓存"照顾"到,往下看第四节。

如果你的模型是DeepSeek V4,这笔账会更夸张:高峰时段命中价只有未命中的1/30。想知道切换到这类有极端缓存价差的模型到底划不划算、怎么低成本迁移,可以参考我之前写的那篇2026年7月AI API价格战:多模型路由省钱实战指南

四、提高缓存命中率的5条硬核原则

缓存机制默认是开的,但"开了"不等于"命中率高"。绝大多数开发者踩的坑,都是提示词结构没设计好。你要做的是让前缀保持稳定、可复用。

1
静态内容放最前,动态内容放最后

系统指令、few-shot示例、工具定义、固定知识库,全部放到提示词前部;时间戳、订单号、用户名这类会变的内容放到尾部。这是命中缓存的第一前提——前缀不一致,后面谈什么都是白搭。

2
别在提示词中间插可变文本

一条铁律:一旦你的前缀中间某处插入了会变化的字段,从那个位置往后的整段前缀都会失效。把"快速变化的会话级信息"和"稳定的全局指令"分开组装,而不是揉在一起。

3
善用缓存断点(breakpoint)

OpenAI在GPT-5.6及以后支持显式断点,Anthropic也是通过断点标记可复用的前缀。在稳定的开发者指令后面打一个显式断点,并配合稳定的prompt_cache_key把相同前缀的请求路由到一起,能显著提升缓存命中率。官方明确说,相同的prompt_cache_key建议控制在每分钟约15个请求量级,再高就要分流。

4
记住最短门槛

OpenAI要求前缀至少1024 token才有资格缓存。少于这个长度,缓存根本不生效,你的"优化"也只是心理安慰。长上下文场景下这个问题更明显,可以参考我之前写的AI API长上下文优化实战

5
用监控数据验证,而不是靠感觉

引入一个能区分cached_tokenscache_write_tokens的指标看板。如果命中始终为0、写入居高不下,多半是某个可变字段混进了前缀。这套可观测性体系的搭建我在AI API监控与告警系统搭建里详细展开过。

五、三个最容易翻车的缓存陷阱

⚠️ 陷阱1:把高熵的会话里改写塞进前缀

有的团队为了"上下文完整",把用户上一条输入、甚至目标行为描述也放进了要缓存的前缀里。结果每一条请求前缀都不一样,缓存几乎零命中。稳定归稳定,DNS归DNS,两者要分开。

六、把缓存命中率放大到全局:别忘了算总账

到这里你可能会想:"我把系统提示词缓存命中搞定,是不是就可以收工了?"答案是:这通常是性价比最高的一块,但单看任何一家厂商的缓存价,都可能让你误判整体成本。因为真实账单里,输出token往往是比输入更重的支出一项(DeepSeek V4 Pro高峰输出价27元/M,是命中输入价的90倍;OpenAI GPT-5.2的输出价$10/M,是命中价的60多倍)。

所以更完整的姿势是:提示词缓存保底 + 多模型路由机动 + 应用层结果缓存兜底。Prompt Caching解决的是"重复前缀"这一块;至于怎么在多家模型之间挑选性价比最优的那个、兼顾输出价格差异,我在多模型路由省钱实战2026年AI大模型API价格终极对比里给了完整的参照数据;对输出也占大头、又想控预算的整体方案,可以看我是如何把月账单从2000降到300的

核心结论速记

  • Prompt Caching命中的是"前缀",命中价通常只有正常输入价的0.1倍(DeepSeek更是低到1/30)。
  • 前提是把静态指令放最前、动态内容放最后,并让前缀达到厂商最短门槛(OpenAI为1024 token)。
  • 写入费只在写缓存时收一次,别因噎废食;真正要警惕的是"高写入、低命中"。
  • 缓存优化是零代码成本里见效最快的一块,优先级高于换模型、砍功能。

七、常见问题(FAQ)

Prompt Caching和普通结果缓存有什么区别?

普通结果缓存(如Redis)要求完整请求一字不差才能复用上次结果;KV Cache缓存的是模型对提示词前缀的中间计算态,只要前缀一致就能命中,即使后面的用户问题不同也能复用,命中面更宽、更贴近模型层。

系统提示词缓存能省多少钱?

按各家官方价目,命中输入token通常为正常输入价的0.1倍(DeepSeek约为1/30)。以一个20K token稳定前缀、日均4万次调用的客服应用为例,仅输入成本一项就能降约九成。

为什么我的请求总是缓存未命中(cache miss)?

多为三因:把时间戳、订单号等动态内容放在了前缀前部导致前缀每次都不同;提示词长度没到厂商最短缓存门槛;或在一次请求中多个可变断点破坏了前缀一致性。调整前缀顺序即可显著改善。

本文价格与机制均引用各家官方定价文档(OpenAI / Anthropic / DeepSeek),并结合TokenNexus实测验证;文中算账为基于官方价目的示意推演,实际金额以你的用量看板为准。最后更新:2026年8月28日。

省钱攻略 Prompt Caching KV Cache 系统提示词缓存 AI成本优化 上下文缓存 缓存命中率 API定价
林小雪
技术内容主编 · AI API生态观察者
前某头部AI大厂技术运营,现专注于AI API市场分析与开发者工具研究。擅长把复杂的技术定价策略翻译成企业可落地的成本优化动作。累计发表AI API深度分析文章50+篇,为200+家企业做过API成本体检。

推荐阅读

参考资料

  1. OpenAI官方Prompt Caching文档:https://developers.openai.com/api/docs/guides/prompt-caching
  2. OpenAI官方定价页:https://openai.com/api/pricing/
  3. Anthropic Claude官方Prompt Caching文档:https://platform.claude.com/docs/en/build-with-claude/prompt-caching
  4. Anthropic Claude官方定价页:https://platform.claude.com/docs/en/about-claude/pricing
  5. DeepSeek官方定价文档(模型与价格):https://api-docs.deepseek.com/zh-cn/quick_start/pricing/
  6. DeepSeek上下文缓存公告:https://api-docs.deepseek.com/news/news0802
  7. TokenNexus平台实时价格对比:https://www.tokenfind.cn/