算盘
省钱实战2026-06-10 发布 · 约 10 分钟读完

上下文缓存(Prompt Caching)实战:哪些场景真能省 90%

聊 LLM API 成本,多数人盯着输出价砍,但生产环境里输入 token 往往才是大头——而且高度重复。客服机器人每次请求都带同一份 system prompt,Agent 每轮都重发同一套工具定义,多轮对话每次都把完整历史再传一遍。这些 token,你按全价付了一遍又一遍。

上下文缓存(Prompt Caching)就是冲着这部分钱来的:厂商把你最近请求的前缀对应的 KV Cache(模型推理时算出的中间结果)暂存在集群里,下一次请求只要前缀逐字相同,这部分就不重算,按便宜得多的「缓存命中价」计费。折扣可以非常狠:DeepSeek V4 Flash 的命中价是 ¥0.02/百万 token,只有输入价 ¥1 的 2%。

这篇把账算清楚:各家折扣到底几折、什么 workload 吃得到、工程上怎么保证命中,最后用一个客服机器人的算例,把 GPT-5.5 和 DeepSeek V4 Flash 的月成本各算一遍。

先算账:命中价是输入价的几折

先统一口径:下文价格均为每百万 token 的人民币价,海外模型按 1 USD = 6.7853 折算;折扣比例 = 缓存命中价 ÷ 输入价。

海外三家出奇地整齐,基本卡在 10% 一档:GPT-5.5 命中价 ¥3.39 是输入价 ¥33.93 的 10%(按美元就是 $5 输入、$0.5 命中),Claude Opus 4.8 同样是 3.39/33.93 = 10%,Claude Sonnet 4.6(2.04/20.36)、Gemini 3.5 Flash(1.02/10.18)也都在这条线上。xAI 保守一点,Grok 4.3 是 1.36/8.48 ≈ 16%。

国产阵营分化很大。DeepSeek 最激进:V4 Flash 是 0.02/1 = 2%,V4 Pro 干到 0.03/3 = 1%。智谱 GLM-5 是 1/4 = 25%,GLM-4.7 是 0.4/2 = 20%;Kimi K2.6 是 1.1/6.5 ≈ 17%;MiniMax M3 是 0.84/4.2 = 20%。同样叫「缓存折扣」,省 75% 和省 98% 是两个量级的事。

模型输入价(¥/百万 token)缓存命中价命中价 ÷ 输入价
DeepSeek V4 Pro¥3.00¥0.031%
DeepSeek V4 Flash¥1.00¥0.022%
GPT-5.5¥33.93¥3.3910%
Claude Opus 4.8¥33.93¥3.3910%
Claude Sonnet 4.6¥20.36¥2.0410%
Gemini 3.5 Flash¥10.18¥1.0210%
Grok 4.3¥8.48¥1.36约 16%
Kimi K2.6¥6.50¥1.10约 17%
MiniMax M3¥4.20¥0.8420%
GLM-4.7¥2.00¥0.4020%
GLM-5¥4.00¥1.0025%

什么样的 workload 真能吃到缓存

判断标准就一条:你的请求开头,是否有一大段在多次请求之间逐字不变的内容。变的部分不亏,不变的部分才是折扣的来源。

反过来,有些场景天然吃不到:一次性的批量数据清洗(每条记录的前缀都不同)、在 prompt 开头插时间戳或 trace ID 的服务(每次第一行就不一样,整段作废)、调用频率极低的内部工具(缓存早过期了,次次重建)。能吃到缓存的典型场景是下面四类:

  • 固定 system prompt:客服、代码助手这类服务,几千 token 的角色设定、业务规则、工具定义每次原样发送,是最标准的缓存受益者。
  • few-shot 示例块:分类、抽取任务里固定的十几个示例,往往比指令本身还长,逐字不变就能命中。
  • 多轮对话历史:第 N 轮请求的前缀恰好是第 N-1 轮的完整内容,只要历史只追加不改动,每一轮都在吃上一轮的缓存。
  • RAG 固定知识前缀:如果检索范围是一份固定文档(产品手册、法规文本),把它放在 prompt 最前面、用户问题放最后,文档部分可以反复命中——比每次按相关性重排片段便宜得多。

工程要点:命中靠前缀完全一致

缓存的匹配逻辑是「从第一个 token 起的最长公共前缀」:前面每一个 token 都相同的部分按命中价计费,从第一处不同开始全部按全价。所以排布原则就一句话:稳定的放前面,可变的放后面。

上线之后别靠感觉,主流厂商一般会在 API 响应的 usage 字段里返回命中的缓存 token 数(字段名各家不同,以官方文档为准)。盯着这个指标调 prompt 结构,比猜有用得多。

  • 推荐顺序:system prompt → 工具定义 → few-shot 示例 → 对话历史 → 本次用户输入,稳定程度从高到低排。
  • 动态内容(当前时间、用户昵称、会话 ID)不要放在 system prompt 开头,挪到末尾或单独的 user 消息里,否则一个时间戳毁掉整段命中。
  • 工具定义的 JSON 序列化要稳定:字段顺序、空格、缩进有一处抖动,token 序列就变了。
  • 多轮历史只追加、不重排、不就地编辑。上下文窗口快满时从头部截断会让缓存整体失效——宁可做一次摘要压缩,接受一次未命中,换来之后每轮的稳定前缀。

三个必须核对官方文档的细节

写入可能加价。不少厂商的缓存「写入」按高于普通输入的价格计费,命中才享受折扣价;也有厂商自动缓存、不单收写入费。这意味着一个前缀如果只被用一两次,开缓存可能反而多花钱。具体倍率各家不同、还会调整,别背网上的二手数字,以官方文档为准。

