什么是 上下文压缩(Context Compression)?
上下文压缩(Context Compression)是在不丢失任务关键信息的前提下,减少发送给 LLM 的上下文数量。
工作原理
上下文压缩用于原始上下文过长、成本过高、噪声过多或结构不适合直接放入模型请求的场景。它可以摘要对话历史,抽取相关片段,删除重复证据,压缩 RAG 检索分块,或把文档改写成结构化笔记。压缩不是单纯追求更短:它必须保留答案所需的事实、限制条件、引用来源和反例。工程上应特别关注可追溯性,因为被压缩掉的细节可能正是判断答案是否正确的关键证据。
主要特点
- 减少提示词长度,同时尽量保留任务相关信息
- 可使用摘要、抽取、过滤、去重或结构化改写
- 做得好时能改善上下文预算、延迟、成本和注意力集中度
- 如果删除证据、引用或限制条件,可能削弱事实锚定
- 用于 RAG 时应保留原始来源、段落编号或偏移信息
常见用途
- 在新一轮请求前压缩长对话历史
- 把 RAG 检索分块压缩成带来源的证据笔记
- 删除提示词中的重复或低价值上下文
- 只抽取合同审查所需的相关条款
- 在保持答案质量的同时降低 prompt token 成本
示例
loading...
Loading code...常见问题
上下文压缩等同于摘要吗?
不等同。摘要是一种方法,上下文压缩还可以包括抽取、过滤、去重、排序和结构化改写。
上下文压缩最大的风险是什么?
最大的风险是误删证据、限制条件、少数意见、权限信息或引用细节,导致模型给出看似流畅但缺乏依据的回答。
如何评估上下文压缩是否可靠?
应同时评估答案质量、证据召回、引用忠实度、token 节省比例,以及是否保留回溯到原始来源的能力。
什么时候应该压缩上下文?
当原始上下文超过预算、引入噪声、增加延迟,或把关键证据埋在长提示词中时,就应该考虑压缩。