Skip to main content
2026arXiv 2606.23525

Self-Compacting Language Model Agents:让 Agent 自己决定何时压缩上下文

Self-Compacting Language Model Agents

Johns Hopkins University 与 Apple 联合提出 SELFCOMPACT,通过 rubric-gated 机制让 LLM Agent 自主决定何时压缩上下文。在 6 个 benchmark、7 个模型上,以 30-70% 更低的 token 成本匹配或超越固定间隔压缩,数学推理提升最高 18.1 分,搜索任务提升 5-9 分。

Tianjian Li, Jingyu Zhang, William Jurayj, Xi Wang, Chuanyang Jin, Mehrdad Farajtabar, Eric Nalisnick, Daniel Khashabi
AI解读LLM AgentContext CompactionInference-time

论文概览

标题: Self-Compacting Language Model Agents

作者: Tianjian Li, Jingyu Zhang, William Jurayj, Xi Wang, Chuanyang Jin (Johns Hopkins University); Mehrdad Farajtabar (Apple); Eric Nalisnick, Daniel Khashabi (Johns Hopkins University)

链接: arXiv 2606.23525 | 25 页

核心问题: LM Agent 在长程任务中积累大量上下文(推理链、工具调用、搜索结果),这些"陈旧内容"不仅占用 token 预算,还会锚定后续生成——即 context rot 现象。现有系统的压缩策略基于固定 token 阈值触发,无视轨迹结构,可能在推理中途或搜索进行中丢弃关键的部分结果。

核心方案: SELFCOMPACT 将压缩时机决策从"固定阈值"转变为"模型自主判断",通过两个推理时组件实现:(i) 一个压缩工具(summarizer),模型可调用以总结累积上下文;(ii) 一套轻量级 rubric,规定何时触发压缩(子任务已解决、轨迹收敛)以及何时抑制(推理中途、陷入停滞)。两者缺一不可。

核心创新

1. Rubric-Gated 自适应压缩时机

SELFCOMPACT 的关键洞察是:何时压缩取决于模型正在做什么,而非已消耗多少 token。固定间隔压缩无法区分"正在推导中途的模型"与"刚解决完子问题的模型"——而后者的压缩是安全的,前者的压缩会丢失推导中间结果。

论文在 Algorithm 1 中形式化了这一过程:在每 N 步的探测间隔,scaffold 追加 rubric prompt 到上下文,模型输出二元判断 COMPRESS 或 CONTINUE。若 COMPRESS,则触发 summarizer 生成摘要并替换原始轨迹;若 CONTINUE,则回退探测消息,轨迹不变。关键设计是 rubric prompt 和 summarizer 都以追加方式调用,复用已有 KV cache,避免了 O(L²) 的重新 prefill。

2. Rubric 与工具的互补性

论文的一个重要发现是:仅暴露压缩工具(无 rubric)效果不均。不同模型行为差异显著——有的模型在不当时机频繁调用工具,有的几乎不调用。消融实验显示,去除 rubric 后 GLM-4.7-Flash 的准确率从 46.4% 降至 41.0%,退化为与固定间隔压缩持平。

而仅给 rubric(无工具)则无法执行——rubric 只能判断,不能行动。两者结合才构成完整的自适应压缩回路。

3. Training-Free 的元认知补偿

论文提出了一个值得关注的概念:meta-cognitive gap。模型本身无法可靠感知自己的 context 正在腐烂,但一段轻量级 rubric 文本就能弥合这一差距。这暗示"何时压缩"可以作为一种推理时能力由 scaffold 提供,而非必须训练进模型权重。

方法论

算法流程

SELFCOMPACT 在标准 Agent 推理循环中插入周期性探测:

text
for t = 1, ..., T: y_t ~ π(·|C); C ← C ∘ y_t if y_t is final answer: return y_t if t % N == 0: C ← C ∘ P_R // rubric probe (KV prefix reused) r_t ~ π(·|C) // r_t ∈ {COMPRESS, CONTINUE} if r_t == COMPRESS: C ← C ∘ P_S // summarizer instruction ỹ ~ π(·|C) // generate summary C ← x ∘ ỹ // hard reset, resume from summary else: pop(C, r_t); pop(C, P_R) // revert, trajectory unchanged

