什么是压缩
压缩将较旧的聊天历史总结为紧凑的摘要条目,同时保持最近的消息完整。当会话历史接近模型的上下文窗口限制时,压缩可以帮助保持长期对话。
工作原理
- 自动压缩在接近窗口限制时触发
- 手动压缩使用
/compact命令 - 上下文窗口大小因模型而异
- 压缩持久化在 JSONL 文件中
- 修剪仅在内存中修剪工具结果
使用场景
- 对于陈旧的会话,使用
/compact压缩历史 - 对于全新开始,使用
/new或/reset
配置
压缩行为可以通过以下配置调整:
{
agents: {
defaults: {
compactionReserveTokens: 2000, // 为压缩保留的令牌数
autoCompact: true // 启用自动压缩
}
}
}
压缩与修剪的区别
- 压缩:将旧消息总结为摘要并持久化到会话文件
- 修剪:仅在内存中临时删除详细的工具结果,不影响磁盘上的会话
提示
压缩是管理长期会话的重要功能。定期使用
/compact 可以保持会话性能,同时保留重要的上下文信息。