Optimization
Claude Code 上下文管理教程
管理 Claude Code 上下文窗口、长会话、项目记忆、压缩和交接,避免任务漂移。
上下文管理的目标很简单:让 Claude Code 始终看见当前任务、相关文件、已做决策和验证步骤,同时把旧讨论和无关细节移出当前会话。
快速结论
稳定项目规则放进 CLAUDE.md;长会话使用 /compact;切换任务或线程时写一段短交接。不要把整个仓库都粘进聊天里,而是让 Claude Code 检查具体文件,并只总结当前任务需要的内容。
| 问题 | 更好的处理方式 |
|---|---|
| Claude 开始忘记任务目标 | 重申目标、文件和成功标准。 |
| 会话太长 | 使用 /compact 或写短交接摘要。 |
| 新任务和当前任务无关 | 开新会话,并提供聚焦 brief。 |
| Claude 总忘项目规则 | 把长期规则放进 CLAUDE.md。 |
| 仓库很大 | 先要求输出文件地图,再决定是否编辑。 |
哪些内容应该留在上下文里
活跃上下文要窄:
- 当前目标和约束。
- 已检查文件,以及为什么相关。
- 已确认的决策。
- 用来验证结果的命令。
- 不能忽略的风险。
旧讨论、已放弃方案、无关日志和已完成实现细节,都应该移出当前会话。
先做文件地图
大型代码库里,先让 Claude Code 梳理相关区域:
请找出 user onboarding 相关文件,返回路由、UI 组件、server actions、数据库写入、测试和风险假设。不要编辑文件。再缩小到具体改动:
基于上面的文件地图,提出增加“公司名称必填”步骤的最小安全改动。这样可以避免会话里塞入大量无关文件。
用 CLAUDE.md 保存长期记忆
长期规则放进 CLAUDE.md:
## Working Rules
- Public content pages live in `content/pages`.
- Tutorial documentation lives in `content/docs`.
- Preserve existing SEO URLs unless a redirect is explicitly planned.
- After content changes, run `npm run build`.不要把 CLAUDE.md 当临时草稿,也不要写入密钥、隐私数据或单次任务的全部细节。
长会话使用 Compact
当会话里已经有大量探索、日志或失败尝试时,继续之前先压缩上下文:
/compact压缩后,让 Claude Code 复述当前状态:
继续之前,请总结当前目标、已改文件、剩余步骤和仍在运行的命令。这一步可以及时发现任务漂移。
交接模板
切换线程或新开会话时,可以用这个格式:
Current objective:
- Migrate existing tutorial URLs without changing public routes.
Already done:
- Added nested MDX page support.
- Rebuilt the pricing, FAQ, MCP, and troubleshooting clusters.
Current constraints:
- Preserve `/en`, `/zh`, and `/tutorial/*` where possible.
- Do not modify auth, payment, or template services.
Next step:
- Review high-traffic docs pages for outdated claims and update official sources.
Verification:
- Run `npm run build`.
- Check key URLs with `curl -I`.常见上下文问题
- Claude Code 还不知道相关文件,就开始让它实现。
- 一个长会话里混入多个无关任务。
- 已经放弃的旧方案仍留在活跃上下文里。
- 没有交接摘要,却假设 Claude Code 会记得另一个线程的工作。
- 文件变化后,还继续沿用旧计划。
相关页面
官方来源
下一步:方向修正 - 当 Claude Code 开始偏离目标时及时拉回来。