直接答案
上下文是 Claude Code 最关键的有限资源;会话组织和成本管理本质上都在控制进入上下文的信息。
这篇内容解决什么问题
帮助用户在长任务中保持质量、可恢复性和可预测的 token 消耗。
把上下文窗口当作任务预算
会话中的消息、Claude 读取的文件、命令输出、工具定义和系统指令都会进入上下文。调试日志或无边界仓库探索很快消耗预算,窗口变满后模型更容易遗漏早期约束。
最有效的优化不是把提示词压缩成暗号,而是减少无关文件、重复日志、闲置 MCP 工具和不相关历史。
在质量下降前主动清理或压缩
/context 帮助查看当前加载内容。无关任务之间使用 /clear;同一长任务需要保留决策时使用 /compact 并明确要保留的事实。自动压缩不是无限记忆。
快速旁支问题可以使用不进入主历史的侧问功能(若当前版本提供),或开新会话处理。不要让一次短查询污染数小时的实现上下文。
/context
/compact 保留接口决策、修改文件、失败原因和下一步验证
/clear像管理分支一样管理会话
用 /rename 给长期工作命名;claude --continue 继续当前目录最近会话,claude --resume 默认选择当前 worktree 的历史会话,并可在选择器中扩展范围。恢复后先核对工作树。
不同目标使用不同会话。需要从旧思路尝试新路径时,可以分支会话而不是破坏原有上下文。
claude --continue
claude --resume/rename oauth-migration用检查点回退,但仍以 Git 兜底
每次用户提示会形成检查点,可用 /rewind 恢复对话、Claude 编辑工具产生的文件,或从选定位置总结。适合快速试验不同方案。
通过 Bash、外部脚本或其他应用产生的修改可能不在检查点内。重要任务在独立分支工作,提交前检查 diff,不能把 rewind 当作版本控制。
/rewind
# 回到 shell 后核对
git status --short
git diff从上下文、模型和工具三处控制成本
使用 /usage 查看当前可用的用量信息。选择满足任务质量的模型,减少无关 MCP 服务,把偶尔使用的详细规则从 CLAUDE.md 移到 Skills,并让子代理消化高噪声调查。
子代理减少主会话污染但不会让 token 免费;并行代理和 agent team 会叠加消耗。先估算任务是否真正可并行,再决定数量。
- 用具体提示减少反复纠正。
- 限制日志长度,优先抓取错误附近片段。
- 关闭当前任务不需要的 MCP 服务。
- 只在复杂调查或独立复核时使用子代理。
/usage理解提示缓存,而不是手工猜命中
Claude Code 自动管理提示缓存。切换模型或 effort 会使前缀失效;只有包含 MCP server 的插件,并且工具定义被前置加载时,相关变化通常才影响完整缓存。
编辑仓库文件通常不会直接破坏缓存前缀。会话中途修改 CLAUDE.md 后可使用 /clear、/compact 或新会话触发重新加载,再用 /context 验证。
官方来源与核验范围
本文以公开官方文档为事实依据;命令和配置可能随客户端版本变化,执行前请同时核对对应来源。
查看技术核验方法