866ai

告别冗长上下文:清华团队开源AKV,用KV缓存工程重塑AI Agent推理成本

· 0 次浏览 ·来源: 866ai
清华大学与香港中文大学研究团队近日开源AKV,一套面向大语言模型Agent的KV缓存工程服务系统。不同于传统通过摘要压缩文本历史的上下文工程,AKV允许Agent直接丢弃或重新排列选定的KV缓存条目,保留其余部分反复使用。实测覆盖三款模型与四项Agent基准任务,平均推理成本降低27.7%,任务平均得分提升1.7个百分点。该系统基于SGLang构建,采用Apache-2.0协议开源,为长程Agent交互提供了一条兼顾效率与信息完整性的技术新路径。

大语言模型在Agent场景下面临一个日益尖锐的矛盾:多轮交互产生的历史上下文越长,缓存占用与推理成本就越高,而粗暴地截断或摘要又会丢失关键细节。清华大学与香港中文大学的研究团队选择了一条少有人走的路——不碰文本,直接动缓存。他们近日开源了AKV,一套面向KV缓存工程的服务系统,让Agent在保持原始对话轨迹完整的前提下,自主决定哪些KV状态该丢弃、哪些该保留甚至重新排布。

缓存工程 vs 上下文工程:两条截然不同的技术路线

在讨论AKV之前,有必要厘清两个容易混淆的概念。当前主流的上下文工程(Context Engineering)通过对文本历史进行修剪或摘要来压缩输入长度。这种做法存在一个结构性缺陷:编辑Prefix会使之后的所有KV状态失效,保留下来的Suffix必须重新Prefill。这意味着系统往往倾向于在晚期才做摘要,且越激进越好,代价是中间轮次的关键细节可能就此湮灭。

缓存工程(Cache Engineering)则另辟蹊径。它完全不修改文本轨迹,只改变哪些KV条目对注意力机制可见。被保留的条目无需重新计算即可复用,即便它们对应的消息已被逻辑删除,其携带的信息仍残留在KV状态中继续发挥作用。这一思路的经济学依据来自研究团队的成本拆解:在典型的Agent推理流程中,KV缓存读取占据了总API成本的82.4%。换言之,谁掌握了缓存的编辑权,谁就掌握了成本优化的命门。

AKV的三原语:Append、Drop与Repos

AKV将缓存操作抽象为三种基本原语。Append是标准的新Token写入;Drop从未来的注意力视野中移除选定条目,但不改变它们在序列中的物理位置;Repos则更为精妙——它通过RoPE旋转将保留的Key重写至位置0到r-1,而Value保持不变,因而无需重新计算任何隐藏状态。

Repos的价值在消融实验中得到直观体现。引入该操作后,GPT-OSS-120B在BrowseComp-Plus基准上的通过率从55%攀升至62%。这说明简单的丢弃并不够,通过对缓存进行紧凑重排,模型能够在更短的序列长度内维持等量的有效信息,从而进一步压缩Prefill开销。

真正的工程难点在于服务层的一致性保障。相同的Token在不同操作历史下可能对应截然不同的缓存状态,朴素的前缀匹配机制极可能复用错误的状态,导致推理结果不可预测。AKV的解决方案是对SGLang的基数树(Radix Tree)进行扩展,新增Drop与Repos节点类型。系统采用引用计数式的惰性释放策略:只有当没有任何活跃请求仍需要某段KV时,才真正回收其内存。配合Segment-Batch Attention机制,被驱逐的状态可以在单次Prefill pass中恢复,避免了昂贵的逐步重建。

开源架构与接口设计

AKV的定位是服务系统加策略库,不包含任何模型权重。它通过OpenAI兼容的无状态接口对外提供服务:客户端发送完整的消息历史,并可选地附带drop_message与reposition两个字段。前者将触发消息的索引映射到待删除的消息集合,后者指定需要进行位置压缩的索引位置。CachePolicy组件则依据触发器、选择器与重排规则自动生成这些字段,内置策略覆盖基于轮次、基于Token与基于模型信号等多种模式。此外,CacheTool允许模型自主调用drop_context,实现了缓存策略与推理过程的闭环。

在验证范围上,研究团队测试了三款规模差异显著的模型:GPT-OSS-120B(5.1B活跃参数)、MiniMax-M2.7(230B总参数,10B活跃)以及MiroThinker-1.7-Mini(30B总参数,3B活跃),覆盖四项Agent基准任务。硬件层面基于8张A800-80GB GPU以BF16精度运行,快速启动配置则展示了在2张GPU上以张量并行度2服务GPT-OSS-120B的可行性。

性能表现:成本与能力的再平衡

综合数据显示,相比阈值摘要基线,AKV将平均成本压低27.7%,同时任务平均得分提升1.7个百分点。这一升一降的组合尤为珍贵——通常的成本优化手段往往以牺牲任务质量为代价,而缓存工程在此实现了帕累托改进。

最佳案例出现在GPT-OSS-120B与SWE-bench Verified的组合上:单次任务成本从20.0美分降至9.7美分,近乎腰斩,得分反而从40.0升至43.2。这说明在代码生成这类对历史上下文精度敏感的任务中,保留原始KV状态比摘要更能维持推理连贯性。

当然,缓存工程并非万能。MiniMax-M2.7在BrowseComp-Plus上的表现提供了反例:AKV得分为58.9,低于Text Engineering方案的62.3,差距3.4个百分点。这暗示在某些高度依赖全局语义压缩的浏览与检索任务中,显式的文本摘要仍具备KV操作难以替代的优势。模型的架构特性与任务的信息分布共同决定了哪种方案更优。

行业洞察:从"算得快"到"记得巧"的范式迁移

AKV的开源标志着大模型工程化正经历一场静默的范式转移。过去数年,行业注意力主要集中在模型架构创新、训练数据扩容与推理加速上,属于"算得快"的范畴;而缓存工程把战场转向了"记得巧"——如何在有限的显存与带宽约束下,更聪明地管理历史信息。

这一转向背后是Agent应用场景的规模化压力。当Agent从演示走向生产环境,长程任务中的KV缓存膨胀不再是学术问题,而是直接决定商业可行性的成本项。传统的上下文窗口扩展方案通过增加显存来硬扛,本质上是用硬件成本换工程便利;AKV则尝试用算法效率换硬件成本,路径更为可持续。

值得深思的是,AKV选择基于SGLang而非自建服务框架,这一决策折射出开源生态的成熟度。成熟的推理引擎提供了稳定的调度原语与内存管理,使得研究团队能够将创新聚焦在缓存策略本身,而非重复造轮子。这种"站在巨人肩膀上"的工程哲学,恰恰是实验室成果走向产业落地的关键桥梁。

前瞻展望

缓存工程的未来演进可能沿着三个方向展开。其一是策略的自适应化:当前内置策略仍以规则驱动为主,未来有望引入轻量级策略模型,根据任务类型与上下文特征动态决定Drop与Repos的时机。其二是与模型训练的深度耦合:如果模型在训练阶段就意识到某些中间状态的缓存可以被安全丢弃,推理时的缓存管理将更为高效。其三是跨请求的缓存共享机制:在多租户服务场景下,不同用户请求之间可能存在可复用的公共KV前缀,AKV的扩展基数树为此提供了基础设施层面的可能性。

无论如何,AKV的开源为业界提供了一个可验证的起点。它证明了在不修改模型权重、不破坏文本语义的前提下,仅通过对KV缓存的精细操控,就能同时实现降本与提质。在Agent规模化部署的前夜,这类"精打细算"的基础设施创新,其价值或许不亚于一次模型架构的迭代。