← 返回 2026-08-10

相关但不完整:硬提示压缩中的指代悬空失效模式 Relevant but Incomplete: Referential Dangling as a Paradigm-Level Failure Mode in Hard Prompt Compression

Zhengpei Hu, Kai Li, Dapeng Fu, Xuechao Zou, Yuanhao Tang, Yue Li, Tengfei Cao, Jianqiang Huang 📅 2026-08-05 👍 13 2026-08-15 18:30
上下文压缩 多跳问答 大语言模型推理 指代悬空 提示压缩 证据依赖

硬提示压缩会独立打分切断证据依赖,保留答案却删除其支撑桥梁,导致范式级失效。

前置知识

硬提示压缩(Hard Prompt Compression)

在大模型推理前对输入文本进行物理裁剪的一类方法。它把上下文切分为 token、句子或 chunk 等候选单元,给每个单元打一个重要性分数(如自信息量、困惑度、嵌入相似度、注意力权重、学习型分类器分数),然后在 token 预算 $\tau$ 内贪心或动态规划地保留得分最高的单元,输出一段缩短后的自然语言文本 $\tilde{C}$ 送给下游模型。代表方法有 LLMLingua、Selective-Context、Beaver、PartPrompt、DAC 等。

本文研究的失效模式正是硬压缩独有:因为它要在源文本里做取舍,才可能切分相互依赖的证据对。软压缩(gist token、KV cache 压缩)不产生可见文本,不存在同样形式的指代悬空,所以读懂本文必须先分清硬压缩与软压缩。

多跳问答(Multi-hop QA)

需要把分散在多篇文档或多个段落里的证据片段串起来才能回答的问题。例如问『Tim DuBois 出生在哪个县』,必须先找到『他出生在 Southwest City』(桥接事实),再找到『Southwest City 属于 McDonald County』(答案事实),二者缺一不可。HotpotQA、2WikiMultiHopQA、MuSiQue 是三个标准数据集,通常带有人工标注的支撑段落(supporting paragraphs)。

多跳 QA 是检测指代悬空最理想的试验场:桥接事实和答案事实天然构成依赖对,一旦压缩器保留答案事实却删除桥接事实,推理链就断了。论文所有核心实验都在这三个数据集上展开。

加性选择目标(Additive Selection Objective)

绝大多数硬压缩器最终的选片规则可以抽象为:在候选片段集合 $\mathcal{F}=\{x_1,\dots,x_n\}$ 中求解 $K \in \arg\max_{S\subseteq\mathcal{F},\, \mathrm{cost}(S)\le\tau} \sum_{x\in S} u(x)$,即每个片段独立贡献一个标量效用 $u(x)$,总效用是各项之和,约束是 token 总预算。无论 $u$ 来自嵌入相似度、困惑度还是注意力,最终选择器都遵循这种『分数相加、预算受限』的模板。

本文的命题 1 正是针对这个加性目标:它证明加性目标里没有任何交互项强制『保留片段时同时保留解释它所需的支撑文本』,因此即使在同一预算下存在完整替代方案,加性选择仍可能产出悬空结果。这是全文理论根基。

指代消解与桥接推理(Anaphora & Bridging)

自然语言里『他』『该公司』『该城市』这类表达必须回溯到前文某个实体才能理解。指代消解(coreference resolution)识别这种链接;桥接推理则更进一步,例如前文说『Tim DuBois 出生在 Southwest City』,后文说『Southwest City 属于 McDonald County』,回答时要把这两句通过 Southwest City 这个桥接实体串联。抽取式摘要领域早就用『照应约束(anaphoricity constraints)』保证代词和它的先行词一起被抽取。

本文把摘要领域的这条思路迁移到提示压缩,指出硬压缩继承了选择问题却没有继承约束,这正是『范式级失效』命名的由来。

Beaver 压缩器

本文实验的主力压缩器,来自 Hu et al. 2026。它把文档切成 64-token 的页(page),用查询嵌入与每页的 TF-IDF 加权 token 嵌入做余弦相似度打分,然后选 top-k 页凑满目标压缩比。它输出的是连贯的多句块(coherent block),便于在句子边界做受控插入,所以论文的重选实验和自动恢复实验都以 Beaver 为载体。论文还做了 5 个对比压缩器:PartPrompt(句法树)、Selective-Context(自信息量)、LLMLingua-2(训练型 token 分类器)、DAC(注意力)、LongLLMLingua(困惑度)。

