Strategic Compact 技能¶
不依赖任意自动压缩,而是在工作流的战略点建议手动 /compact。
为什么选择战略性压缩?¶
自动压缩会在任意点触发: - 通常在任务中途,丢失重要上下文 - 不识别任务的逻辑边界 - 可能中断复杂的多步骤操作
在逻辑边界进行战略性压缩: - 探索后、执行前 - 压缩研究上下文,保留实现计划 - 里程碑完成后 - 为下一阶段重新开始 - 主要上下文切换前 - 在开始不同任务前清除探索上下文
工作原理¶
suggest-compact.js 脚本在 PreToolUse(Edit/Write)时运行:
- 跟踪工具调用 - 统计会话中的工具调用次数
- 阈值检测 - 在可配置阈值时建议(默认:50 次)
- 定期提醒 - 阈值后每 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)
最佳实践¶
- 计划后压缩 - 计划确定后,压缩并重新开始
- 调试后压缩 - 继续前清除错误解决上下文
- 实现过程中不要压缩 - 为相关更改保留上下文
- 阅读建议 - 钩子告诉你何时,但是否执行由你决定
相关¶
- The Longform Guide - Token 优化部分
- 内存持久化钩子 - 用于在压缩之外持久化的状态
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC