实验室/kv-cache-as-distributed-resource

2025年11月8日 · 7 分钟阅读

把 KV 缓存当作一等分布式资源

把 KV cache 当作数据库看待:分页、可驱逐、可跨智能体共享。运行时的很多设计会自然落位。

Autogent

几乎所有上线中的 LLM serving stack,都把 KV cache 当作进程私有的副作用。部署单位还是单次补全时,这个假设合理;遇到多步骤智能体后,它就不够用了。

变化在哪里

当一个智能体运行十分钟,并 fork 三个子智能体时,它们都需要同一段 prompt prefix。重复 prefill 这段 prefix,往往是运行时里最贵的事情。跨进程共享 cache 不再只是优化,而是可行智能体和烧钱机器之间的差别。

“一等资源”是什么意思

我们有意借用数据库类比。一等 KV cache 应该:

  • 有可寻址身份(page_03f1
  • 有生命周期(allocate、hot、warm、cold、evict)
  • 有策略(LRU + prefix-share)
  • 有指标(hit rate、eviction rate)
  • 有传输协议,让其他进程可以接入

在我们的指南里,这个设计空间对应运行时分类的 L3。实践中,它也是原型和生产之间性能差距最大的一层。

我们正在做什么

一个参考实现:把 KV cache 从推理进程里提升出来,变成分页、可通过网络访问的资源。集群里的任意进程都可以按地址访问,并通过基于能力的访问控制,让两个租户在不共享密钥的情况下共享 prefix。