Rubric 设计

Rubric 针对不同任务有不同的条件集:

数学推理(三条件):

  • ANSWER: 最新轮次是否已给出最终答案
  • STUCK: 最近两轮是否未添加任何非平凡事实
  • HAS-NEXT: 是否存在明确的下一步推导方向

Agent 搜索(四门控):

  • C1 Closed-Unit: 最近 assistant 消息是否构成闭合单元(已完成工具调用或子分析)
  • C2 Summarizable: 核心信息是否能无损压缩为 3-5 条可引用事实
  • C3 Progress: 自上次压缩以来是否获得新事实或细化了子问题
  • N1 Not-Stuck: 当前是否未陷入搜索停滞

所有门控同时通过才触发 COMPRESS。此外设有硬性 backstop:当 prompt 超过 context window 的 30% 时强制压缩。

成本分析

设轨迹长度 L、摘要长度 ℓ。SELFCOMPACT 每个探测间隔最多增加两次 LLM 调用:rubric probe(始终执行)和 summarizer(仅 COMPRESS 时)。由于两者都追加到已有上下文,KV cache 被复用:

  • Rubric probe 本质免费:仅在缓存前缀上生成约 60 token 的判断
  • Summarizer 开销:O(Lℓ) 生成摘要 + O(ℓ²) 一次性 prefill 新上下文
  • 压缩收益条件:当 L/ℓ > 10 时压缩有利可图,搜索 summarizer 实测达到 20-80× 压缩比

SELFCOMPACT 架构流程:从 Agent 生成到 Rubric 探测再到压缩决策的完整链路
SELFCOMPACT 架构流程:从 Agent 生成到 Rubric 探测再到压缩决策的完整链路

实验结果

竞赛数学推理

在 IMO-Answerbench、HMMT Nov 25、HMMT Feb 26 三个 benchmark 上评估 4 个 Qwen 模型,在匹配 token 预算条件下:

模型无压缩固定间隔SELFCOMPACT
Qwen3-4B-Instruct38.741.545.1
Qwen3-30B-A3B-Instruct50.654.956.4
Qwen3.5-4B (Thinking Disabled)21.930.733.8
Qwen3.5-9B (Thinking Disabled)32.540.147.3

SELFCOMPACT 在 12 个 benchmark/模型组合中 11 个取得最优。对 Qwen3.5-9B 的提升最为显著:IMO-Answerbench +16.4 分,HMMT Feb 26 +18.1 分。

Agent 搜索

在 BrowseComp、BrowseComp-Plus、DeepSearchQA 三个 benchmark 上评估 3 个部署级搜索 Agent:

模型无压缩 (Acc/Cost)固定间隔 (Acc/Cost)SELFCOMPACT (Acc/Cost)
GLM-4.7-Flash36.6% / $0.1341.5% / $0.0546.4% / $0.04 (-67%)
MiniMax-M2.536.6% / $0.1341.5% / $0.0546.4% / $0.07 (-63%)
MiMo-V2-Flash36.6% / $0.1341.5% / $0.0546.4% / $0.16 (-33%)

SELFCOMPACT 在所有模型上准确率最高,同时成本最低。BrowseComp-Plus 上的成本降幅分别为 67%、63%、33%。

消融实验

方法BrowseCompBrowseComp-PlusDeepSearchQA平均
无压缩30.145.634.236.6
固定间隔35.450.039.141.5
SELFCOMPACT w/o rubrics33.651.937.641.0
SELFCOMPACT41.254.144.046.4

去除 rubric 后性能下降 5.4 分,退化为与固定间隔持平——证实 rubric 是自适应压缩有效的关键。

难题增益分析

按问题难度(无压缩基线的 token 消耗)分 5 个等量分箱。简单问题上三种策略差异在采样噪声内;但在最难的 2 个分箱中,SELFCOMPACT 比固定间隔基线高 5-20 个百分点。这表明 rubric 驱动的压缩在需要深度搜索、积累最大上下文的难题上收益最大。

