教程

Claude Code 上下文窗口管理完全指南:防止 Token 浪费的 7 个核心策略

Claude Code 上下文管理完整指南:7 个核心策略——主动 /compact(70% 时机)、一 Session 一任务、.claudeignore 源头控制、临时 Markdown 文件传递上下文、Subagent 隔离探索、Plan Mode 减少探索消耗、精炼 CLAUDE.md。按优先级排序,附优先级矩阵。

2026/4/216分钟 阅读ClaudeEagle

Claude Code 大多数问题的根源只有一个:上下文窗口装满了。装满后,性能下降、响应变慢、开始犯之前不会犯的错误。官方文档直接说:"大多数最佳实践都围绕一个约束——上下文窗口填满得很快。"

这篇文章把所有上下文管理策略整理清楚。


上下文窗口里装了什么

每次 Claude Code Session,上下文包含:

  • 所有对话历史(你的输入 + Claude 的回复)
  • Claude 读取过的每一个文件的内容
  • 每一条执行命令的输出
  • CLAUDE.md 和所有规则文件

这些全都在同一个 Token 预算里。一个 Session 做的事越多、读的文件越多,留给实际任务的空间就越少。


策略 1:主动压缩,不要等到崩溃

错误做法:等到 Claude Code 开始表现异常再处理 正确做法:在 70% 时主动压缩

识别需要压缩的信号

  • 响应明显变慢
  • Claude Code 开始重复之前说过的话
  • 开始犯简单的错误(之前不会犯的)
  • /context 命令显示使用率超过 70%

两种压缩命令

bash
# 通用压缩(保留关键信息,删除冗余历史)
/compact

# 定向压缩(明确保留什么)
/compact 保留:auth 模块的实现状态、当前未解决的 bug 列表、下一步计划
         删除:之前的代码探索过程和已完成的任务记录

定向压缩比通用压缩效果好得多。明确告诉 Claude Code 什么值得保留。


策略 2:一个 Session 只做一件事

违反直觉但非常有效。

即使你有 5 件事要做,也用 5 个 Session(或用 /clear 清空后开始下一个)。

原因:多任务 Session 的问题不只是上下文装满,而是不同任务的中间信息相互干扰,导致每个任务的质量都下降。

bash
# 做完任务 1
/clear

# 开始任务 2(干净的上下文)

例外:如果任务 2 依赖任务 1 的输出,用 /compact 而不是 /clear(保留任务 1 的结论,删除过程)。


策略 3:用 .claudeignore 在源头控制

上下文管理最有效的方式是在 Claude Code 读文件之前就排除掉不需要的文件。

.claudeignore 的关键作用:当 Claude Code 在分析代码库时,它不会尝试读取被忽略的文件。

# 必须排除(每个项目都要有) node_modules/ dist/ build/ .next/ coverage/ # 锁文件(细节通常不需要) package-lock.json yarn.lock pnpm-lock.yaml # 日志和临时文件 *.log *.tmp *.map

效果:一个没有 .claudeignore 的 Next.js 项目,Claude Code 可能会尝试"看到" 50,000+ 个文件。有了正确配置的 .claudeignore,降到几百个。


策略 4:用临时 Markdown 文件传递上下文

对于复杂任务,不要把所有背景信息都在对话里解释,用文件传递:

markdown
# task-context.md(临时文件,任务完成后删除)

## 当前任务
重构用户认证模块,从 legacy-auth 迁移到新的 auth

