压缩中的迷失:上下文压缩下辅助约束损失的评估

arXiv cs.CL 论文

摘要

本文介绍了 CompInt,一个用于评估 LLM 系统中上下文压缩在多大程度上保留用户发出的会话约束的评测套件。研究发现,当前的压缩器平均仅保留 17% 的约束,并提出了一种 SC 感知的提取器,在不修改压缩器或 LLM 的情况下实现了超过 90% 的保留率。

arXiv:2608.11242v1 公告类型:新 摘要:当上下文窗口面临压力时,LLM 系统会压缩先前上下文以继续正在进行的任务。我们识别出一类用户发出指令,即会话约束(Session Constraints,SC),例如“在我确认之前不要删除任何电子邮件”,这些指令旨在约束 LLM 在会话剩余时间内的行为,但在压缩过程中被悄然丢弃。为了量化这一损失,我们引入了 COMPINT,一个评估套件,在三种长上下文场景中评估压缩器:多轮对话、智能体轨迹和长期研究。 当前的压缩器平均仅保留 17% 的注入 SC,并且大多数压缩器比不进行压缩运行同一任务表现更差。保留率随压缩器、提示词、上下文长度、SC 措辞和注入位置的变化而显著变化,表明这种损失是系统性的,而非与任何单一设置相关。我们提出了一种 SC 感知提取器,作为即插即用模块与压缩器并行运行,在不修改压缩器或 LLM 的情况下,在所有三种场景中实现了超过 90% 的保留率。COMPINT 评估套件及配套实现可在 https://github.com/ZhiqiEliWang/compaction-integrity 获取。
查看原文
查看缓存全文

缓存时间: 2026/08/13 15:25

# 压缩中的迷失:评估上下文压缩下的侧约束丢失
来源:https://arxiv.org/html/2608.11242
Zhiqi Wang, Yichi Zhang, Dongwon Lee, Yuchen Yang 宾夕法尼亚州立大学
\{zhiqi\.wang,yichi\.zhang,dongwon,yuchen\.yang\}@psu\.edu

###### 摘要

当上下文窗口面临压力时,LLM 系统会压缩先前的上下文以继续当前任务。我们识别出一类用户发出的指令,即会话约束(Session Constraints,SCs),例如“在我确认之前不要删除任何邮件”,这类指令旨在约束 LLM 在会话剩余部分的行为,但会在压缩过程中被静默丢弃。为了量化这种损失,我们引入了 CompInt,一个评估套件,用于在三种长上下文场景中评估压缩器:多轮聊天、智能体轨迹和长周期研究。当前压缩器平均仅保留 17% 的注入 SC,且大多数压缩器的表现比完全不压缩运行同一任务更差。保留率随压缩器、提示词、上下文长度、SC 措辞和注入位置的不同而急剧变化,这表明这种损失是系统性的,而非由单一设置导致。我们提出了一种 SC 感知提取器,作为即插即用模块与压缩器并行运行,在三种场景下均实现了超过 90% 的保留率,且无需修改压缩器或 LLM。CompInt 评估套件及配套实现可在 https://github.com/ZhiqiEliWang/compaction-integrity 获取。

压缩中的迷失:评估上下文压缩下的侧约束丢失
Zhiqi Wang, Yichi Zhang, Dongwon Lee, Yuchen Yang
宾夕法尼亚州立大学
\{zhiqi\.wang,yichi\.zhang,dongwon,yuchen\.yang\}@psu\.edu

## 1 引言