Beaver 是论文正面案例(dangling 率最低 32.1%),也是后续修复方案的实验平台,理解它的输出粒度才能理解为什么修复实验只在它上做。

研究动机

前沿大模型的上下文窗口已扩展到百万 token 量级,但长上下文依然昂贵:自注意力的二次复杂度推高 prefill 延迟,且模型会在远离边界处『迷失中间』。硬提示压缩用独立打分 + 预算内保留高分片段缓解这一矛盾,几乎成为标配。然而作者发现:这种独立选择会人为撕裂相互依赖的证据对。在 $r=0.30$ 压缩比下,Beaver 在 HotpotQA、2WikiMultiHopQA、MuSiQue 上分别让 34.2%、53.5%、54.2% 的桥接样本出现『答案段落被保留、定义段落被删掉』的悬空,人工审计精度 95%。这种失效不局限于一个方法——6 种主流压缩器在共享 HotpotQA 桥接集上悬空率从 32.1% 飙到 59.8%,LongBench-v2 单文档问答 80 篇文档每一篇都至少含一处悬空指代。Figure 1 的 Tim DuBois 案例一针见血:压缩器保留『Tim DuBois』和『Southwest City 属于 McDonald County』,却删掉桥接句『他出生在 Southwest City』,答案字符串表面还在,推理链却已断裂。

本文的目标是作者给自己定了三件事。第一,把这种『相关但不完整』的现象形式化为『指代悬空(referential dangling)』,给出严格定义并从加性选择目标出发证明它为何必然发生(命题 1)。第二,跨压缩器、跨压缩比、跨数据集、跨文档长度系统量化悬空的普遍程度,并验证它不是某个实现或某种打分信号的偶然产物。第三,回答两个工程问题:(a)在固定预算下换一种选片方式能否挽回精度损失?(b)能否在不使用支撑段落标注的前提下,自动把缺失的桥接句补回去?最终目标是为硬压缩社区立一个新准则:压缩器必须同时优化相关性与指代完整性。这一目标贯穿了论文的诊断、重选实验与自动恢复方法三个阶段。

与已有工作不同的是,本文的独特切入角度有三层。第一,它把悬空视为范式级(paradigm-level)而非方法级问题:不同于以往对比研究只比较各方法在下游任务的精度差异,作者直接形式化所有硬压缩器共享的加性选择目标,并用命题 1 证明该目标里没有任何项强制联合保留片段及其解释支撑——这是先有理论、后有实验的逻辑。第二,它区分了『原文里有支撑』和『压缩后还保留支撑』这两个概念,引入 query 相关的充分性条件 $\mathrm{Suff}_{C,Q}(s,D)$ 和极小充分支撑族 $\mathcal{D}_{C,Q}(s)$,这正是共指消解(在完整文档上找链接)和本文(判断保留子集是否仍可解释)的根本区别。第三,它把抽取式摘要里 2016 年就建立的照应约束(Durrett et al.)重新拉回视野,指出 RAG 即使用答案支持度打分,也无法保证被选中的段落删掉定义后仍可解释——填补了『压缩—检索—摘要』三者交叉处的研究空白。

核心方法

论文整体思路是『先证明、再诊断、再修复』三段式。直觉上:压缩器按片段独立打分,但片段的可解释性是联合属性——一个句子的意思可能依赖前文的定义、先行词或桥接事实,而这些恰恰可能被独立删除。技术路线因此分三步:(1)形式化层,把上下文 $C$、查询 $Q$、预算 $\tau$、抽取式压缩器 $f$、极小充分支撑族 $\mathcal{D}_{C,Q}(s)$ 写清楚,定义悬空为 $\exists s\in R\cap T_{C,Q},\ \forall D\in\mathcal{D}_{C,Q}(s),\ D\not\subseteq R$,再用加性目标 $K\in\arg\max\sum u(x)$ 证明它无法保证完整性。(2)诊断层,用方向性内容词覆盖度 $\mathrm{cov}(v,A)$ 配阈值 $\theta=0.5$ 近似判定悬空,在 Beaver 和 5 个对比压缩器上量化概率。(3)修复层,先用标注引导的固定预算重选证明『换种选法就能涨点』,再训一个 BERT 分类器做无标注的自动恢复。三段层层递进,从『这是问题』到『问题多大』再到『怎么补』。

