5.11 压缩机制

什么是压缩

压缩将较旧的聊天历史总结为紧凑的摘要条目,同时保持最近的消息完整。当会话历史接近模型的上下文窗口限制时,压缩可以帮助保持长期对话。

工作原理

  • 自动压缩在接近窗口限制时触发
  • 手动压缩使用 /compact 命令
  • 上下文窗口大小因模型而异
  • 压缩持久化在 JSONL 文件中
  • 修剪仅在内存中修剪工具结果

使用场景

  • 对于陈旧的会话,使用 /compact 压缩历史
  • 对于全新开始,使用 /new/reset

配置

压缩行为可以通过以下配置调整:

{
  agents: {
    defaults: {
      compactionReserveTokens: 2000,  // 为压缩保留的令牌数
      autoCompact: true                // 启用自动压缩
    }
  }
}

压缩与修剪的区别

  • 压缩:将旧消息总结为摘要并持久化到会话文件
  • 修剪:仅在内存中临时删除详细的工具结果,不影响磁盘上的会话
提示
压缩是管理长期会话的重要功能。定期使用 /compact 可以保持会话性能,同时保留重要的上下文信息。