上下文压缩与记忆分层

笔记/AI编程/Agent Harness工程/上下文压缩与记忆分层

背景与动机#

Agent 会话越长,上下文越容易膨胀。上下文压缩的目的不是简单删内容,而是保留任务继续执行所需的关键事实。

真正重要的是:压缩后 Agent 还能不能知道目标、边界、已确认决定和当前状态。

img
img

记忆分层#

可以分成四层:

系统规则:工具和平台层约束
项目规则:仓库里的长期规则
会话决定:本轮用户已确认的选择
临时细节:当前排查过程中的中间信息

压缩时优先保留前三层,临时细节只保留和当前任务直接相关的部分。

当前会话决定清单#

长任务里建议维护:

  • 当前目标。
  • 本轮只做什么。
  • 明确不要做什么。
  • 已确认风格。
  • 用户纠正过的误区。
  • 已修改文件。
  • 验证命令和结果。
  • 剩余风险。

这份清单比完整聊天记录更适合交接。

什么应该进入长期记忆#

适合:

  • 项目固定编码规则。
  • 常用命令。
  • 目录规范。
  • 长期有效的用户偏好。

不适合:

  • 一次性任务要求。
  • 尚未验证的 Bug 猜测。
  • 临时绕过方案。
  • 当前分支特有的中间状态。

压缩后的恢复步骤#

上下文压缩后,Agent 应该先做:

读取当前决定清单
检查工作区状态
确认最后一次验证结果
继续未完成的最小任务

不要压缩后重新自由推断需求。

常见陷阱#

  • 压缩只保留结论,不保留边界。
  • 把临时判断写入长期记忆。
  • 上下文恢复后重新开始规划,丢失用户已确认决定。
  • 只记录改了什么,不记录为什么改。

四分类记忆的实战理解#

可以按稳定性理解:

事实记忆:项目使用 Astro、内容在 src/content/notes。
偏好记忆:用户希望简洁直接、不要额外扩展。
流程记忆:修改前先读规则、修改后跑校验。
经验记忆:某类错误之前如何排查。

越稳定、越可复用,越适合沉淀;越临时、越不确定,越应该留在当前会话里。

生图提示词#

建议插入在 ## 记忆分层 前面。

文件名建议:image/06-context-compression-memory-01.png

插入 Markdown:

![上下文压缩与记忆分层](image/06-context-compression-memory-01.png)

生图提示词:

画一张上下文压缩与记忆分层示意图,浅色背景。左侧是长会话上下文,包含聊天记录、工具结果、用户决定、临时猜测;中间是压缩器,筛选出关键状态;右侧是压缩后的决定清单:目标、边界、已确认规则、修改文件、验证结果、剩余风险。底部画四类记忆:事实、偏好、流程、经验。中文标签清楚,技术教学风格。

一句话总结#

上下文压缩的目标是保留可继续执行的决策状态,而不是保存完整聊天历史。

文章目录

文章目录