Skip to content

智能体上下文压缩

智能体上下文压缩,是用结构化检查点替换较早的对话历史,同时保留模型继续工作所需的近期消息。它不是简单截断,而是一次可持久化、可观测的运行时状态转换。

五阶段机制

  1. 估算:优先使用模型供应商返回的 token 用量,并为下一次回答和工具输出预留空间。
  2. 选择切点:从最近消息向前回溯,在合法的用户或助手消息边界切分。
  3. 生成摘要:保存目标、进展、关键决定、待办事项和相关文件。
  4. 重建上下文:用压缩检查点替换旧历史,再拼接保留的近期消息。
  5. 记录结果:输出压缩前后 token、触发原因、摘要数量、保留数量和异常信息。

切点不能把工具调用和工具结果拆开,否则重建后的对话协议会失去语义完整性。

运行时位置

自动压缩适合发生在一个回合结束后、下一次模型请求前。手动压缩可以复用同一实现,只改变触发方式。压缩检查点应进入智能体会话持久化,恢复会话时再作为明确的摘要消息注入。

设计原则

  • 未知上下文窗口大小时,不要凭猜测触发阈值压缩。
  • 保留近期消息尾部以及关键决定、约束和文件信息。
  • 压缩失败时保留现有上下文,并通过事件暴露异常。
  • 测试多轮重复压缩后,早期关键约束是否仍然存在。
  • 把压缩率、失败率和触发原因纳入可观测性。

上下文压缩牺牲逐字证据换取可用容量,因此应与长上下文失效模式上下文工程智能体成本控制一起设计。

持续记录 AI、产品、工程与个人实践之间的连接。