核心创新有四点,与已有方法的本质区别也很清晰。其一,命题 1 给出存在性证明:设 $\mathcal{F}=\{x,d,z\}$ 三块等价、$\tau=2m$、$T_{C,Q}=\{x\}$、$\mathcal{D}_{C,Q}(x)=\{\{d\}\}$,只要 $u(x)>u(z)>u(d)\ge 0$,加性最大化器就唯一选 $\{x,z\}$ 而悬空,即便 $\{x,d\}$ 同预算且完整——这就把『失效』从经验现象抬到必然性论证。其二,测量协议用方向性内容词覆盖度同时适配 token/句子/chunk 三种粒度(token 输出按源句重组),跨粒度可比。其三,自动恢复分类器输入只有『保留句 + 候选句 + 问题』,不依赖任何压缩器内部状态,为跨压缩器迁移留出空间。其四,把抽取式摘要的照应约束(Durrett, Berg-Kirkpatrick, Klein 2016)明确点名为缺失的那块拼图,而非自创一套全新范式——这使得论文的定位非常诚实且可验证。

方法步骤详情

诊断步骤(Section 4):对 Beaver 在 $r=0.30$ 下输出,逐桥接样本判断答案段落满足 $\mathrm{Keep}_\theta$ 而定义段落不满足,得悬空率 $\rho_d$;$\rho_e$ 是所有标注证据段都被保留的比例。跨压缩器步骤:6 个压缩器在同一 184 例 HotpotQA 桥接集上各压到 $r=0.30$,按句子级 $\mathrm{Keep}_{0.5}$ 统一评判,用 Jaccard 比较失效样本集。固定预算重选(Section 5):定义 Base(原始悬空输出)、Reselected(插回被删标注支撑段,按孤立项分数删等量非支撑段使预算不增)、Full support(保留两个标注支撑段作上界),悬空子集用 Qwen3-8B 评测并用 McNemar 检验。自动恢复(Section 6):候选生成器从被删文本收集首次提及句;bert-base-uncased 分类器对(保留句,候选句,问题)排序,正样本是共享实体且为标注支撑句的对;推理时把分数最高的 $K=3$ 个候选按源序插回。整个流程只在 Beaver 连贯块上做,因只有块边界能干净插入整句。

技术新颖性

技术新颖性集中在三点。第一是理论侧的命题 1:它不是泛泛地说『压缩会丢信息』,而是精确刻画了『加性目标缺交互项』这一结构缺陷,并用三片段反例给出最简洁的证明,使后续所有经验发现都有了归因锚点。第二是测量协议的可移植性:方向性内容词覆盖度配合 max-over-output-units 的归一,让 token 级(如 LLMLingua-2)和 chunk 级(如 Beaver)的输出能在同一指标下比较,附录 A 还做了 $\theta\in[0.3,0.7]$ 的扫描证明排序稳定。第三是修复方案的设计哲学:它故意把分类器与压缩器解耦——分类器不看压缩器分数也不看压缩器身份,只看『保留句 + 候选句 + 问题』,这既是优点(可迁移)也是局限(附录 H 显示迁移到 token 级输出时增益不显著),论文对此坦诚披露。此外,区分『原文支撑』与『压缩后保留的支撑』这一概念切割,是相对共指消解、RAG、faithfulness 评估等邻近工作的关键差异。

实验结果

实验分四块。普遍性(Table 1):Beaver 在 $r=0.30$ 下三数据集悬空率 $\rho_d$ 为 HotpotQA 34.2%、2Wiki 53.5%、MuSiQue 54.2%。跨压缩器(Figure 3):6 个压缩器悬空率 32.1%(Beaver)到 59.8%(LongLLMLingua),查询访问本身不能消除失效。失效重叠(Table 2):两两 Jaccard 均值 0.38,仅 5.4% 样本在 6 个压缩器下都悬空而 95% 在至少一个下悬空,不同方法失效在不同样本上。长文档(Table 8):LongBench-v2 80 篇文档全部含悬空。重选实验(Table 3):Qwen3-8B 上 Reselected 相对 Base 提升 28.8–34.3 点(均 $p<10^{-4}$),恢复 Full support 差距的 88%–92%。Full support 对照:4 个开源模型提升 8.0–9.0 点($p<0.01$);GPT-5.5 在 HotpotQA 上 0 差异但在 MuSiQue 上 +8.8 点($p=0.011$),GLM-5.2 暴涨 24.2 点($p=2.4\times10^{-7}$)。自动恢复(Table 10):Qwen3-8B +4.7 点($p=0.022$),压缩比仅 0.30→0.31;随机加等量句只 +2.0 点,证明增益来自内容选择。反直觉发现(Figure 4):被删定义句均值百分位 92.8%,证明悬空是结构性而非打分问题。

