Skip to content

如何通过上下文压缩优化 AI Agent 的长对话记忆

解决 AI Agent 在长对话中超出 Token 窗口或因信息过载而“失忆”的问题,通过将优化目标从“单次请求 Token 数”转向“完成任务总 Token 数”,实现高效的上下文管理。

为什么需要这个技能

当 AI Agent 处理复杂任务(如大型代码库维护)时,对话历史会迅速堆积至数百万 Token。简单的截断或激进压缩会导致 AI 丢失关键信息(如已修改的文件路径、之前的决策理由),迫使 AI 重新读取文件或重复尝试错误路径,反而增加了总 Token 消耗。

本技能的核心在于结构化保留:通过预设的模版强制 AI 在压缩时必须填充特定维度,防止关键技术细节在多次压缩循环中被静默删除。

适用场景

  • Agent 对话记录超出模型上下文窗口限制时。
  • 处理超大规模代码库(5M+ Tokens),无法一次性读入所有上下文。
  • 发现 Agent 在长会话中开始“忘记”之前修改过哪些文件或采取了什么方案。
  • 需要设计可量化的对话摘要策略以降低成本。

核心工作流

1. 选择压缩策略

根据需求在三种模式中选择:

  • 锚定迭代汇总 (Anchored Iterative):维护一个结构化摘要,仅对新截断的部分进行汇总并合并。质量最高,最适合编程场景。
  • 不透明压缩 (Opaque):追求极高压缩比(99%+),但不可读,无法验证保留了什么。
  • 全量重新生成 (Regenerative):每次触发时重新生成全量摘要,易在多次循环后丢失细节。

2. 构建结构化摘要模版

使用明确的章节强制 AI 保留关键信息,例如:

markdown
## 任务意图
[用户尝试实现的目标]

## 已修改文件
- path/to/file.ts: 修复了 XXX bug
- config/redis.ts: 更新了连接池配置

## 已做决策
- 决定使用 Redis 连接池而非单次请求连接,以提高并发性能

## 当前状态
- 14 个测试通过,2 个失败(mock 模块问题)

## 后续步骤
1. 修复剩余测试失败项
2. 运行全量测试套件

3. 实施三阶段工作流

针对超大项目,建议将流程分为三个阶段进行压缩:

  • 研究阶段:将架构图、文档压缩为一份结构化分析文档。
  • 规划阶段:将研究结果转换为包含函数签名、类型定义的实现方案(将 5M Token 压缩至 2000 字)。
  • 执行阶段:AI 仅根据方案执行,不再频繁回溯原始代码库。

4. 质量评估(探针法)

不要使用文本相似度,而应通过向 AI 提问来测试压缩效果:

  • 召回测试:“原始错误信息是什么?”
  • 产出物测试:“我们修改了哪些文件?”
  • 决策测试:“关于 Redis 问题的最终决定是什么?”

下载和安装

下载 context-compression 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