DAILY LESSON / 2026-09-11

什么是KV Cache?什么又是Prompt Caching?

KV Cache 解决单次生成内的重复计算,Prompt Caching 则把相同前缀的缓存复用扩展到不同请求之间。

AI基础知识AI模型提示词AI编程AI

作者:C 哥·C哥介绍 →

一、KV Cache 是什么?

今天的日课咱们搞点技术流的。先简单理解下几个名词概念。Attention 可以理解为大模型(LLM)输出回答时需要计算的一个公式,每输出一个Token都要计算一遍。Q 可以理解为模型为了输出最新 Token 所提出的问题,需要计算前面的K和V才可以解答,从而能够输出新的Token。K 是前面每个 Token 的索引,V 是索引背后的具体内容。

当我们输入一段提示词,LLM 在实际输出回答的时候,会先计算提示词的Attention,然后吐出第一个Token,接着把第一个Token拼到回答序列的末尾,再对整个新序列重新计算一遍 Attention,得到下一个 Token。

假设要生成 10 个Token,实现的过程是:第 1 步输入 P(Prompt),算 Attention,输出 Token 1;第 2 步输入 P+Token 1,算 Attention,输出 Token 2;第 3 步再输入P+Token 1+Token 2,然后继续计算。

注意,第 2 步中,Prompt 部分对应的 K、V,和第 1 步计算出的结果完全一样,因为P输入和模型参数都没变。每一步重算前缀,是纯粹的浪费。

这时候就需要KV Cache 了。核心一句话:把前面所有 Token 的 K 和 V 缓存起来,每次新 Token 只算自己的,然后跟前面的缓存拼起来计算 Attention,减少重复浪费。

二、Prompt Caching 又是什么?

到这里,KV Cache 解决的是「单次生成内」的重复计算问题。但还有一个浪费:不同请求之间的重复计算。

假设你问 AI「明天北京天气怎么样」,后台其实发生了两次模型调用。