## 1、/clear 和  /compact
选择核心取决于当前任务是否结束以及是否需要保留历史上下文记忆。

### 快速决策标准
- 用 `/compact`：任务进行中，但对话过长导致 token 紧张或模型开始“遗忘”。目的是瘦身，保留关键结论、文件路径和当前状态，丢弃调试噪音 。
- 用 `/clear`：任务彻底结束，或即将切换到完全无关的新任务。目的是重置，清空所有历史干扰，从零开始新会话 。

### 详细场景对比

| 维度 | `/compact` (压缩) | `/clear` (清空) |
| :--- | :--- | :--- |
| 本质 | 有损压缩：将历史对话总结为摘要，嵌入上下文 | 硬重置：删除所有对话历史，开启全新会话 |
| 保留信息 | 关键决策、修改过的文件路径、当前假设、验收标准 | 无（仅保留 CLAUDE.md 等配置文件） |
| 适用时机 | 上下文占用达 60-70%；完成子任务需清理噪音；模型出现重复错误前 | 切换全新功能模块；当前思路已彻底走偏无法挽救；开始完全独立的新需求 |
| 风险 | 可能丢失细节（如临时约束、SSH 信息），需主动指定保留内容 | 丢失所有上下文，需手动重新提供背景信息 |
| Token 成本 | 需消耗 token 生成摘要，但后续交互成本降低 | 操作免费，后续交互成本最低（无历史负担） |

### 最佳实践建议
1. 主动压缩优于被动触发：不要等到上下文爆满再操作。在阶段性工作完成后（如一个模块写完），主动执行 `/compact 保留当前架构决策和修改文件列表`，质量远高于自动触发 。
2. 两次纠正法则：如果同一错误纠正两次后模型仍犯同样问题，说明上下文路径已污染，此时应 `/clear` 并粘贴简要背景重开，而非继续纠缠 。
3. 混合使用：长周期项目中，子任务间用 `/compact` 衔接，大版本迭代或跨模块开发时用 `/clear` 隔离上下文 。

## 2 /loop
`/loop` 是 Claude Code 的会话级定时任务指令，用于让 AI 按设定时间间隔自动重复执行特定操作（如监控构建、检查部署），无需人工持续盯守。该任务依赖当前终端会话存活，关闭即失效，最长持续 3 天。

### 核心用法格式
- 基础语法：`/loop <时间间隔> <要执行的任务描述>`
- 时间间隔单位：`s`（秒，向上取整至分钟）、`m`（分钟）、`h`（小时）、`d`（天）。最小有效间隔为 1 分钟。
- 位置灵活：时间间隔可前置或后置，也支持自然语言（如 `every 2 hours`）。
- 不写间隔：若省略时间，默认每 10 分钟 执行一次，或由 Claude 根据任务性质智能调整。

### 常用示例
- ` /loop 5m check if the deployment is finished and tell me the result`（每 5 分钟检查部署状态）
- ` /loop 1h run npm test and summarize failures`（每小时运行测试并汇总失败项）
- ` /loop 20m /review-pr 123`（每 20 分钟自动审查指定 PR，可嵌套其他斜杠命令）
- ` /loop check CI status`（不指定间隔，默认 10 分钟执行一次）

### 关键限制与注意事项
- 会话绑定：任务仅在 Claude Code 终端会话运行时有效，关闭终端或退出会话后任务立即停止。
- 自动过期：周期性任务创建 3 天后自动过期 并自删，无法跨重启持久化。
- 执行逻辑：若触发时 Claude 正忙，任务会排队等待当前响应结束后执行一次，不会补跑多次错过的周期。
- 资源消耗：每次循环均调用模型，需明确设置停止条件（如“成功后停止”），避免无限循环消耗 Token。
- 任务管理：可通过自然语言询问“列出所有定时任务”查看 Job ID，或使用“取消任务 <JobID>"终止特定任务。

### 适用场景建议
- ✅ 适合：短期开发过程中的临时监控（如等 CI 结果、盯部署进度）、定时巡检。
- ❌ 不适合：需要长期无人值守、跨会话持久运行的自动化任务（此类场景建议使用 GitHub Actions 或 Desktop 版持久化调度）。