从Compaction Cliff到Knowledge Triage:Agent安全规则留存率提升2-4倍

The Compaction Cliff in Long-Running AI Agent Memory

从Compaction Cliff到Knowledge Triage:Agent安全规则留存率提升2-4倍 论文图示

在长期运行的 AI Agent 应用中,随着上下文历史不断积累,系统不可避免地会触发记忆压缩机制以适应大语言模型的 Token 预算限制。然而,现有的工业界压缩策略往往忽视了一个致命问题:一条生死攸关的安全规则和一行无关痛痒的系统执行日志,在 Token 预算溢出时,正以相同的概率遭到删改。这种类型盲目(Type-blind)的内存管理直接导致 Agent 在长时交互中频繁“失忆”并采取违规行为。

ArXiv URL:https://arxiv.org/abs/2608.22752v1

针对这一困境,帕绍大学(University of Passau)的最新研究揭示了一个被称为 Compaction Cliff(压缩悬崖)的结构性失效现象:在生产环境的 Claude 提示词压缩配置下,Agent 经历一轮压缩后仅能保留 53% 的安全规则,而历经五轮压缩后,这一比例更是急剧暴跌至 10%。为了彻底消除这一系统性隐患,研究人员提出了 Knowledge Triage 框架。该框架像急诊室分诊一样,对 Agent 记忆中的知识进行分类,并通过独立制定的保留策略实施差异化管理。实验结果确凿地表明,采用该框架后,Agent 在历经多轮上下文清理后,安全规则的留存率比最强的单次大模型压缩方案高出 2-4 倍,在医疗和零售等严苛下游任务中均显著提升了合规性表现。

危险的“压缩悬崖”与类型盲目的内存缺陷

当前主流的 Agent 运行时框架为了维持知识库不越过 Token 红线,通常依赖三种操作:在上下文内部进行摘要压缩(Compaction)、将大主题切分为子块(Decomposition),以及将上下文踢出到外部存储并按需检索(Retrieval)。长期以来,学术界和工程界都将这三个步骤视为相互独立的问题,并分别设计了如 RAG、分层摘要等优化机制。但作者敏锐地指出,这三种操作实质上共享着同一个物理约束,即在异构知识上分配有限的预算。

更为严重的是,现有的主流 Agent 框架在应对预算压力时,未能将保留策略与知识的“类型”相绑定。不同类型的知识对信息损失(Distortion)的容忍度有着本质的区别。例如,一条指令“调试记录”可以被随意浓缩为一句话而不引发错误;一段“程序代码”只要执行结果不变,允许重写调整;但一条“如果患者对青霉素过敏则禁用某类药物”的安全规则,只要丢失了前置条件或修饰语,就会彻底丧失约束力。

当生产环境普遍采用“同等对待”的层级截断或摘要机制时,灾难便不可避免地发生了。即使是在最先进的模型(如 Sonnet 4.6)并配以专门提示词要求“压缩时保留安全规则”的情况下,模型对长文本位置偏差的继承以及生成式摘要固有的事实遗漏倾向,依然导致了 Compaction Cliff 现象。安全边界不是被渐进式地磨损,而是在几次常规的上下文置换中彻底崩塌,导致原本在推断初期表现良好的 Agent 在长期会话后接连触发安全违规动作。

Knowledge Triage 框架的核心解法

为解决单一保留策略无法适配所有知识类型的矛盾,作者设计了 Knowledge Triage 框架。其核心思想并非寄希望于训练出一个具有完美注意力的无限上下文模型,而是从工程架构层面将认知科学中的记忆分类学引入上下文管理层,为不同性质的条目建立不同的保真度通道。

这套体系建立在一个经过大规模实证验证的五型知识模型之上。作者从开源世界的 Agent 配置文件中归纳出五种基本知识类型:安全约束(Constraints)、程序指令(Procedures)、信念/背景知识(Beliefs)、偏好(Preferences)以及事件日志(Episodic)。通过为每个知识条目分配类型,系统得以针对不同条目的信息损失容忍度实施差异化管控。

