清华开源 AKV:不改文本只改 KV 缓存,智能体成本降 27.7%
清华大学团队开源了 AKV(GitHub thu-nics/AKV,Apache-2.0),一个跑在 SGLang 之上的「缓存工程」服务系统,配套论文《Cache Engineering for Agents》于 10 月 20 日上 arXiv(2610.28577)。要解决的问题写在论文的成本拆解里:智能体反复读取累积的 KV 缓存,KV 读取一项就占了总 API 成本的 82.4%。
它的做法与常见的上下文工程相反。摘要旧历史会改掉前缀,后面所有 KV 状态随之失效、必须重新 prefill,于是框架只能尽量晚摘要、尽量狠摘要,中间几轮的细节就这样丢掉。AKV 不动文本轨迹,只改「哪些 KV 条目还对注意力可见」:定义了 Append、Drop、Repos 三个操作,其中 Repos 用 RoPE 把保留下来的 key 重写到 0 到 r-1 的位置,value 不变,因此不重算隐藏状态。难点在服务端——同样的 token 在不同操作历史下会产生不同缓存状态,普通前缀匹配会复用错,于是它把 SGLang 的 radix tree 扩出 drop 与 reposition 节点,且只在没有活跃请求需要时才真正释放被丢弃的 KV。
论文给出的结果是:以「工具回包滚动丢弃」为主策略,在 3 个模型、4 个智能体基准(BrowseComp-Plus、GAIA-Text、SWE-bench Verified、xbench-DeepSearch)上,相对阈值触发式摘要平均得分升 1.7 分、平均成本降 27.7%;输出吞吐最高 1.2 倍、P95 延迟改善 1.5 倍,并发 16 时 P95 从 229.90 秒降到 30.63 秒。代价是它要求推理栈支持缓存操作(OpenAI 兼容接口外加 drop_message 与 reposition 两个字段),不换服务端拿不到这份收益。
原文链接:arXiv 论文页面 / GitHub