上下文压缩(Context Compaction)
上下文压缩对话太长就自动压缩历史
亦作、亦称:Context Compaction · Memory Compaction · Context Compression · 上下文摘要
Agent 在对话超过上下文窗口限制时,使用小型模型将历史对话压缩为摘要,释放上下文空间以继续处理新信息的机制。2026 年 Claude Code 源码泄露揭示了其内部实现:当对话长度超过阈值时,自动触发 Memory Compaction,用轻量模型生成历史摘要。
压缩机制详解
上下文压缩的核心流程:
- 触发条件——当对话 token 数达到上下文窗口的 70-80% 时触发(Claude Code 具体阈值未公开,但泄露源码显示有自动检测机制)
- 压缩模型——使用轻量模型(如 Claude Haiku 或 GPT-4o-mini)对历史对话做摘要,保留关键信息(用户意图、已完成任务、工具调用结果、重要决策)
- 压缩策略——通常保留最近 N 轮完整对话 + 更早对话的摘要,类似操作系统的虚拟内存(活跃页面保留在内存,不活跃页面换出到磁盘)
- 注入方式——将压缩后的摘要作为 system message 或 context prefix 注入下一轮对话。关键挑战是有损压缩的信息丢失——压缩可能丢弃看似不重要但后续需要的细节。Claude Code 的解决方案是保留工具调用结果(因为这是事实性信息)而压缩推理过程(因为这可以重新推导)
Compaction vs Sub-Agents 架构之争
2026 年 Agent 架构的核心分歧是 Compaction(OpenAI 路线)vs Sub-Agents(Anthropic 路线)。Compaction 路线:保持单一 Agent,通过压缩历史延长有效上下文。优势:实现简单、保持对话连贯性、无需管理多 Agent 状态。
劣势:压缩必然丢失信息、长任务累积误差、单点故障。Sub-Agents 路线:spawn 多个子代理,每个处理子任务,有独立上下文。优势:无信息丢失、可并行处理、每个子代理专注单一目标。劣势:实现复杂、需要协调机制、子代理间信息传递有开销。
选择建议:对话型任务(客服、助手)选 Compaction——连贯性重要;复杂工程任务(代码重构、研究报告)选 Sub-Agents——并行性和信息完整性重要。Claude Code 实际上两者都用——内部既有 Memory Compaction 机制,也有 Sub-Agent 编排。
信息论视角:上下文压缩的本质
从信息论角度看,上下文压缩是对自然语言做有损压缩。Wikipedia 将 Data Compression 定义为「用更少比特编码信息的过程」,分为无损压缩(如 ZIP)和有损压缩(如 JPEG)。上下文压缩属于有损压缩——不可能完美保留所有信息,但目标是保留「语义核心」。
这与人类记忆的压缩机制类似:人类不会记住对话的每个字,但会记住关键决策和结论。好的压缩算法应该保留:(1) 事实性信息(工具返回的数据、用户明确的要求);(2) 决策链(为什么选择方案 A 而非 B);(3) 未完成状态(正在进行的任务、待确认的事项)。
可以丢弃的:(1) 冗余的中间推理;(2) 重复的确认信息;(3) 过时的临时数据。这与 lossy compression 的设计理念一致——通过丢弃感知上不重要的信息来大幅减少数据量。
常见误解
日常交流中容易听到的简化说法,未必准确,但能帮助理解误解从何而来。
- 「对话太长就自动压缩历史」
- 「Agent 的记忆压缩机制」
相关术语
和本术语关联紧密的其他词条,便于串联理解。
🎯 考点练习
含该术语的高频面试题,含标准答案与追问。
- 初级概念高频查看详解 →
什么是 AI Agent?它与大语言模型(LLM)的本质区别是什么?
AI Agent 是以 LLM 为大脑、能感知环境并自主规划、调用工具、多步执行并按反馈迭代以达成目标的系统;LLM 只是无状态的文本输入到输出函数。
- 中级系统设计查看详解 →
如何为 AI Agent 交易设计审计和权限控制?
考察候选人对 Agent 经济活动的审计和权限控制设计,特别是 Smart Tokens 等可编程支付工具的应用。
- 高级系统设计查看详解 →
Multi-Agent 系统中如何处理 Agent 遗忘/状态丢失?
考察候选人对 Multi-Agent 系统中状态管理和容错设计的理解,特别是 Agent 崩溃、重启或上下文丢失时的恢复策略。
- 高级系统设计查看详解 →
设计一个 Agent 长期记忆系统,支持可写外部记忆、过期策略和冲突解决
考察候选人对 Agent 记忆架构的理解,特别是从 RAG 只读到可写外部记忆的演进,以及过期、冲突解决等工程挑战。
外部参考
维基百科:查看「上下文压缩」词条本页内容为本站原创撰写;维基百科链接仅作延伸参考。