准确率与成本对比:数学推理与 Agent 搜索任务
准确率与成本对比:数学推理与 Agent 搜索任务

Oracle 分析

论文还构造了一个 Oracle:在固定间隔的每个探测点,如果模型最终答案正确则跳过压缩、错误则执行压缩。Oracle 达到 52.9%(IMO-Answerbench, Qwen3-4B),显著高于 SELFCOMPACT 的 45.5%——表明自适应压缩策略仍有大量提升空间,未来可通过 RL 等方法进一步优化。

固定间隔 vs SELFCOMPACT:时机决定一切

论文通过三个定性案例(Whitesnake、Majida El Roumi、Raheem Sterling)直观展示了压缩时机的决定性作用。以 Whitesnake 案例为例:

  • 固定间隔:在 turn 21/41/61/82 各压缩一次(每次约 60k→1-3k token)。每次摘要都重新转储已被排除的候选名单,Agent 从相同的死胡同短名单重新开始,100 次搜索后回退到通用猜测
  • SELFCOMPACT:让 prompt 增长到 118k 才在 turn 41 压缩一次(118.6k→1.1k),蒸馏约束条件而非排除名单。Agent 随后尝试新候选 David Coverdale,确认 Deep Purple(1 亿+唱片销量)、艺术学院背景和精品店工作经历,正确回答 Whitesnake

三个案例的共同模式:固定间隔在错误时机压缩,将错误线索冻结进每次摘要;SELFCOMPACT 在子任务闭合后压缩,保留已验证的正确事实。

压缩时机对比:固定间隔在推理中途触发,SELFCOMPACT 在子任务闭合后触发
压缩时机对比:固定间隔在推理中途触发,SELFCOMPACT 在子任务闭合后触发

启示与思考

1. "何时压缩"是一种可分离的元认知能力

SELFCOMPACT 最有启发性的发现不是某个数字,而是它揭示的架构分层:模型的生成能力(what to say)和元认知能力(when to manage context)可以解耦。当前开源模型在后者上存在显著差距,但这一差距可以通过一段 rubric 文本在推理时补偿,无需训练。这为 Agent 架构设计提供了一个新维度:将上下文管理策略外置于 scaffold 层,而非内化于模型权重。

2. 与 AARM 框架的映射

SELFCOMPACT 的 rubric-gated 机制与 AARM 框架的"执行隔离"层有结构相似性:两者都在模型推理循环中插入判断节点,根据上下文状态决定是否执行特定操作。差异在于 AARM 关注的是"操作是否安全"(权限判断),SELFCOMPACT 关注的是"上下文是否适合压缩"(时机判断)。两者共享一个设计哲学:将关键决策从模型自主行为中提取出来,由外部 scaffold 以可审计的规则执行。

3. KV Cache 复用的工程价值

SELFCOMPACT 的成本优势很大程度上来自 KV cache 复用——rubric probe 和 summarizer 都以追加方式调用,而非替换上下文。这使得 probe 几乎免费(仅约 60 token 输出),summarizer 仅需一次性的 O(Lℓ) 生成开销。这一工程细节提示:在 Agent 系统中设计任何推理时干预时,应优先考虑追加式而非替换式调用,以最大化 cache 命中率。

4. 局限性与未来方向

论文坦承三点局限:(1) 仅评估开源模型,前沿模型(GPT-5.5、Claude Opus 4.7、Gemini 3 Pro)可能已具备更好的元认知能力;(2) 未使用 RL,而 Oracle 分析显示 RL 可进一步优化压缩时机;(3) Rubric 是手工设计的,不同任务需要不同的条件集。未来方向包括将 rubric 作为 RL 的行为目标蒸馏进模型、探索自动 rubric 生成,以及将 SELFCOMPACT 扩展到编码 Agent 等更长程的场景。

参考链接

  • 论文: arXiv 2606.23525
  • 作者机构: Johns Hopkins University, Apple
  • 相关工作: ReasoningCache (Wu et al., 2026), Memento (Kontonis et al., 2026), AgentFold (Ye et al., 2025)