大模型的价格,主要是 Token 的输入价格和输出价格,这个很容易理解。
但是,还有一项"输入 Token 的缓存命中价格",这是什么东西?

上图是 DeepSeek V4 Flash 模型的定价,可以看到缓存命中的输入价格只有2分钱,足足是未命中的输入价格的五十分之一!
为什么相差这些大?我们能不能充分利用缓存,来降低费用呢?
我对于这些问题,以前也不是很了解,最近看了一篇文章,终于理清了思路,今天就来分享。
(1)模型输入的收费原因
大家知道,使用大模型的时候,需要先有提示词。
大模型会将提示词分解成 Token,再将 Token 转成向量值,然后计算所有 Token 之间的注意力关系。
这一步非常消耗算力,因此模型公司会对输入 Token 收费。你的提示词越多,输入 Token 的费用就越高。
(2)输入缓存的作用
对于多轮对话和长程任务,每一轮都需要把以前步骤的输入输出结果,提交给模型。
我们可以想到,这些每一轮额外增加的提示词是不变的,以前都已经处理过了。模型完全不必要对这些"前缀"每次进行重复计算,只要把以前的计算结果缓存起来,下一次再取出来用就行了。
这就是为什么需要缓存,它可以大大节省不必要的算力消耗,加快模型处理。
这也是它便宜的原因,因为只要命中缓存,基本不消耗算力,收取的费用实际上是储存空间的费用。
(3)缓存的时间期限
缓存有时间期限,长期保存并无意义。如果一段时间没有用到这些缓存,服务器就会把缓存删除。
根据前面引用文章的测试,各家公司的缓存保存时间不一样。
Anthropic:5分钟
DeepSeek:10分钟
OpenAI:10分钟~30分钟逐步失效
Google:1小时内逐步失效
以 DeepSeek 为例,在10分钟以内,缓存就是有效的,命中缓存只收取2分钱。如果对话的间隔特别久,下一次输入跟上一次之间超过了10分钟,缓存就被删除了,模型收到上一轮的提示词,就不得不重新计算,收取的费用就变成了1元。
(4)保持缓存有效
由于缓存命中与未命中之间,有巨大的价差。用户的 AI Agent 工具往往会想办法,尽可能延长缓存的保存时间。
当用户长时间不操作、也不退出的时候,大多数 AI Agent 会每隔30秒,自动向服务器发送一个请求,让缓存保存激活状态。
有些模型有专门的缓存激活接口,还有一些没有。这时可以用笨办法,Agent 自动重复发送一次以前的提示词,确保缓存激活。
不过,激活请求也会产生费用。每隔30秒发送一次,如果10分钟没有输入,就会发送20个激活请求。时间一长,费用也不低。
前面说过了,现在各家模型的实际缓存期限,最短也有5分钟,因此30秒一次的激活请求,似乎频率太高了。所以,最新的建议是,可以改成每4分钟自动激活一次缓存。