Referential dangling and complete evidence retention under Beaver at r = 0.30.
Table 1: Referential dangling and complete evidence retention under Beaver at r = 0.30.
Pairwise Jaccard similarities between dangling case sets.
Table 2: Pairwise Jaccard similarities between dangling case sets.
Answer accuracy with base contexts produced by Beaver at target compression ratio 0.30.
Table 3: Answer accuracy with base contexts produced by Beaver at target compression ratio 0.30.
Answer accuracy of proprietary models under Base and Full support.
Table 4: Answer accuracy of proprietary models under Base and Full support.
Changes in answer accuracy for candidate sources with a fixed classifier.
Table 5: Changes in answer accuracy for candidate sources with a fixed classifier.
Referential dangling on LongBench-v2 Single-Document QA by subdomain.
Table 8: Referential dangling on LongBench-v2 Single-Document QA by subdomain.
Matched addition control on HotpotQA with Qwen3-8B.
Table 12: Matched addition control on HotpotQA with Qwen3-8B.
Transfer of one restoration configuration across four compressor outputs.
Table 13: Transfer of one restoration configuration across four compressor outputs.
Referential dangling under Beaver across three conditions.
Figure 2: Referential dangling under Beaver across three conditions.
Dangling rates for six compressors on the shared HotpotQA bridge set.
Figure 3: Dangling rates for six compressors on the shared HotpotQA bridge set.
Mean salience percentiles for answer and definition sentences.
Figure 4: Mean salience percentiles for answer and definition sentences.
Accuracy gains from full support and first-mention automatic restoration.
Figure 7: Accuracy gains from full support and first-mention automatic restoration.
查看结构化数据
任务指标本文基线提升
HotpotQA 桥接样本悬空检测(Beaver, r=0.30) 悬空率 ρd 34.2%(人工审计精度 95%) 首次量化该失效模式
MuSiQue 桥接样本悬空检测(Beaver, r=0.30) 悬空率 ρd 54.2%(三数据集最高) 证明失效随跳数增加而加剧
6 个压缩器在共享 HotpotQA 桥接集悬空率(r=0.30) 句子级 Keep_0.5 悬空率 32.1%–59.8% Beaver 32.1%(最低) 证明失效跨打分信号普遍存在
固定预算重选(HotpotQA 悬空子集, Qwen3-8B) 答案准确率 Base 0.287 → Reselected 0.575 Base 0.287 +28.8 点(p=1.6e-6),恢复 92% 差距
固定预算重选(MuSiQue 悬空子集, Qwen3-8B) 答案准确率 Base 0.147 → Reselected 0.490 Base 0.147 +34.3 点(p=3.1e-8),反超 Full support 1.9 点
Full support 对照(HotpotQA 200 例, Qwen3-8B) 答案准确率 Base 0.535 → Full support 0.615 Base 0.535 +8.0 点(p=0.001)
Full support 对照(MuSiQue 悬空子集, GPT-5.5) 答案准确率 Base 0.775 → Full support 0.863 Base 0.775 +8.8 点(p=0.011),强模型也无法吸收损失
Full support 对照(MuSiQue 悬空子集, GLM-5.2) 答案准确率 Base 0.695 → Full support 0.937 Base 0.695 +24.2 点(p=2.4e-7)
自动上下文恢复(HotpotQA 300 例, Qwen3-8B, K=3) 答案准确率 Base 0.567 → Restored 0.613 Base 0.567 +4.7 点(p=0.022),压缩比 0.30→0.31
自动恢复迁移(Mistral-7B, HotpotQA) 答案准确率 Base 0.455 → Restored 0.520 Base 0.455 +6.5 点(p=0.012)

局限与改进