长上下文使基于 LLM 的 AI 系统能够处理更复杂的任务 [Jimenez 等人 (2024)](https://arxiv.org/html/2608.11242#bib.bib21);[Li 等人 (2026)](https://arxiv.org/html/2608.11242#bib.bib7)。但开放权重模型和 API 服务规定了最大上下文窗口,当会话接近该限制时,标准的解决方案是压缩先前的上下文 [Steinberger and OpenClaw Contributors (2025)](https://arxiv.org/html/2608.11242#bib.bib15);[OpenAI (2026a)](https://arxiv.org/html/2608.11242#bib.bib24)。压缩器以对话历史为输入,生成替换它的摘要,从而减少上下文压力,同时为后续轮次提供连续的上下文 [Wu 等人 (2026)](https://arxiv.org/html/2608.11242#bib.bib27);[Shinn 等人 (2023)](https://arxiv.org/html/2608.11242#bib.bib17);[Steinberger and OpenClaw Contributors (2025)](https://arxiv.org/html/2608.11242#bib.bib15);[Anthropic (2026)](https://arxiv.org/html/2608.11242#bib.bib29)。由于压缩后的状态远比原始内容短,压缩器选择保留什么就显得至关重要。

*图 1:上下文压缩引发的约束违反。*  
(A):用户发出侧约束(SC),“任何操作前先与我确认”,智能体最初遵从该约束,提出编辑方案并等待批准。  
(B):当上下文窗口填满时,压缩器生成一份摘要,保留了主要任务进展(日历已重新整理、邮件已发送),但丢弃了 SC。  
(C):仅基于压缩后的上下文,智能体之后直接执行了日历变更,违反了用户的原始约束。

然而,压缩器是围绕*任务连续性*设计的:它们保留目标、工作状态和下一步计划,以便后续轮次能够恢复主导任务 [Anthropic (2026)](https://arxiv.org/html/2608.11242#bib.bib29)(例如,“请帮我整理邮件”)。这对于压缩器能够识别为任务相关的内容有效,但它未能充分服务另一类上下文。在整个交互过程中,用户还会发出一些指令,这些指令约束的是任务的*执行方式*,而非任务本身是什么,例如“采取任何行动前先与我确认”。我们将这些称为会话约束(SCs)。与系统提示不同,SC 是仅限于当前交互的临时约束。它们不是持久记忆,因此在上下文压缩后,只有压缩器将其保留下来才继续有效。这使得 SC 很脆弱:它们通常只陈述一次,措辞为软性偏好,并且嵌入在面向任务的轮次中。因此,以任务为中心的压缩器可能会保留任务但丢弃约束,从而导致静默的完整性失败:智能体继续执行任务,却违反了用户要求其进行的方式。例如,用户要求未经批准不要发送邮件;压缩后,该约束被丢弃,智能体发送了邮件。图 1 展示了这种失败模式。

为了量化这种损失,我们引入了 CompInt,一个沿四个正交轴组织的评估套件:(i) SC 内容,来自一个五类别分类体系;(ii) 框架,改变每个约束的强度和明确性;(iii) 注入条件,改变 SC 的位置和数量;(iv) 长上下文环境,涵盖多轮聊天、多轮智能体工作流和单轮长周期研究。将这些轴交叉组合,每个压缩条件下可生成 750 个评估实例。借助 CompInt,我们研究四个研究问题:

- ∙ RQ1:当前压缩方法在多大程度上保留了 SC?
- ∙ RQ2:压缩系统因素(压缩器选择、上下文长度、压缩率)如何影响 SC 保留率?
- ∙ RQ3:SC 侧因素(声明位置、重复、表面框架、SC 类型)如何影响 SC 保留率?
- ∙ RQ4:我们如何设计一个 SC 感知的压缩系统来缓解这种损失?

我们表明,这种损失在压缩器、数据集和 SC 框架之间是系统性的,而弥补它需要架构上的分离,而非更好的压缩器提示。具体而言,我们的贡献包括:(i) 将会话约束形式化为一类用户发出的约束,其生命周期只有一个会话,其保留完全依赖于压缩器,并附带一个五类别分类体系;(ii) CompInt,一个用于衡量压缩下 SC 完整性的基准测试,涵盖三种长上下文场景(多轮聊天、智能体轨迹和长周期研究),并控制 SC 内容、框架和注入条件等轴;(iii) 一项系统性评估,表明我们测试的压缩器平均仅保留 17% 的注入 SC,且保留率随压缩器选择、上下文长度、SC 框架和注入位置而变化;(iv) 一个 SC 感知提取器,作为策略层干预手段与压缩器并行运行,在三个数据集上均实现超过 90% 的保留率。CompInt 评估套件及配套实现——包括数据集构建、实验运行器、分析代码和 SC 感知提取器——已在 GitHub 上提供。¹¹https://github.com/ZhiqiEliWang/compaction-integrity

## 2 相关工作

#### 上下文压缩。
先前的上下文压缩工作可分为三类。(1) 上下文截断:[Shinn 等人 (2023)](https://arxiv.org/html/2608.11242#bib.bib17) 设计了一种短期记忆,仅保留最近 3 次自我反思,这一方法也被 [Yang 等人 (2024)](https://arxiv.org/html/2608.11242#bib.bib16) 和 [Wu 等人 (2026)](https://arxiv.org/html/2608.11242#bib.bib27) 采用。(2) 非基于提示的语言模型压缩:[Pan 等人 (2024)](https://arxiv.org/html/2608.11242#bib.bib39) 训练了一个类似 BERT 的二元分类器来决定保留哪些 token,而 [Li 等人 (2023)](https://arxiv.org/html/2608.11242#bib.bib44) 则移除困惑度较低的 token。(3) 基于提示的 LLM 摘要:这是大多数智能体中的标准方法 [OpenAI (2026a)](https://arxiv.org/html/2608.11242#bib.bib24);[Anthropic (2026)](https://arxiv.org/html/2608.11242#bib.bib29);[Xu 等人 (2026)](https://arxiv.org/html/2608.11242#bib.bib37),即用压缩指令(例如,识别主要任务、用户指令和要求)提示 LLM,以生成完整上下文的摘要。

#### 长上下文约束遵循。
[Zhao 等人 (2025)](https://arxiv.org/html/2608.11242#bib.bib8) 表明 LLM 能够主动遵守用户偏好,但当偏好声明与查询之间仅相隔几轮时,这种能力会下降。他们的重点是扩展上下文下的偏好遵循,而我们的重点是压缩下的约束遵循,并且我们的分类体系超出了偏好,扩展到另外四个类别。[Robinette 等人 (2026)](https://arxiv.org/html/2608.11242#bib.bib6) 提出了一个用于长上下文遵循的可验证指令遵循数据集,*但只在静态上下文中进行评估,并未涉及我们工作中针对的压缩所导致的动态信息丢失。*

## 3 侧约束

我们将侧约束(side constraint,SC)*s* 定义为用户提示中的一个小句,使得 (1) *s* 不是用户任务的一部分;(2) *s* 旨在约束 LLM 在同一会话中的解码;(3) *s* 在该会话之外没有预期用途。从语言学角度看,*s* 是一种*泛化性*指令(针对某一类行动或输出),而非*情景性*指令(针对当前轮次中的某个具体行动)。例如,在“给 Sarah 发邮件,告诉她我会迟到,但从现在起,发送任何内容之前先给我看草稿”中,“给 Sarah 发邮件……”是情景性的:邮件是任务,涉及一封可识别的具体邮件。而“从现在起,发送任何内容之前先给我看草稿”是泛化性的:“发送任何内容”指的是一类行动,因此该指令旨在适用于会话剩余部分中每一个类似发送的行动,并且起草邮件本身并不需要它。这就是 SC。这三个限定条件使 SC 在压缩下变得脆弱。SC 不是主要任务,因此以任务为中心的压缩器提示没有明确的意图去保留它。普通用户可能将其措辞为软性偏好(他们不熟悉提示工程),而压缩器可能会将其视为非必要内容。一个保留用户目标和工作状态的压缩器可以在保留任务相关信号的同时丢弃 SC。我们根据 SC 所约束的对象来组织它们。**行动**和**信息**约束智能体的行为和输出;**过程**约束智能体得出答案或行动的方式;**偏好**约束智能体在多个任务等价答案中选择哪一个;**输出**约束应答的文本属性。每个 SC 的定义见附录表 13,我们基准测试中使用的 15 个 SC 示例见附录表 12。

## 4 CompInt

我们的 CompInt 旨在全面评估上下文压缩后 SC 的完整性。它由 3 个组件组成:长上下文环境、SC 样本与探针,以及 SC 注入。

*图 2:CompInt 概览。*  
该评估套件包含三个组件。**SC 分类体系**(左):五类侧约束。**注入条件**(中):每个 SC 在四种框架下渲染,交叉组合*约束强度*(偏好型 vs. 严格型)与*明确性*(情境化 vs. 直接型),然后注入到长上下文中的四个位置之一(顶部、中部、底部、多处)。**评估**(右):注入后的上下文被压缩,我们通过 LLM 作为评判者来衡量*保留率*(SC 是否存在于压缩摘要中),并通过一个探针多选查询来衡量*合规性*(模型是否按照 SC 行事)。

### 4.1 预备知识

给定一个基于 LLM 的智能体 \(\mathcal{A}\) 和用户 \(\mathcal{U}\),在对话 \(H\) 的某个时间戳 \(t\),对话历史为

\[
H^{t} = [x_{\mathcal{U}}^{0}, x_{\mathcal{A}}^{0}, \dots, x_{\mathcal{U}}^{t}, x_{\mathcal{A}}^{t}],
\tag{1}
\]

其中 \(x_{\mathcal{U}}\) 是用户的输入(即指令),\(x_{\mathcal{A}}\) 是智能体的响应。在任意轮次 \(t+1\),智能体的输出 \(x_{\mathcal{A}}^{t+1}\) 依赖于用户输入 \(x_{\mathcal{U}}^{t+1}\) 和历史上下文 \(H^{t}\):

\[
x_{\mathcal{A}}^{t+1} = LLM

相似文章

超越压缩:面向长周期智能体的结构化上下文驱逐

arXiv cs.CL

介绍了上下文窗口生命周期(CWL),这是一种面向长周期LLM智能体的结构化上下文驱逐方案,通过基于依赖图驱逐内容来维持有效无界的工作视野,避免了基于摘要的压缩和最近截断的局限性。

长时段LLM智能体服务的并行上下文压缩

arXiv cs.AI

介绍了用于长时间范围LLM智能体的并行上下文压缩,实现了对摘要量的细粒度控制,并相比多个骨干模型上的顺序同步压缩,降低了端到端延迟。