Claude Code 上下文压缩与新对话指南

发布时间:2026/6/26 8:47:00
Claude Code 上下文压缩与新对话指南 目录上下文压缩机制Headroom 的作用压缩 vs 新对话优势对比常用命令指南最佳实践1. 上下文压缩机制什么是上下文压缩Claude Code 的上下文窗口有限约 200K tokens。当对话变长时系统会自动或手动压缩历史消息保留关键信息的同时释放空间。压缩触发条件触发方式说明自动压缩上下文使用超过 ~80% 时自动触发手动压缩使用/compact命令主动压缩带指令压缩/compact 提示词按指定重点压缩压缩后保留的内容当前任务的目标和进度关键决策和结论文件路径和代码位置用户的偏好和指令压缩丢失的内容中间推理过程详细的工具调用历史完整的文件内容早期的讨论细节2. Headroom 的作用什么是 HeadroomHeadroom 指上下文窗口中预留的空闲空间用于接收新的工具调用结果处理大型文件读取执行复杂推理避免频繁压缩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快捷键快捷键功能CtrlC取消当前操作CtrlD退出 Claude CodeOptionT/AltT切换扩展思考CtrlO显示思考输出 (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 - 代码审查 │ ├────────────────────────────────────────────┤ │ AltT - 扩展思考开关 │ │ CtrlC - 取消操作 │ │ CtrlD - 退出 │ │!cmd - 运行 shell 命令 │ └────────────────────────────────────────────┘