跳转至

Strategic Compact 技能

不依赖任意自动压缩,而是在工作流的战略点建议手动 /compact。

为什么选择战略性压缩?

自动压缩会在任意点触发: - 通常在任务中途,丢失重要上下文 - 不识别任务的逻辑边界 - 可能中断复杂的多步骤操作

在逻辑边界进行战略性压缩: - 探索后、执行前 - 压缩研究上下文,保留实现计划 - 里程碑完成后 - 为下一阶段重新开始 - 主要上下文切换前 - 在开始不同任务前清除探索上下文

工作原理

suggest-compact.js 脚本在 PreToolUse(Edit/Write)时运行:

  1. 跟踪工具调用 - 统计会话中的工具调用次数
  2. 阈值检测 - 在可配置阈值时建议(默认:50 次)
  3. 定期提醒 - 阈值后每 25 次提醒一次

钩子配置

如果已作为插件安装:无需配置。插件的 hooks/hooks.json 已经注册了 suggest-compact.js(钩子 ID pre:edit-write:suggest-compact,在 standard 和 strict 钩子配置文件中启用)。请勿将下方代码块复制到 ~/.claude/settings.json — 插件安装中不存在 ~/.claude/scripts/,重复插件钩子会导致双重执行。

手动安装(./install.sh)时,添加到 ~/.claude/settings.json:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Edit",
        "hooks": [{ "type": "command", "command": "node ~/.claude/scripts/hooks/suggest-compact.js" }]
      },
      {
        "matcher": "Write",
        "hooks": [{ "type": "command", "command": "node ~/.claude/scripts/hooks/suggest-compact.js" }]
      }
    ]
  }
}

配置

环境变量: - COMPACT_THRESHOLD - 首次建议前的工具调用次数(默认:50)

最佳实践

  1. 计划后压缩 - 计划确定后,压缩并重新开始
  2. 调试后压缩 - 继续前清除错误解决上下文
  3. 实现过程中不要压缩 - 为相关更改保留上下文
  4. 阅读建议 - 钩子告诉你何时,但是否执行由你决定
  • The Longform Guide - Token 优化部分
  • 内存持久化钩子 - 用于在压缩之外持久化的状态

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC