strategic-compact
在合适的时机压缩上下文,避免信息丢失。
评分明细
适用场景
strategic-compact 快速入门
在上下文快要溢出之前,优雅地”瘦身”,既不丢信息,也不浪费 Token。
这是什么?解决什么问题?
AI 编程助手(Claude Code、OpenCode、Cursor)都有一个绕不开的硬限制:上下文窗口。当一段长对话、几份源码、若干 PDF 全部塞进去之后,模型会越来越慢,也越来越容易”忘记”早期信息,这就是常说的”上下文腐烂”。
strategic-compact 是 affaan-m/everything-claude-code 仓库中提供的一个工程方法型 Skill,它不直接生成代码,而是教 AI 在正确的时机、用正确的方式去主动压缩上下文。它会判断当前对话里哪些内容是核心,哪些可以总结成索引,哪些可以丢掉,从而在保持任务连续性的同时,把上下文占用往下压。
对于做长链路开发(比如一次性跑多文件重构、跨服务的调试、整本技术书的翻译)的同学来说,它可以避免”对话讲到第 50 轮,模型突然失忆”的尴尬,也直接降低 API 调用成本。
准备工作
- 已安装 Claude Code、OpenCode 或 Cursor 任一支持 SKILL.md 的客户端
- Node.js ≥ 18(用于某些自动化钩子,本教程不强制)
- 一个 GitHub 账号,能正常
git clone公网仓库 - 建议先准备一份”长对话”作为测试样本(下文会给)
3 步快速上手
第 1 步:把 Skill 装到本地
打开终端,挑一个稳定的目录(例如 ~/skills/),拉取仓库并定位到 strategic-compact:
mkdir -p ~/skills && cd ~/skills
git clone https://github.com/affaan-m/everything-claude-code.git
ls everything-claude-code/skills | grep strategic-compact
确认能看到 strategic-compact 目录后,把它软链到你的 agent skills 目录。Claude Code 的默认路径是 ~/.claude/skills/:
ln -s ~/skills/everything-claude-code/skills/strategic-compact ~/.claude/skills/strategic-compact
OpenCode 用户请放到 ~/.config/opencode/skills/,Cursor 用户放到 ~/.cursor/skills/(目录不存在就先 mkdir -p)。
第 2 步:验证 Skill 已加载
重启你的客户端,然后在对话里问一句:
/skills list
如果输出里能看到 strategic-compact,就说明安装成功。如果列表为空,九成是软链路径没指对,检查一下 ~/.claude/skills/strategic-compact/SKILL.md 这个文件是否真实存在。
第 3 步:用 Skill 跑第一个任务
准备一段”故意撑长”的对话:把一个开源项目(比如一个 200 行左右的 Python 脚本)直接整段贴进对话,加上 3-4 轮”帮我加注释/改个函数名/重构成类”的修改请求。等上下文明显变长(客户端顶部 token 数显示 60% 以上)时,触发:
/strategic-compact
观察 AI 的行为:它应当先列出”准备保留/准备总结/准备丢弃”三档内容,再执行压缩,最后给出一份”上下文压缩报告”,里面包含关键信息的位置索引。完成之后,接着让它执行一个早期提到过的需求,看它能不能准确还原——这就是对压缩质量的实际验收。
常见踩坑
- 软链指向了错误的 SKILL.md:
everything-claude-code仓库下有多个 Skill 子目录,确认链的是strategic-compact/SKILL.md,不是skills/strategic-compact的上一级。 - 客户端没重启:多数 agent 在启动时一次性加载 skill 索引,改完软链必须重启,否则
/skills list仍显示旧列表。 - 太早触发:上下文才到 20% 就去压缩,AI 会”无料可压”反而输出空话,建议在 60%-80% 区间触发。
- 太晚触发:已经到了 95% 再压缩,关键信息已经被截断,这时候压什么都不完整。养成看顶部 token 进度条的习惯。
- 没读”压缩报告”:
strategic-compact不是无脑丢弃,它会在压缩后给一份索引(类似 TODO 列表),忽略这份索引,等于白压。 - 手动删除历史当替代:直接
delete消息可能把工具调用结果、文件 diff 一起丢,不如让 Skill 帮你做有结构的保留。
初级用法
- 半路插一刀:在长任务的中段手动
/strategic-compact,把当前成果做个”中转”,再继续推进。 - 配合 plan 模式:Claude Code 的 plan 模式下,先
/strategic-compact再/plan,能让计划阶段拿到一份”清爽”的上下文,推理更稳。
高级玩法
- 接 Hook 自动触发:在
~/.claude/settings.json里配置 PreCompact 钩子,让 token 用量达到 75% 时自动调用 Skill,完全不用手敲命令。 - 多 Skill 协同:把
strategic-compact和tdd、diagnose串起来用,先压上下文,再让 diagnose 排错,TDD 写测试,可以稳定推进一个大型 refactor。 - 自定义保留策略:把
SKILL.md里priority_keywords改成本项目的高频术语,这样压缩时这些词永远不被总结,只被原样保留。
小技巧
- 压缩前先
cat出当前 SKILL.md 看一眼,有时候作者会更新保留规则。 - 配合
claude --resume一起用,压缩后立刻resume加载”压缩后上下文”,体验最顺。 - 如果你的客户端支持
/compact原生命令,把它和strategic-compact对比一下,后者通常更结构化。 - 任务收尾时也跑一次
/strategic-compact,把项目脉络打成索引,下次开新会话时直接喂索引就能接着干。 - 不要在压缩后立刻连续触发,留 1-2 轮让模型”消化”再压下一刀。
常见问题 FAQ
Q1: 这个 Skill 跟 strategic-compact 有什么关系?必须装吗?
A: Skill 是给 AI Agent 用的”技能包”,能告诉 Agent 怎么按特定规范工作。不是必须装——如果你的项目规模小、要求不高,不装也能用。但装上能让 Agent 输出的质量更高、更符合最佳实践,推荐装。
Q2: 这个 Skill 适合哪些 AI Agent?Cursor?Claude Code?其他?
A: strategic-compact 来自 community,主要面向支持 Skill 机制的 Agent。常见兼容 Agent 包括 Claude Code、Cursor、OpenCode、Windsurf 等。具体兼容性请查 Skill 官方文档。
Q3: 装了这个 Skill 后,会拖慢 Agent 响应吗?
A: 会的——Skill 通常会增加 prompt 长度,导致响应变慢、token 消耗增加。但质量提升明显。建议:1) 只装项目必需的 Skill;2) 用 Skill 启动/加载/卸载机制按需加载;3) 定期清理不用的 Skill。
Q4: 怎么验证 Skill 装对了?
A: 在 Agent 中输入”列出已加载的 Skill”或类似命令。如果 Skill 出现在列表里,说明装对了。然后用 Skill 跑一个相关任务,看输出是否符合 Skill 规范。
Q5: 这个 Skill 有许可证吗?能商用吗?
A: 取决于 strategic-compact 的许可证。常见许可证包括 MIT(完全自由)、Apache-2.0(自由但有专利条款)、源可用(可看不能用)、GPL(强开源)。商用前请查仓库 LICENSE 文件。
参考链接
- 仓库主页:https://github.com/affaan-m/everything-claude-code
- Claude Code Skills 文档:https://docs.claude.com/en/docs/claude-code/skills
- OpenCode 官方介绍:https://opencode.ai/docs/skills
- Anthropic Skills 合集:https://github.com/anthropics/skills
- 相关 Skill 索引:https://github.com/JackyST0/awesome-agent-skills
本文基于官方文档和公开资料整理,AI辅助生成,MagicNetWorld 尚未完成独立实测。如有错误或过时信息,请通过 contact@magicnetworld.com 反馈。
strategic-compact Skill 多维度简评
类别:工程方法 来源:affaanm/everything-claude-code 定位:战略性上下文压缩,在关键节点主动执行压缩,避免上下文窗口耗尽。
注意:本文基于官方文档和公开资料整理,未经过 MagicNetWorld 实测。
一、核心定位与价值
Claude Code 的上下文窗口有限(200K tokens),在长时间编码会话中,累计的代码读取、工具调用和对话历史会逐渐占满上下文。strategic-compact 是一个上下文管理 Skill,指导 Agent 在关键节点主动触发压缩,保留最重要的信息,丢弃冗余细节。
核心价值:主动管理上下文窗口,在长会话中保持 Agent 的连贯性和响应质量。
二、核心能力清单
| 能力 | 说明 |
|---|---|
| 节点触发策略 | 在关键节点(如完成一个子任务后、开始新任务前)主动压缩 |
| 关键信息保留 | 压缩时保留项目结构、当前任务目标、已完成的决策和重要代码片段 |
| 可逆性设计 | 压缩后的摘要保留引用,必要时可以回溯到原始细节 |
| 长任务管理 | 适用于跨越多轮交互的复杂开发任务 |
三、上下文压缩原理
Claude Code 的上下文压缩采用分层策略:
- 第一层 - 裁剪工具输出:对较长工具的输出结果进行截断(如只保留大文件的前几百行)
- 第二层 - 摘要生成:将历史对话压缩为结构化摘要,保留任务进度、关键决策和当前状态
- 第三层 - 完整回退:在必要时清空大部分历史,仅保留最核心的上下文
Community 观察表明,Claude Code 默认在上下文使用达到约 75% 时触发自动压缩,保留约 25% 的空间供模型推理使用。
四、使用场景
- 长会话开发:持续数小时的大型功能开发,需要多轮交互
- 多文件重构:需要读取和修改大量文件的场景
- 调试排查:需要来回查看多个文件、日志和堆栈跟踪的复杂调试
- 阶段性总结:完成一个里程碑后主动压缩,为下一阶段释放空间
五、安装与配置
# npx 安装
npx skills add affaanm/everything-claude-code --skill strategic-compact
六、总结
strategic-compact 解决的是 Agent 编码中的一个核心痛点:长会话中的上下文枯竭。通过预先设定压缩节点和保留策略,它让 Agent 在长达数小时的工作中保持专注和高质量输出。
适用人群:经常进行长会话开发的技术 Lead、架构师,以及需要 Agent 处理大型代码库的开发者。
参考资料
- GitHub: affaan-m/everything-claude-code — GitHub 仓库
- Claude World - Context Compaction — 技术教程
- Anthropic Best Practices - Context Management — 官方最佳实践
- Codex Knowledge Base - Context Compaction Deep Dive — 技术深度分析
- Agent Skills 开放规范 — 标准规范
快速安装
mkdir -p ~/skills && cd ~/skills
git clone https://github.com/affaan-m/everything-claude-code.git
ls everything-claude-code/skills | grep strategic-compact ln -s ~/skills/everything-claude-code/skills/strategic-compact ~/.claude/skills/strategic-compact