mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-04-14 13:53:29 +08:00
docs(zh-CN): sync Chinese docs with latest upstream changes (#304)
* docs(zh-CN): sync Chinese docs with latest upstream changes * update --------- Co-authored-by: neo <neo.dowithless@gmail.com>
This commit is contained in:
@@ -1,12 +1,21 @@
|
||||
---
|
||||
name: strategic-compact
|
||||
description: 建议在逻辑间隔处进行手动上下文压缩,以在任务阶段中保留上下文,而非任意的自动压缩。
|
||||
description: 建议在逻辑间隔处手动压缩上下文,以在任务阶段中保留上下文,而非任意的自动压缩。
|
||||
origin: ECC
|
||||
---
|
||||
|
||||
# 战略精简技能
|
||||
|
||||
建议在你的工作流程中的战略节点手动执行 `/compact`,而不是依赖任意的自动精简。
|
||||
|
||||
## 何时激活
|
||||
|
||||
* 运行长时间会话,接近上下文限制时(200K+ tokens)
|
||||
* 处理多阶段任务时(研究 → 规划 → 实施 → 测试)
|
||||
* 在同一会话中切换不相关的任务时
|
||||
* 完成一个主要里程碑并开始新工作时
|
||||
* 当响应变慢或连贯性下降时(上下文压力)
|
||||
|
||||
## 为何采用战略精简?
|
||||
|
||||
自动精简会在任意时间点触发:
|
||||
@@ -17,17 +26,17 @@ description: 建议在逻辑间隔处进行手动上下文压缩,以在任务
|
||||
|
||||
在逻辑边界进行战略精简:
|
||||
|
||||
* **探索之后,执行之前** - 精简研究上下文,保留实施计划
|
||||
* **完成一个里程碑之后** - 为下一阶段全新开始
|
||||
* **主要上下文切换之前** - 在不同任务开始前清理探索上下文
|
||||
* **探索之后,执行之前** — 压缩研究上下文,保留实施计划
|
||||
* **完成里程碑之后** — 为下一阶段重新开始
|
||||
* **在主要上下文切换之前** — 在开始不同任务前清理探索上下文
|
||||
|
||||
## 工作原理
|
||||
|
||||
`suggest-compact.sh` 脚本在 PreToolUse(编辑/写入)时运行并执行:
|
||||
`suggest-compact.js` 脚本在 PreToolUse (Edit/Write) 时运行,并且:
|
||||
|
||||
1. **追踪工具调用** - 计算会话中的工具调用次数
|
||||
2. **阈值检测** - 在可配置的阈值(默认:50 次调用)处建议精简
|
||||
3. **定期提醒** - 在达到阈值后,每 25 次调用提醒一次
|
||||
1. **跟踪工具调用** — 统计会话中的工具调用次数
|
||||
2. **阈值检测** — 在可配置的阈值处建议压缩(默认:50次调用)
|
||||
3. **定期提醒** — 达到阈值后,每25次调用提醒一次
|
||||
|
||||
## 钩子设置
|
||||
|
||||
@@ -36,13 +45,16 @@ description: 建议在逻辑间隔处进行手动上下文压缩,以在任务
|
||||
```json
|
||||
{
|
||||
"hooks": {
|
||||
"PreToolUse": [{
|
||||
"matcher": "tool == \"Edit\" || tool == \"Write\"",
|
||||
"hooks": [{
|
||||
"type": "command",
|
||||
"command": "~/.claude/skills/strategic-compact/suggest-compact.sh"
|
||||
}]
|
||||
}]
|
||||
"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" }]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -51,16 +63,44 @@ description: 建议在逻辑间隔处进行手动上下文压缩,以在任务
|
||||
|
||||
环境变量:
|
||||
|
||||
* `COMPACT_THRESHOLD` - 首次建议前的工具调用次数(默认:50)
|
||||
* `COMPACT_THRESHOLD` — 首次建议前的工具调用次数(默认:50)
|
||||
|
||||
## 压缩决策指南
|
||||
|
||||
使用此表来决定何时压缩:
|
||||
|
||||
| 阶段转换 | 压缩? | 原因 |
|
||||
| ------------------------ | ------ | -------------------------------------------------------------------- |
|
||||
| 研究 → 规划 | 是 | 研究上下文很庞大;规划是提炼后的输出 |
|
||||
| 规划 → 实施 | 是 | 规划已保存在 TodoWrite 或文件中;释放上下文以进行编码 |
|
||||
| 实施 → 测试 | 可能 | 如果测试引用最近的代码则保留;如果要切换焦点则压缩 |
|
||||
| 调试 → 下一项功能 | 是 | 调试痕迹会污染不相关工作的上下文 |
|
||||
| 实施过程中 | 否 | 丢失变量名、文件路径和部分状态代价高昂 |
|
||||
| 尝试失败的方法之后 | 是 | 在尝试新方法之前,清理掉无效的推理过程 |
|
||||
|
||||
## 压缩后保留的内容
|
||||
|
||||
了解哪些内容会保留有助于您自信地进行压缩:
|
||||
|
||||
| 保留的内容 | 丢失的内容 |
|
||||
| ---------------------------------------- | ---------------------------------------- |
|
||||
| CLAUDE.md 指令 | 中间的推理和分析 |
|
||||
| TodoWrite 任务列表 | 您之前读取过的文件内容 |
|
||||
| 记忆文件 (`~/.claude/memory/`) | 多轮对话的上下文 |
|
||||
| Git 状态(提交、分支) | 工具调用历史和计数 |
|
||||
| 磁盘上的文件 | 口头陈述的细微用户偏好 |
|
||||
|
||||
## 最佳实践
|
||||
|
||||
1. **规划后精简** - 一旦计划确定,精简以全新开始
|
||||
2. **调试后精简** - 在继续之前,清理错误解决上下文
|
||||
3. **不要在实施中途精简** - 保留相关更改的上下文
|
||||
4. **阅读建议** - 钩子告诉你*何时*,由你决定*是否*
|
||||
1. **规划后压缩** — 一旦计划在 TodoWrite 中最终确定,就压缩以重新开始
|
||||
2. **调试后压缩** — 在继续之前,清理错误解决上下文
|
||||
3. **不要在实施过程中压缩** — 为相关更改保留上下文
|
||||
4. **阅读建议** — 钩子告诉您*何时*,您决定*是否*
|
||||
5. **压缩前写入** — 在压缩前将重要上下文保存到文件或记忆中
|
||||
6. **使用带摘要的 `/compact`** — 添加自定义消息:`/compact Focus on implementing auth middleware next`
|
||||
|
||||
## 相关
|
||||
|
||||
* [长篇指南](https://x.com/affaanmustafa/status/2014040193557471352) - 令牌优化部分
|
||||
* 内存持久化钩子 - 用于在精简后保留的状态
|
||||
* [长篇指南](https://x.com/affaanmustafa/status/2014040193557471352) — Token 优化部分
|
||||
* 记忆持久化钩子 — 用于在压缩后保留状态
|
||||
* `continuous-learning` 技能 — 在会话结束前提取模式
|
||||
|
||||
Reference in New Issue
Block a user