## 已知问题
- legacy-auth/session.ts 有内存泄漏(issue #234)
- 新的 auth 还没有 OAuth 支持

## 不要动的文件
- src/lib/legacy-auth/oauth.ts(还在用)
- tests/auth/integration.test.ts(先不改测试)

## 完成标准
- 所有单元测试通过
- legacy-auth 除了 oauth.ts 全部停用
- 新增迁移文档 docs/auth-migration.md

然后在 Session 开始时:

读取 task-context.md,然后按照里面的规划开始重构。

比在对话里解释效率高得多,而且 Claude Code 随时可以重读文件刷新记忆。


策略 5:Subagent 隔离上下文密集型任务

读大量文件的探索性任务,用 Subagent 隔离,不要在主 Session 里做:

主 Session(保持干净) ↓ 派发给 Subagent Subagent:读取所有认证相关文件,分析现有实现,返回摘要 ↓ 只有摘要回到主 Session,不是文件内容 主 Session:基于摘要制定实现计划

Subagent 的上下文在它自己那里消耗,不污染主线程。摘要通常是原始文件内容的 1/10 大小。

何时用 Subagent

  • 需要读 5 个以上文件来理解某个模块
  • 探索性的"看看这个模块怎么实现的"类任务
  • 并行研究多个独立的代码区域

策略 6:Plan Mode 减少上下文消耗

Plan Mode(Shift + Tab 两次切换,或 /plan)下,Claude Code 只分析不执行:

  • 不读文件的完整内容(只看文件列表和摘要)
  • 不执行命令(不产生命令输出)
  • 只制定计划

一个复杂功能的规划阶段可能产生大量上下文。用 Plan Mode 做完规划,确认方向没问题,再切换到执行模式——这时上下文里没有规划阶段的探索过程,全是有用的实现内容。


策略 7:写高密度的 CLAUDE.md,不写啰嗦的

矛盾点:CLAUDE.md 每次 Session 都加载,会永久占用上下文。

解决方法:精准、高密度,删除所有"不写会让 Claude 犯错"以外的内容。

对比

高密度写法(35 Token):

数据库查询统一放 src/lib/db/,不要在 API 路由里内联

低密度写法(110 Token):

为了保持代码的整洁性和可维护性,我们遵循关注点分离的原则, 所有与数据库相关的查询逻辑应该统一放在 src/lib/db/ 目录下, 而不是直接内联在 API 路由处理器里,这样做的好处是便于测试和复用。

两者传递的信息完全相同,但 Token 消耗差 3 倍。乘以 CLAUDE.md 里 50 条规范,差距非常可观。


上下文管理的优先级

按影响力排序,优先做影响最大的:

优先级策略一次性还是持续影响
P0配置 .claudeignore一次性极高
P1写精炼的 CLAUDE.md一次性
P2一 Session 一任务持续习惯
P370% 时主动 /compact持续习惯
P4用文件传递任务上下文按需
P5Subagent 隔离探索按需高(大项目)

来源:code.claude.com 官方最佳实践 | morphllm.com 上下文管理 | 整理:ClaudeEagle

相关文章推荐

教程CLAUDE.md 10 段黄金模板:让 Claude Code 每次启动都像资深开发者一样了解你的项目CLAUDE.md 完整指南:10 段黄金模板(项目概述/技术栈/核心命令/项目结构/代码规范/禁止修改区域/测试规范/数据库规范/代码风格/当前工作)逐段详解,以及会话级动态更新、.claude/rules/ 领域规则拆分、废弃代码标记等高级技巧。2026/4/21教程Claude Code 最佳实践官方指南:上下文管理、验证策略与自动化扩展Claude Code 官方最佳实践指南,涵盖上下文窗口管理(最核心约束)、提供验证途径让 Claude 自我检验、四阶段工作流(探索→计划→确认→编码)、CLAUDE.md 编写原则、权限管理、Subagent 使用技巧,以及 Writer/Reviewer 并行开发模式等高效实践。2026/2/28教程Claude Code .claudeignore 配置指南:精准控制 AI 上下文节省 Token 的必备技巧.claudeignore 完整配置指南:为什么需要、与 .gitignore 的区别、通用基础模板、各技术栈专属配置(Next.js/Python/Go/Java/Rust)、什么文件不能排除的反直觉建议,以及与 Subagents 组合使用的高阶策略。2026/4/19教程Claude Code Plan Mode 深度指南:用「先想再做」模式彻底消灭 AI 蝴蝶效应Claude Code Plan Mode 完整指南:蝴蝶效应是什么以及为什么危险、Plan Mode 工作原理、什么时候用什么时候不用的详细清单、采访模式大功能必用流程、Plan Mode + 新 Session 黄金组合,以及完整的限流功能实现案例演示。2026/4/18教程Claude Code 10x 生产力完全指南:上下文工程、Plan Mode 到多 Agent 并行的高阶技法Claude Code 高阶实践完全指南:CLAUDE.md 写什么不写什么的黄金规则、.claudeignore 节省 Token、任务边界控制防蝴蝶效应、Plan Mode 使用时机、Session 卫生管理、Subagent 隔离上下文、多 Agent 团队按任务分模型、Hooks 确定性护栏,以及委托 vs 监督决策矩阵。2026/4/18教程Claude Code 高级提示技巧:TDD 驱动、截图验证、面试需求、让 AI 自我检查 7 个方法Claude Code 高级提示技巧 7 个方法:TDD 先写测试、截图验证 UI、面试确认需求、新会话 Reviewer 自检、参考现有模式、可中断大型任务、三阶段探索-计划-执行工作流。2026/4/13