跳转到内容

会话修剪

会话修剪会在每次 LLM 调用之前从上下文中修剪旧的工具结果。它减少了累积工具输出(执行结果、文件读取、搜索结果)导致的上下文膨胀,而不会影响您的对话消息。

长会话会累积导致上下文窗口膨胀的工具输出。这会增加成本,并可能迫使系统过早进行压缩

修剪对于 Anthropic 提示词缓存尤其有价值。在缓存 TTL 过期后,下一个请求会重新缓存完整的提示词。修剪减少了缓存写入的大小,从而直接降低了成本。

  1. 等待缓存 TTL 过期(默认为 5 分钟)。
  2. 查找旧的工具结果(用户和助手的消息永远不会被触动)。
  3. 软修剪(Soft-trim)过大的结果 —— 保留头部和尾部,并插入 ...
  4. 硬清除(Hard-clear)其余部分 —— 用占位符替换。
  5. 重置 TTL,以便后续请求重用新的缓存。

OpenClaw 会为 Anthropic 配置文件自动启用修剪:

配置文件类型已启用修剪心跳间隔
OAuth 或 setup-token1 小时
API 密钥30 分钟

如果您设置了显式值,OpenClaw 将不会覆盖它们。

对于非 Anthropic 提供商,默认情况下修剪是关闭的。要启用它:

{
agents: {
defaults: {
contextPruning: { mode: "cache-ttl", ttl: "5m" },
},
},
}

要禁用:请设置 mode: "off"

修剪压缩
作用修剪工具结果总结对话
是否保存?否(按请求)是(在记录中)
范围仅限工具结果整个对话

它们相辅相成 —— 修剪可以在压缩周期之间保持工具输出的精简。