而将非结构化上下文转化为类型化状态的关键,在于框架内置的分类器 $\tau$。在此,作者摒弃了容易被绕过的表面正则表达式匹配,提出了 SafetyMargin 算法。该算法不再依赖句法形式(例如是否使用了“禁止”、“必须”等祈使句标志词),而是直接估计移除某一条目所导致的反事实安全风险。通过向辅助的大语言模型(如 gpt-5.4-mini)提问,评估如果删掉当前句子,Agent 执行特定动作变为不安全的概率增量。如果风险边际超过一定阈值,该条目即被死锁认定为 Constraint。

作者后续的实证分析极大地证明了 SafetyMargin 这类基于语义风险评估的必要性。他们发现,在如 openFDA 医疗说明和 LegalBench 法律合同中,约有 50% 到 60% 的关键安全规则其实是采用“陈述句”形式编写的(例如“患者对某种药物过敏”),而非带有强烈主观色彩的祈使句。传统的启发式规则极易漏掉这些隐藏在背景陈述中的约束条件,从而将其放入可牺牲的内存通道中,引发严重的下游故障。

三大确定性算子重构上下文操作

在确立了分级模型和分类器后,Knowledge Triage 框架部署了三个确定性算子,分别接管了 Agent 内存管理的三个核心环节。每一个算子都针对性地修补了传统类型盲目策略必然违背的硬性安全要求。

实证表现与百万级开源数据资产

为了证明理论架构在真实工程环境下的生命力,研究团队完成了极为扎实的实证评估。最为瞩目的是构建并开源了 AgentArtifactCorpus 数据集。这并非是一个玩具级的合成数据集,而是团队通过 GitHub API,跨越 8 大主流 Agent 平台(如 Claude、Cursor、Copilot 等),从 54,628 个真实仓库中刮取清理出的 396,934 份真实的 Agent 配置知识制品,全面覆盖了 TypeScript、Python 和 Go 等一线开发语料。

在五个公开语料库的横向测评中,Knowledge Triage 展现出了对现有基线的降维打击。在压缩场景下,TypeCompact 在各个压缩比率下都保留了比最强单次 LLM 压缩器多出 2-4 倍的安全规则;历经整整五轮的高压压缩后,依旧交出了高达 96% 的规则召回率,彻底抹平了 Compaction Cliff。在主题切分测试中,均匀分块法不可避免地产生了高达 93% 的局部性破坏,而 TypeDecompose 将这一致命错误率成功压降至 0%。在检索基准上,TypeRetrieve 达到了 100% 的前五十命中率(Recall@50),而目前业界最优的单次 LLM 检索器仅徘徊在 73%。

不仅是组件级评测,在端到端的行为基准测试中,这些指标转化为了实实在在的安全红利。针对医疗合规性任务,Knowledge Triage 使得 Agent 开出危险处方或违背患者特殊病史的概率大幅降低,在严谨的成对 McNemar 检验下,显著超越了目前运行于 Sonnet 上的生产级压缩方案。在 $\tau$-bench 的零售和航空复杂任务域中,配备该框架的 Agent 同样在任务通过率和动作合规性上取得了显著且统计学可靠的优势。

从宏观上看,Knowledge Triage 框架为大模型 Agent 的长期记忆管理指明了一条工程化、确定性更强的新路径。长上下文窗口的持续扩展并不能解决一切问题,因为算力和延迟的物理边界永远存在;通过大模型自身的指令微调来兼顾摘要质量和安全守则,本质上是在玩概率游戏。该论文通过形式化证明与海量实证宣告:只有将知识进行科学的类型剥离,在底层调度逻辑上赋予安全约束一票否决权和无损通过权,才能让那些具备长生命周期的复杂 AI 助手,在无尽的上下文置换洪流中,牢牢守住不作恶的底线。