ToolNavs 发现实用AI工具
提交工具 登录
返回AI百科
提示缓存是什么?重复的前缀不用重算,省的是钱和等待

提示缓存是什么?重复的前缀不用重算,省的是钱和等待

AI百科 • Admin • • 14 次浏览

提示缓存(Prompt Caching)是给大模型接口的一项省钱机制:同一次对话或同一类请求里反复出现的那段开头内容,服务端算过一次之后先存起来,下次只要开头一字不差地对上,就直接复用上次的计算结果,不再从头算一遍。它省下的既是输入 token 的钱,也是等第一个字出来的时间。

它缓存的不是答案,而是算到一半的状态

模型回答之前,要先把你发过去的全部文字逐层处理一遍,这一步叫预填充。文字越长,这一步越贵、越慢。提示缓存存下来的正是预填充算到一半的中间状态(业内常说的 KV 状态):命中之后,模型跳过这段重复劳动,只处理你这次新加的内容,然后照常一个字一个字生成回答。所以它和“把答案背下来”完全不同——同一段被缓存的资料,配上不同的问题,依然会生成不同的回答。

命中要同时满足三个条件

第一,前缀逐字一致,而且从最开头算起。系统提示词、工具定义、固定文档这类排在最前面的内容最容易命中;每次请求都变的动态内容只要出现在前面,就会把后面的命中全部挡住。第二,长度要够。各家普遍设了门槛,大致在一千个 token 上下,短短几句话的提示词根本触发不了。第三,要在有效期内用上。缓存通常只活几分钟,每次命中会顺延;不同平台细节不同,有的要开发者显式标记缓存断点,写入时略微加价、读取时大幅便宜,有的则自动匹配前缀,开发者什么都不用改。

它和另外两种“缓存”不是一回事

一种是语义缓存:把问过的问题和答案整对存下来,新问题只要意思相近就直接返回旧答案。提示缓存不返回任何旧答案,省的只是重复计算,答案每次都是新生成的。另一种常被混淆的是上下文窗口:窗口说的是模型一次能看多少字,是容量;缓存说的是这些字要不要重算,是复用。窗口再大,也不等于重复内容不收费。

最容易踩的三个误解

误解一,开头改一个词没关系。前缀匹配是逐字比对,从第一个不同的地方开始,后面全部作废重算。把日期、用户名插在提示词最前面,是缓存命中率最低的常见写法。误解二,缓存了就等于不花钱。被命中的输入部分确实便宜很多,但你新写的内容和模型输出的每个字仍按原价计费,长回答省不下多少。误解三,对话越长越省。长对话里只要中途插入了工具结果、检索片段这类每次都变的内容,后半段很难再命中。实用的排法是把不变的放前面、易变的放后面。

提示缓存最适合三类场景:带长系统提示词和工具定义的智能体、拿同一份长文档反复提问的知识库、批量处理时共用同一套指令的任务。单次提问、提示词又短又多变的人,基本感受不到它。

推荐工具

更多