摘要
在 agent 负载里,tool/skill schema 会以不同组合、不同顺序反复出现,标准的前缀缓存因此无法复用它们的 KV 状态。ReCache 的做法是把每个资源的表示独立缓存:resource-wise attention 去掉跨资源交互并给资源分配局部位置,得到组合不变(composition-invariant)的 KV block;资源的可见范围被限制在按贡献选出的 layer-KV-head-group 路由上,再通过结构化和语义剪枝只保留调用关键字段。在 7 个公开 tool/skill 使用数据集组成的 benchmark 上(含资源不相交测试),resource-wise attention 与 dense 调用性能持平(Inv-F1 82.3% vs 82.4%),同时首 token 延迟(TTFT)加速 3.655 倍;完整框架把已分配的 KV-tensor 内存降低 92.43%,attention 加速 1.423 倍。代码已开源:github.com/EIT-NLP/ReCache。
为什么重要
前缀缓存恰恰在 agent 流量最重的地方失效:每次请求都要重新拼装的 tool schema。对跑 MCP 或工具密集型 gateway 的团队来说,这是一个能同时压 TTFT 和 KV 内存的具体 serving 成本手段,与 agent × KV-cache 交互的正确性研究(ev-20260818-03)正好互补。但要注意,它需要改动 attention 层(resource-wise attention),不是改个缓存配置就能上——接入生产 serving 栈有真实成本,且评估规模还只是学术 benchmark。
技术细节
| 问题 | tool/skill schema 以不同组合和顺序跨请求反复出现;前缀缓存无法复用其 KV 状态 |
|---|---|
| 机制 | resource-wise attention:去除跨资源交互并分配资源局部位置,得到组合不变的 KV block · 按贡献选择的 layer-KV-head-group 可见性路由 · 对调用关键字段做结构化和语义剪枝 |
| 结果 | Inv-F1 82.3% vs 82.4% dense(持平) · 首 token 延迟(TTFT)加速 3.655 倍 · 已分配 KV-tensor 内存 -92.43% · attention 加速 1.423 倍 |
| 基准测试 | 7 个公开 tool/skill 使用数据集,含资源不相交(resource-disjoint)测试 |
| 代码 | github.com/EIT-NLP/ReCache |
| 与知识库的关系 | agent × KV-cache 研究线的成本一侧;正确性一侧见 ev-20260818-03(arXiv 2608.15939) |
标签
kv-cacheinferenceservingagentstool-usemcpcostlatencyresearch