模块七 · 记忆 · 第 2 页
上下文压缩:四层防线
拖动滑块模拟对话增长 → 观察压缩如何延长上下文寿命
模型上下文窗口 = 256K Token
安全空间 = 200K(预留 56K 给模型回复)
60% 裁剪
75% 微压缩
85% 折叠
95% 紧急
安全上限
累计产出 0K
当前上下文 0K / 200K
已压缩节省 0K
对话开始持续对话 →
四层压缩策略 安全区间
第一层 · 裁剪 Snip 120K(60%) -36K
删掉早期工具返回的超长原始数据,只保留摘要。用户完全无感
压缩前
天气 API 返回 1200 Token 的 JSON:未来 7 天逐小时预报……
压缩后
工具摘要:北京明日多云 12-20°C(80 Token)
第二层 · 微压缩 MicroCompact 150K(75%) -50K
把早期的长对话生成简短摘要替换。轻微信息损失,关键信息保留。
压缩前
第 3 轮:"那个文件不是 PDF 格式的,我需要 Word 版本,标题改成……"
压缩后
摘要:用户要求 Word 格式、改标题、调配色
第三层 · 折叠 Collapse 170K(85%) -80K
将多轮早期对话折叠成一条摘要消息。细节丢失,但主线保留。
压缩前
第 1-8 轮(12 条消息,4200 Token):讨论需求、确认方案、修改三次……
压缩后
会话摘要:React + TS 项目,当前修改报表页(350 Token)
第四层 · 紧急压缩 AutoCompact 190K(95%) -110K
全面压缩:只保留 system + 全局摘要 + 最近 3 轮。明显信息损失,但避免崩溃。
压缩前
20 轮完整对话(38 条消息,18000 Token)
压缩后
system + 摘要 + 最近 3 轮(2500 Token)
📌 设计决策:拖动滑块观察:没有压缩的话,200K 的上下文只够一次长对话。有了四层压缩,同样的窗口可以支撑 5 倍以上的对话量。
Takeaway 模型窗口 256K,安全空间 200K。四层压缩像防洪堤——每次快满时自动泄洪降水位,让同一个窗口承载远超 200K 的对话量。直到真的删无可删,才会超限。