作者自己承认几条局限。第一,命题 1 只是存在性结果,不保证每个压缩上下文都会悬空,也不保证完整替代方案总能塞进同一预算,论文对此非常克制。第二,测量协议用方向性内容词覆盖度近似式 (1) 而非精确评测,95% 精度是统计估计而非真值,也不枚举所有替代支撑路径。第三,固定预算重选依赖人工标注的支撑段落,无法直接用于推理时。第四,自动恢复在 Beaver + HotpotQA 上校准,迁移到其他压缩器输出(PartPrompt +3.2 点 p=0.30、Selective-Context +1.0 点 p=0.80、LLMLingua-2 +1.0 点 p=0.75,见 Table 13)增益小且不显著,Llama-3.1-8B 上 1.3–2.3 点也不显著。我自己观察的额外局限:论文只评测了多跳 QA 和 LongBench-v2 单文档 QA,未涵盖代码生成、长摘要、对话等场景;分类器只看三元组(保留句、候选句、问题),没有利用压缩器分数、文档图结构或实体链接;全文没提出端到端把约束嵌进选择目标的新压缩器,自动恢复只是事后补丁。

独立分析的弱点

第一个弱点是迁移性差:自动恢复在 Beaver 上 +4.7 点,迁到 token 级的 LLMLingua-2 只剩 +1.0 点(p=0.75),原因是分类器在 Beaver 连贯块分布上训练,token 级输出把句子打碎后插入整句会扰乱原选择目标。改进方向:为每种输出粒度单独训分类器,或先归一化把 token 输出重组为句子再恢复。第二个弱点是候选生成受限:Table 5 显示把标注支撑句直接塞进候选集时增益从 +4.7 跳到 +8.0 点(p=0.008),瓶颈在『找对候选』而非『判对分数』;改进方向是引入实体链接、共指消解、跨段 embedding 检索增强候选召回。第三个弱点是任务覆盖窄:只在 QA 上验证,未涉及代码(函数定义—调用)、摘要(事实链)、对话(指代跟踪)等悬空更隐蔽场景。第四个弱点是缺少端到端方案:诊断和修复分离,未提出把命题 1 的约束直接加进 $\arg\max$ 目标的可微分松弛或 ILP 求解器。第五个弱点是评测依赖标注:重选用了 supporting paragraph 标注,自动恢复虽不依赖标注但增益明显小于重选上界,差距说明自动方案还有很大提升空间。

未来方向

作者明确点名的方向是『dependency-preserving selection』——把照应约束(Durrett et al. 2016 的做法)真正嵌进硬压缩的选择目标,并承认『迁移到 Beaver 和标注支撑 QA 之外仍未解决』。基于成果可延伸的方向至少有四条:(1)把命题 1 的存在性结果加强为可计算的充要条件,或给出悬空率关于预算 $\tau$ 和片段数 $n$ 的紧上界,让压缩器在选片前就能预估风险;(2)设计端到端可微的依赖感知压缩器,比如把 $\mathrm{Suff}_{C,Q}$ 用一个轻量判别器近似,作为拉格朗日惩罚项加入加性目标;(3)扩展到代码、摘要、对话任务,刻画『函数定义—调用』『事实—结论』『代词—先行词』等不同形态的悬空,并构建相应基准;(4)把自动恢复从句子级扩展到任意 span,结合共指图做整图修复,而不是单点补句。长期看,这套诊断框架(方向性内容词覆盖度 + 重选上界 + 分类器恢复)本身可以成为评估任何抽取式压缩器的标准体检工具。

复现评估

复现度整体较高。代码与结果已在 cslikai.cn/Referential-Dangling 开源。6 个压缩器全部使用官方实现与公开 checkpoint,Table 9 列出所有确切 ID。下游开源模型 Qwen3-4B/8B、Llama-3.1-8B、Mistral-7B 均公开,GPT-5.5、GLM-5.2 需 API。数据集 HotpotQA、2WikiMultiHopQA、MuSiQue、LongBench-v2 全部公开。恢复分类器细节完整:bert-base-uncased 约 110M 参数,训练对 7565 条(40% 正)来自 HotpotQA 训练集且与评测不相交,dev F1 0.82。硬件门槛适中,单卡 A100 80GB 可跑。统计检验用双精确 McNemar,置信区间用 bootstrap。主要不可复现点是 GPT-5.5/GLM-5.2 闭源 API 可能漂移。整体难度中等,1–2 周可复现核心实验。