目录
- 上下文压缩机制
- Headroom 的作用
- 压缩 vs 新对话:优势对比
- 常用命令指南
- 最佳实践
1. 上下文压缩机制
什么是上下文压缩?
Claude Code 的上下文窗口有限(约 200K tokens)。当对话变长时,系统会自动或手动压缩历史消息,保留关键信息的同时释放空间。
压缩触发条件
| 触发方式 |
说明 |
| 自动压缩 |
上下文使用超过 ~80% 时自动触发 |
| 手动压缩 |
使用 /compact 命令主动压缩 |
| 带指令压缩 |
/compact <提示词> 按指定重点压缩 |
压缩后保留的内容
- 当前任务的目标和进度
- 关键决策和结论
- 文件路径和代码位置
- 用户的偏好和指令
压缩丢失的内容
- 中间推理过程
- 详细的工具调用历史
- 完整的文件内容
- 早期的讨论细节
2. Headroom 的作用
什么是 Headroom?
Headroom 指上下文窗口中预留的空闲空间,用于:
- 接收新的工具调用结果
- 处理大型文件读取
- 执行复杂推理
- 避免频繁压缩
Headroom 工作原理
┌─────────────────────────────────────────┐
│ 上下文窗口 (200K) │
├─────────────────────────────────────────┤
│ 已用空间 (对话历史 + 工具结果) │
│ ████████████████████████████ │
├─────────────────────────────────────────┤
│ Headroom (预留空间) │
│ ░░░░░░░░░░ │
└─────────────────────────────────────────┘
当已用空间过大 → 触发压缩 → 释放 Headroom
Headroom 配置建议
| 场景 |
建议 Headroom |
| 简单问答 |
20-30% |
| 代码开发 |
30-40% |
| 大型重构 |
40-50% |
| 多文件分析 |
50%+ |
3. 压缩 vs 新对话:优势对比
对比表
| 维度 |
上下文压缩 (/compact) |
新对话 (/clear 或重启) |
| 保留任务上下文 |
✅ 保留关键信息 |
❌ 完全丢失 |
| 释放空间效果 |
⚠️ 中等 (约 30-50%) |
✅ 完全释放 (100%) |
| 速度 |
✅ 快速 |
⚠️ 需重新加载环境 |
| 连贯性 |
✅ 保持连贯 |
❌ 需重新描述 |
| 适合场景 |
长对话中的阶段性清理 |
任务切换、全新任务 |
| 指令保留 |
✅ 保留 CLAUDE.md 指令 |
✅ 重新加载 |
| 工具状态 |
⚠️ 部分保留 |
❌ 重置 |
选择决策树
需要释放上下文空间?
│
├─ 任务还在进行中?
│ ├─ 是 → 使用 /compact
│ └─ 否 → 考虑 /clear 或新对话
│
├─ 想保留对话历史?
│ ├─ 是 → /compact [可选提示词]
│ └─ 否 → /clear
│
└─ 切换到完全不同的任务?
├─ 是 → /clear 或新对话
└─ 否 → /compact
使用场景推荐
使用 /compact 的场景
/compact
/compact 保留用户认证模块的实现细节
/compact 保留发现的问题和修复建议
使用新对话的场景
/clear
/clear
4. 常用命令指南
会话管理命令
| 命令 |
功能 |
示例 |
/clear |
清除对话历史,开始新对话 |
/clear |
/compact |
压缩上下文,保留关键信息 |
/compact |
/compact <提示> |
带指令的压缩 |
/compact 保留API设计决策 |
/cost |
查看当前会话的 token 使用情况 |
/cost |
工具与模式命令
| 命令 |
功能 |
示例 |
/help |
显示帮助信息 |
/help |
/fast |
切换快速模式 (使用 Opus 加速) |
/fast |
/plan |
进入计划模式 |
/plan |
/model |
切换模型 |
/model sonnet |
/permissions |
查看权限设置 |
/permissions |
文件操作命令
| 命令 |
功能 |
示例 |
/init |
初始化项目配置 (CLAUDE.md) |
/init |
/memory |
编辑记忆文件 |
/memory |
/review |
代码审查 |
/review |
调试与开发命令
| 命令 |
功能 |
示例 |
/tasks |
查看后台任务 |
/tasks |
/workflows |
查看工作流状态 |
/workflows |
快捷键
| 快捷键 |
功能 |
Ctrl+C |
取消当前操作 |
Ctrl+D |
退出 Claude Code |
Option+T / Alt+T |
切换扩展思考 |
Ctrl+O |
显示思考输出 (verbose) |
!command |
在会话中运行 shell 命令 |
5. 最佳实践
上下文管理策略
1. 分阶段压缩
/compact 保留需求分析结论和架构决策
/compact 保留设计方案和接口定义
/compact 保留当前实现进度和已知问题
2. 任务分解与对话管理
大型任务
├── 子任务1 → 专门对话 → 完成后 /clear
├── 子任务2 → 专门对话 → 完成后 /clear
└── 子任务3 → 专门对话 → 完成后 /clear
3. 配合 CLAUDE.md 使用
# CLAUDE.md 示例
## 项目上下文
- 项目类型: React + TypeScript
- 包管理: pnpm
- 测试框架: Vitest
## 当前任务
- 实现用户认证模块
## 重要决策
- 使用 JWT 而非 session
- 密码使用 bcrypt 加密
避免常见问题
问题1: 上下文溢出
/compact
问题2: 重要信息被压缩丢失
/compact 保留数据库 schema 设计和 API 端点列表
问题3: 对话混乱
/clear
工作流示例
完整功能开发流程
/clear
请帮我实现用户注册功能
... (多轮对话) ...
/compact 保留设计决策和接口定义
... (写代码、测试) ...
/compact 保留当前实现进度
... (收尾工作) ...
/clear
Bug 修复流程
我发现了一个登录 bug
... (调查过程) ...
/compact 保留 bug 根因和修复方案
... (修改代码) ...
... (测试) ...
/clear
附录: 快速参考卡
┌────────────────────────────────────────────┐
│ Claude Code 上下文管理速查 │
├────────────────────────────────────────────┤
│ /compact - 压缩上下文 │
│ /compact <提示> - 带指令压缩 │
│ /clear - 清除对话历史 │
│ /cost - 查看 token 使用 │
│ /fast - 切换快速模式 │
│ /help - 帮助信息 │
│ /memory - 编辑记忆 │
│ /model - 切换模型 │
│ /plan - 计划模式 │
│ /review - 代码审查 │
├────────────────────────────────────────────┤
│ Alt+T - 扩展思考开关 │
│ Ctrl+C - 取消操作 │
│ Ctrl+D - 退出 │
│ !cmd - 运行 shell 命令 │
└────────────────────────────────────────────┘
所有评论(0)