← 返回概念解读

Concept Fable精修版

KV 缓存

KV Cache, Key-Value Cache · LLM runtime / optimization

先读故事。这里不急着给定义,先让问题自己长出来。

寓言故事

长桌会议终于有人记住前面已经说过的话

山寺藏经楼原本靠一套熟办法运转。讲经僧开讲时总从卷首慢慢铺垫,按旧节奏答问时很少出岔子;听众也愿意跟着重温前文。

后来事情变大了。长卷讲到后半夜仍要接着解释,催促声从清晨排到傍晚。新人以为这是数量问题,只要多派人、多加钟点就行;老人却看见许多细节已经越过旧办法能承受的边界。

掌事人试了第一个办法:每问一句都从卷首重读。开头几天确实看见起色,队伍短了些,外人也觉得这门手艺终于跟上了新场面。

可麻烦很快换了样子。有人为了赶进度省掉检查,有人把不合适的活硬塞进旧流程,最熟练的人反而被琐事拖住。出错处不总在明面上,常等到交付之后才露出来。 旧账本还能说明来路,却说不清下一步该怎么改。

掌事人又加了规矩,要求每个人多签字、多回报、多补一层保护。纸面看起来周全,现场却更慢;师傅们忙着证明自己没错,真正的裂缝仍在原处扩大。旁观者只看到结果忽好忽坏,现场的人越来越难判断该先救速度、质量,还是责任。 每个人都觉得自己多做了一点,整件事却没有因此更稳。

一位沉默的老匠人把几次失败摊在桌上。他没有责怪谁,只让大家看同一个细节:新限制从来没有进入日常练习,只在交付前突然冒出来。他把几次返工按发生顺序排开,众人才发现,失误总在同一个拐角被放大。

于是作坊改成了新规:把已讲过的段落和对应批注放在手边木匣。刚开始人人不适应,手脚都像被拴住;但几轮下来,粗糙的捷径被挡住,真正稳妥的动作慢慢留下来。

再遇到同样的压力时,交付没有变得花哨,却明显更可靠。讲经僧终于明白:记住前面已核过的线索,后面的应答才不会一遍遍绕回起点。若等到最后才补救,代价往往已经埋进前面的每个选择里;这条新路没有消灭成本,却让成本提前现身,方便在还能改动的时候被处理。

揭示

这个故事讲的是:KV 缓存

KV Cache stores the Transformer attention keys and values computed for previous tokens. During autoregressive decoding, the model can attend to the cached history instead of recomputing keys and values for the entire context at every generation step. It is essential for practical LLM serving, but it consumes GPU memory and becomes a major constraint for long context, high concurrency, and multi-tenant Agent workloads.

它重要的地方在于:它不只是一个术语,而是在真实 AI / Agent 系统里会反复出现的结构性问题。理解它,才能判断什么时候该加模型,什么时候该改流程,什么时候该补治理。

隐喻映射

  • 长桌会议:LLM 按 token 生成输出的过程
  • 书记重念所有发言:没有 KV cache 时重复计算历史上下文
  • 两类卡片:attention keys 和 values
  • 下一位代表查卡片:decode 阶段复用历史 KV
  • 侧厅被占满:KV cache 的显存压力
  • 按会场隔离:不同请求、租户和会话的 cache isolation
  • 最后洞察:KV Cache 用显存换速度,是 LLM serving 延迟和并发能力的核心资源

Soloharness 判断

这个概念的实战价值,是帮你把“看起来聪明的 AI 功能”拆成可交付、可验收、可治理的工作单元。

Attentioncontext windowdecodingPagedAttentionmemory optimizationinference engine