缓存有时效。前缀闲置一段时间后会被清掉,具体时长各家不同。低 QPS 的服务隔很久来一个请求,很可能每次都在重建缓存,账单上完全体现不出折扣。把「调用频率 × 缓存时效」放进评估,比只看折扣比例实在。另外多数厂商对可缓存前缀有最小长度要求,太短的 prompt 未必触发,具体门槛以官方文档为准。

不是所有模型都有公开缓存价。以本站价格表为准,通义全系、豆包 1.6、文心 ERNIE 5.1、讯飞星火、腾讯混元、百川等目前都没有收录缓存命中价。如果你打算把缓存当核心省钱手段,选型时先确认这一列不是空的。

算例:客服机器人一个月差多少钱

设定:客服机器人的 system prompt 共 8000 token(产品知识 + 回复规则 + 工具定义),每天 1 万次调用,跑 30 天。只算 system prompt 这部分前缀——用户提问和模型输出两种方案都一样要付,不影响对比。月前缀 token = 8000 × 10,000 × 30 = 24 亿,即 2,400 百万 token。

GPT-5.5:全价输入 33.93 × 2400 = ¥81,432/月;理想状态全部命中,3.39 × 2400 = ¥8,136/月,差 ¥73,296。落到单次调用,这 8000 token 的成本从 33.93 × 8000/1,000,000 ≈ ¥0.27 降到 3.39 × 8000/1,000,000 ≈ ¥0.027。

DeepSeek V4 Flash:全价 1 × 2400 = ¥2,400/月;全部命中 0.02 × 2400 = ¥48/月。现实中没有 100% 命中——首次请求要建缓存、过期要重建。按 90% 命中粗估(未计可能的写入加价):GPT-5.5 = 33.93 × 240 + 3.39 × 2160 = 8,143.2 + 7,322.4 ≈ ¥15,466;DeepSeek = 1 × 240 + 0.02 × 2160 = 240 + 43.2 ≈ ¥283。

两个观察:第一,缓存把 GPT-5.5 这部分账单砍掉了一个量级,确实是「省 90%」级别的杠杆;第二,砍完之后(¥8,136)仍是 DeepSeek 全价跑法(¥2,400)的三倍多——缓存改变不了模型之间的价格量级差距。81,432 ÷ 2,400 ≈ 34,GPT-5.5 不开缓存烧一个月的钱,够 DeepSeek V4 Flash 全价跑近三年。

计费方式GPT-5.5(月)DeepSeek V4 Flash(月)
全价输入(无缓存)¥81,432¥2,400
理想 100% 命中¥8,136¥48
按 90% 命中粗估约 ¥15,466约 ¥283

把命中率算进选型公式

对缓存友好型 workload,比价时该看的不是输入价,而是有效输入价 = 输入价 × 未命中率 + 命中价 × 命中率。只看输入价那一列,排序可能是错的。

举个会反转的例子:GLM-4.7 输入价 ¥2,DeepSeek V4 Pro 输入价 ¥3,表面上 GLM 便宜三分之一。但放到 90% 命中率下:GLM-4.7 = 2 × 0.1 + 0.4 × 0.9 = ¥0.56,DeepSeek V4 Pro = 3 × 0.1 + 0.03 × 0.9 = ¥0.327——排序直接反过来。命中率越高,缓存折扣比例的权重越大,输入价反而越不重要。

本站每个模型的详情页都单列了缓存命中价一栏,套上面的公式配合 /bill 的用量估算,几分钟就能算出自己 workload 下的真实排序;横向找便宜模型可以从 /compare/cheapest-llm 入手。

常见问题

缓存命中价一般是输入价的几折?

各家差异很大:OpenAI、Anthropic、Google 主流模型约为输入价的 10%(如 GPT-5.5 命中价 ¥3.39 对输入价 ¥33.93);DeepSeek 最激进,V4 Flash 为 2%(¥0.02 对 ¥1)、V4 Pro 为 1%;智谱 GLM-5 为 25%(¥1 对 ¥4),Kimi、MiniMax、豆包 1.5 Pro 多在 16%–20% 区间。

怎样才能让请求命中缓存?

命中按「从第一个 token 起的最长公共前缀」计算,前缀必须逐字一致。把 system prompt、工具定义、few-shot 示例等稳定内容放最前面,用户输入等可变内容放最后,避免在开头嵌时间戳、随机 ID 等动态字段。

缓存写入要额外收费吗?

部分厂商缓存写入按高于普通输入的价格计费,命中时才享受折扣;也有厂商自动缓存、不单收写入费。各家政策和倍率不同且会调整,使用前以官方文档为准。前缀只用一两次的场景,开缓存可能反而多花钱。

多轮对话能吃到缓存折扣吗?

可以,而且是典型受益场景:第 N 轮请求的前缀正好是上一轮的完整内容,只要历史只追加、不重排、不就地修改,每一轮都在命中上一轮的缓存。注意上下文满了从头部截断会让缓存整体失效,建议改用摘要压缩。

所有模型都有缓存价吗?

不是。以本站价格表为准,通义全系、豆包 1.6、文心 ERNIE 5.1、讯飞星火、腾讯混元、百川等暂未收录缓存命中价。如果缓存折扣是你省钱方案的核心,选型时要先确认目标模型有公开的缓存计费。

文中价格与价格表同源、每日核对。选型前去看一眼最新价。

打开价格表 →