AI 简明手册
AI 成本工程 · 四层实战优化KV Cache 与前缀稳定性

KV Cache 与前缀稳定性

定义

KV Cache 通过复用相同前缀的计算结果来降低成本,前缀越稳定,命中率越高。动态切换工具和滑动窗口都会破坏前缀稳定性,应优先保持系统提示和工具定义稳定,并用章节式缓存代替简单滚动窗口。

说明

如果两次请求共享足够长且完全一致的前缀,支持提示缓存的 Provider 可能复用中间结果。折扣、最小长度、过期时间和可观测字段各不相同,应以当前官方文档和账单为准。

工具定义通常属于请求前缀;动态增删或改变顺序可能降低缓存命中。但固定挂载全部工具也会增加每次输入,二者需要用真实请求分布权衡。

多轮对话和长文本管理不要使用简单的滑动窗口。滑动窗口每次滚动都会改变前缀,缓存几乎无法命中,还容易丢失早期上下文。更好的方式是维持稳定的系统提示前缀,对旧内容做摘要归档,并按章节或话题动态挂载,既控制长度又保持缓存命中率。

边界与误区

  • 为什么滑动窗口会降低 KV Cache 命中率: 滑动窗口每加入新内容就丢弃旧内容,前缀不断变化。模型无法复用之前的计算结果,缓存频繁失效。

  • 动态切换工具为什么会让缓存全打穿: 工具状态变化会改变服务端插入的模板说明,导致请求前缀不同。即使前文相似,前缀不一致也无法命中缓存。

  • 什么内容适合放进 Stable 区: 系统提示、固定工具定义、角色设定等每次请求都相同的内容,应保持稳定以作为缓存前缀。