Appearance
Strategic Compact Skill 是 Everything Claude Code 插件体系中专为“长会话、多阶段任务”设计的上下文管理能力。它通过在关键逻辑节点(如调研结束、计划落地、调试切换等)主动建议手动执行 /compact,避免自动压缩导致的中途中断、上下文丢失等问题。本文将详细介绍其适用场景、配置方法、使用流程、输出示例及与其他 Agent/Skill 的协作关系,帮助开发者系统性提升 AI 编程助手的上下文利用率和任务连续性。
Everything Claude Code Strategic Compact Skill:在逻辑节点手动压缩上下文防止任意位置被中断
在使用 Claude Code、Codex、Cursor 等 AI 编程助手进行长时间、多阶段协作时,最常见的痛点之一就是“上下文窗口溢出”——AI 为节省 token 自动压缩上下文,但往往选在任务中间,导致变量名、操作历史、用户偏好等关键信息丢失,影响后续推理和开发流程。Strategic Compact Skill 正是为了解决这个问题:它让上下文压缩发生在开发者可控的“逻辑节点”,而不是任意时刻,从而保障任务的连续性和上下文的完整性。
1. Strategic Compact Skill 能解决什么问题?
不用 Strategic Compact Skill 时的现象:
- 自动上下文压缩(auto-compact)常在 token 达到阈值时触发,可能正处于调试、重构、实现等关键阶段。
- 重要的推理链、变量命名、阶段性结论等信息被“无差别”丢弃,后续任务需要重复沟通或手动补充。
- 多阶段任务(如“调研→方案→实现→测试”)中,阶段边界模糊,AI 很难理解哪些内容应被保留、哪些可以清理。
- 会话响应变慢、内容变得不连贯,开发体验大打折扣。
引入 Strategic Compact Skill 后:
- 只有在“阶段切换点”或“明显的上下文压力”下,AI 才会建议你手动
/compact,并可自定义压缩摘要。 - 你可以在调研结束、计划落地、调试完成等节点,主动决定哪些内容需要保留,哪些可以清理。
- 重要的文件、任务列表、项目指令等关键上下文被优先保留,避免丢失。
- 整体会话上下文更加有序,AI 响应更快、更准确,任务连续性显著提升。
2. 何时激活 Strategic Compact Skill?
建议在以下典型场景激活本 Skill:
- 长会话、token 累积接近上限(如 200K+ tokens)时,避免自动压缩打断任务。
- 多阶段任务切换,如“调研→方案”、“方案→实现”、“调试→下一个功能”。
- 同一会话内切换不同任务,如临时插入 Bug 修复或需求变更。
- 完成一个里程碑后,准备开启新阶段。
- 发现 AI 响应变慢或内容不连贯,初步判断为上下文压力过大时。
3. 如何配置与启用 Strategic Compact Skill?
只需几步即可集成到你的 Claude Code 工作流:
步骤 1:Hook 配置
在 ~/.claude/settings.json 文件中添加如下内容,将 Strategic Compact Skill 挂载到 PreToolUse 阶段:
json
{
"hooks": {
"PreToolUse": [
{
"matcher": "Edit",
"hooks": [{ "type": "command", "command": "node ~/.claude/skills/strategic-compact/suggest-compact.js" }]
},
{
"matcher": "Write",
"hooks": [{ "type": "command", "command": "node ~/.claude/skills/strategic-compact/suggest-compact.js" }]
}
]
}
}这样,每次你执行 Edit 或 Write 操作前,系统都会自动统计本会话的 tool 调用次数,并在达到阈值时给出“是否压缩”的建议。
步骤 2:自定义参数(可选)
COMPACT_THRESHOLD:首次建议压缩的 tool 调用次数(默认 50),可通过环境变量调整。- 建议根据实际会话长度和任务复杂度灵活设置。
步骤 3:实际使用流程
正常开发,如调研、规划、编码、测试等,AI 会自动统计你的操作次数。
达到阈值(如 50 次 tool 调用)时,系统会在控制台输出如下提示:
[StrategicCompact] 50 tool calls reached - consider /compact if transitioning phases后续每 25 次,再次提醒你考虑压缩:
[StrategicCompact] 75 tool calls - good checkpoint for /compact if context is stale你可以选择:
- 直接执行
/compact,并可附加摘要,如/compact Focus on implementing auth middleware next - 先将重要内容写入文件、TodoWrite 或 memory,再执行压缩,确保关键信息不会丢失。
- 直接执行
压缩后,会话上下文清爽,进入下一个任务阶段。
输出示例
假设你刚完成调研,准备进入实现阶段,系统会提示:
[StrategicCompact] 50 tool calls reached - consider /compact if transitioning phases你可以输入:
/compact 只保留方案和 TodoWrite,准备进入实现阶段AI 会自动清理调研过程中的冗余上下文,仅保留方案和任务列表。
4. 压缩决策指南:何时该压缩、何时不该?
| 阶段切换 | 是否建议压缩 | 原因说明 |
|---|---|---|
| 调研 → 方案 | 是 | 调研内容已沉淀为方案,冗余可清理 |
| 方案 → 实现 | 是 | 方案已存档,释放 token 给代码上下文 |
| 实现 → 测试 | 视情况而定 | 若测试需引用最新代码,暂不压缩 |
| 调试 → 下一个功能 | 是 | 调试日志无关新功能,建议清理 |
| 实现中途 | 否 | 变量名、路径等上下文丢失影响开发 |
| 失败方案 → 新尝试 | 是 | 清理死胡同推理,避免污染新思路 |
5. 什么内容会在压缩后保留?什么会丢失?
| 保留内容 | 丢失内容 |
|---|---|
| CLAUDE.md 项目指令 | 多轮推理、阶段性分析 |
| TodoWrite 任务列表 | 之前读取的文件内容 |
| memory 文件(~/.claude/memory/) | 多步对话上下文 |
| Git 状态(分支、commit) | tool 调用历史、计数器 |
| 磁盘文件 | 用户口头偏好、细节说明 |
最佳实践:压缩前将“需要长期保留的信息”写入文件、memory 或 TodoWrite,避免丢失。
6. 与其他 Agent/Skill 的协作关系
- 与 token-optimizer Skill 配合:自动分析 token 占用,主动建议压缩或精简上下文。
- 与 continuous-learning Skill 搭配:在会话结束前提取可复用模式,压缩后不会丢失知识沉淀。
- 与 context-budget Skill 协同:实时审计上下文占用,辅助决策压缩时机。
- 与 verification-loop 等多阶段 Agent:每个阶段结束后压缩,保障验证链条的独立性和可追溯性。
更多高阶用法可参考 Claude Code 高级技巧:Token 优化、记忆持久化、并行化与验证循环。
7. Token 优化与上下文管理模式
- Trigger-Table Lazy Loading:仅在触发关键词时加载相关 Skill,显著降低初始 token 占用(如“test”自动加载 tdd-workflow)。
- 上下文组成监控:关注 CLAUDE.md、已加载 Skill、对话历史、工具结果等占用,定期精简。
- 重复指令检测:避免 rules、Skill、CLAUDE.md 多处重复,合并优化。
- 自动化工具:如
token-optimizerMCP、context-mode虚拟化等,配合手动压缩效果更佳。
FAQ
Q: Strategic Compact Skill 会自动帮我压缩上下文吗? A: 不会。它只会在合适节点主动提醒,由你决定是否执行 /compact,并可附加摘要。
Q: 压缩后会丢失哪些信息? A: 多轮推理、阶段性分析、临时文件内容等会被清理。项目指令、任务列表、memory、Git 状态和磁盘文件会保留。
Q: 适合所有类型的项目和会话吗? A: 特别适合长会话、多阶段任务和需要频繁上下文切换的场景。短会话、一次性任务则无需频繁压缩。