Appearance
一句话总结:上下文膨胀靠"源头减量 → 滑动窗口 → 摘要压缩 → 上下文折叠 → 自动压缩"五级策略治理;核心原则是压缩不是"删聊天记录",而是"生成任务交接单"——保留能继续执行任务的状态(目标/进度/约束)。
膨胀源在哪(先找病根)
| 膨胀源 | 说明 |
|---|---|
| 工具输出 | read 大文件、bash 一大坨日志——绝对大头 |
| 对话历史 | 多轮累积 |
| 检索片段 | RAG 拉回的 chunks |
| 工具定义 | 工具越多定义越长 |
| 常驻信息 | 系统提示/项目说明 |
五级压缩策略(从便宜到贵)
| 级别 | 策略 | 原理 | 代价 |
|---|---|---|---|
| 1 | 源头减量 | 不让它进来:工具输出截断/摘要 | 可能丢细节 |
| 2 | 滑动窗口 | 只保留最近 N 轮 | 丢早期信息 |
| 3 | 摘要压缩 | LLM 当秘书,每 N 轮/token 达阈值把早期对话浓缩成要点 | 摘要质量依赖 LLM |
| 4 | 上下文折叠 | 空间占满前主动把漫长历史重构成精炼报告,保留核心结论 | 重构有损 |
| 5 | 自动压缩 | 终极保底:临时窗口生成结构化摘要,防程序崩溃 | 兜底方案 |
关键原则(面试拉分点)
- 压缩 = 生成任务交接单,不是删聊天记录:保留项目目标、当前进度、关键约束
- 普通摘要只答"前面聊了什么",任务交接单答"现在该干什么、干到哪了、不能碰什么"
生产模式:文件外置 + 索引卡片
- 完整文件暂存本地磁盘,消息里只留元数据索引卡片
- 模型需要细节时,拿着索引去读本地文件(按需加载)
- 决策永久冻结:文件首次进入历史时就决定"保留完整 or 压缩卡片",后续绝不二次修改——避免缓存失效与状态漂移
组合实战(参考案例)
- 滑动窗口(最近 8 轮)+ 摘要压缩(8 轮前)+ 外部记忆(用户画像/偏好)+ 多 Agent 上下文隔离(各子 Agent 独立上下文)
面试要点
- 能说出五级压缩策略并从便宜到贵排序
- 能解释"压缩是生成任务交接单"的核心原则
- 能讲文件外置 + 索引卡片 + 决策永久冻结的生产模式
- 能说出最大膨胀源是工具输出(不是对话)
相关概念
- AI基础概念-上下文工程原理 — 为什么要管理
- AI基础概念-上下文工程实战与Prompt缓存 — 配合缓存的工程纪律
- [AI-Agent-记忆系统](/学习笔记/AI技术/AI Agent/AI-Agent-记忆系统) — 压缩后的信息去哪
- [AI-Agent-工作流编排](/学习笔记/AI技术/AI Agent/AI-Agent-工作流编排) — 多 Agent 上下文隔离