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