← 重要论文

论文解读 · 2026年10月23日

面向智能体的缓存工程

Cache Engineering for Agents

语言模型效率与基础设施智能体 进阶 点赞 111 cs.CL Tsinghua-NICS-EFC

让智能体直接删除、重排KV缓存,并配套设计专用服务引擎AKV,与摘要方式相比成本降低27.7%,得分提高1.7分。

问题

智能体轨迹变长后,KV缓存的存储和读取成本随之增加,还可能超出上下文长度上限。现有的上下文工程(截断、摘要历史)会修改前面的内容,导致后面的缓存失效,需要重新Prefill。为降低Prefill成本而大量截断又会损失准确率,形成两难。

方法

提出了保持文本轨迹不变、只操作活动KV缓存的“缓存工程”。在原有append之外,定义了drop(将选定缓存排除在后续注意力之外)和repos(通过RoPE旋转为剩余键重新分配位置索引)操作。即使是相同的token序列,操作顺序不同,缓存状态也会不同,由此产生“历史依赖性”问题。为解决这一问题,设计了服务引擎AKV。AKV对外提供与现有API兼容的无状态接口,内部则使用加入drop节点的扩展radix tree、考虑drop的驱逐机制,以及通过一次Prefill恢复缓存的segment-batch attention。代表性策略是依次丢弃旧工具响应缓存的tool-response rolling drop。

结果

局限

drop会产生训练时不存在的缓存状态,因此效果可能因模型和策略而异。验证范围为3个LLM和4个基准。服务端收益需要AKV引擎,因此难以直接应用于无法直接控制缓存的商用API。方法以基于RoPE的重排为前提。

意义

指出长期运行智能体的大部分成本来自KV缓存读取。它开辟了一种新的设计选择:不在文本层面编辑上下文,而是在缓存层面管理,与降低智能体服务基础设施成本直接相关。

关键术语

KV缓存
保存已处理token的Key、Value值,并在生成下一个token时复用的内存。上下文越长,存储和读取成本越高。
Prefill
一次性处理整个输入提示词并生成KV缓存的阶段。前面的内容一旦改变,后面的部分就需要重新Prefill。
上下文工程
通过截断或摘要智能体对话历史来管理模型输入长度和成本的技术。
RoPE
按位置旋转Key、Query向量以注入位置信息的方式。重新施加旋转即可改变已缓存键的位置。

原文

作者: Tianyu Fu, Ruoxi Wang, Zihan Min, Zhongqi Ren, Zhihao Li, Tengxuan Liu, Shengxu Mu, Hanling Zhang, 等 · 发布 2026-10-20 · 许可 arXiv 비독점 배포 라이선스 · 基于全文分析

本解读是 AI 阅读论文后撰写的摘要,请以论文原文为准。