Context Compression

别名:上下文压缩 / 检索压缩

把检索到的 Top-N 片段压缩成更少 token:抽取、摘要、去重、截断,减少噪声和成本。

更新于 2026/11/08
RAG上下文压缩

一句话定义

Context Compression 是在检索之后、生成之前,把 Top-N 片段压缩成更少 token:抽取关键句、摘要、去重、按相关性截断,只保留回答问题需要的证据。

为什么需要它

检索多了不等于信息多:无关片段会稀释重点、增加成本,还可能触发“中间遗忘”。压缩能减少 token、噪声和延迟,让模型更聚焦。

怎么工作

  • 抽取:只保留与问题相关的句子/段落。
  • 摘要:把多个片段合成更短的摘要,适合全局问题。
  • 去重:合并重复/近重复片段。
  • 截断/重排:按相关性排序后保留预算内的内容。
  • 预算控制:按模型上下文和成本设定 token 上限。

压缩粒度可以是句子、段落或整个片段;抽取式更忠实,生成式摘要更省但更容易失真。评估要看答案质量、忠实度、压缩率和延迟,做压缩前后的 A/B。压缩后仍要保留引用定位;长上下文模型也不等于不用压缩,噪声和成本仍在。顺序通常是先重排、再压缩。压缩率不是唯一指标,先测再调。

Context Compression:压缩检索结果再进上下文

关键取舍

  • 压缩减少 token 和噪声,但可能丢细节或引入摘要错误。
  • 抽取式压缩更忠实,摘要式更省但更容易失真。
  • 压缩本身要花模型调用/算力,低延迟场景要权衡。
  • 压缩后仍要保留来源,方便引用和复核。

常见误区

  • 压缩越多越好:过度压缩会丢关键证据。
  • 摘要等于压缩:摘要可能改写事实,抽取更保守。
  • 压缩能替代重排:先排准,再压缩,顺序很重要。
  • 压缩后不用评估:要看忠实度和答案质量。

用在哪里

  • 长文档/多文档 RAG。
  • 上下文窗口有限、成本敏感的服务。
  • 检索结果噪声大、重复多的知识库。

相关概念

  • RAG:压缩所在的上层流程。
  • Reranker:先精排,再压缩。
  • Chunking:块粒度影响压缩难度。