Claude Code 上下文管理实战:长任务怎么不把会话拖崩
Claude Code 做短任务很顺,但长任务很容易出现两个问题:上下文越来越大,判断越来越飘。你让它连续写三篇文章、改十几个文件、读一堆日志,最后它可能还在努力回答,但已经开始忘记最初目标、重复读取材料,或者把旧结论当成新事实。
这不是 Claude Code “不行”,而是长任务需要上下文管理。真正稳定的做法不是把所有资料都塞进会话,而是把任务拆成可恢复、可验证、可摘要的阶段。
如果你刚开始用 Claude Code,可以先看 Claude Code 怎么用;如果任务涉及多文件修改,先用 Plan Mode 做边界确认。
为什么长任务会拖崩
长任务最常见的失败不是模型突然不会做,而是上下文失控。
| 失控表现 | 具体问题 |
|---|---|
| 重复读取 | 同一个文件、Brief、日志反复展开 |
| 目标漂移 | 后半段开始解决另一个问题 |
| 旧信息污染 | 已经修正的结论仍被当成当前事实 |
| 验证不足 | 只记得写了很多,但忘记跑检查 |
| 输出膨胀 | 每一步都贴大量日志、diff、全文 |
Claude Code 的优势是能读项目、改文件、跑命令。但这些能力如果没有节制使用,长任务会变成“上下文垃圾堆”。
第一原则:不要把资料当上下文长期保存
很多人会把完整需求、完整日志、完整文章、完整搜索结果都贴进会话。短期看方便,长期看会污染判断。
更好的方式:
- 长材料写到文件里;
- 会话里只保留索引和摘要;
- 当前步骤需要哪一段,再读取哪一段;
- 做完就记录结论,不重复展开全文。
比如写内容时,不要一次打开 10 个 Brief。先做 Brief index,再只读当前文章小节。改代码时,不要整读整个目录,先定位入口文件、调用方和受影响范围。
第二原则:任务队列比脑内记忆可靠
长任务一定要有任务队列。不是为了形式,而是为了防止 Claude Code 在第 4 步忘记第 1 步。
一个可用队列应该包含:
1 | 待做:当前还没开始的任务 |
不要同时让 Claude Code “写三篇文章、改两个组件、顺便修 SEO”。它会尝试都做,但质量会下降。更稳的方式是:一次只让它推进一个进行中的任务,完成后再切下一个。
第三原则:每一阶段都要有可验证产物
长任务不能只靠“我已经做了”。每一阶段都应该留下可检查的东西。
| 阶段 | 产物 |
|---|---|
| 调研 | 摘要文件、候选表、关键证据 |
| 计划 | 明确步骤、风险、受影响文件 |
| 实现 | 具体文件路径、修改范围 |
| 内容生产 | 文章路径、Brief 小节、内链清单 |
| 验证 | 命令、结果摘要、失败项 |
如果没有产物,就很难恢复。会话中断后,下一次只能靠记忆猜发生了什么。
第四原则:搜索用索引,写作用小节
Claude Code 长任务里最容易浪费上下文的是“找资料”。
推荐做法:
1 | 先索引 → 再定位 → 再读取当前小节 → 产出摘要 → 执行任务 |
内容站尤其明显。比如一个文件里有三篇 Content Brief,不要整读全文;先列出标题,再按当前主题读取小节。代码库也一样:先找 symbol、路由、入口,再读目标文件,不要从根目录随机展开。
如果项目有 CodeGraph,就用它处理结构问题;如果只是查某个字符串,再用 grep。工具选错,会把上下文消耗在低价值搜索上。
第五原则:主会话负责决策,Agent 负责局部任务
长任务可以用 Agent,但不要让 Agent 决定最终方向。
适合 Agent 的是:
- 搜索某个子系统;
- 审查某个维度;
- 总结某批资料;
- 找测试缺口;
- 验证一个具体 claim。
不适合 Agent 的是:
- 决定最终文章口径;
- 批量改高风险文件;
- 用户意图还没明确时自行扩展任务;
- 需要连续 UI 微调的任务。
可以配合阅读 Claude Code Subagents 实战,把 Agent 当作局部视角,而不是总指挥。
第六原则:每轮结束都写“下一步”
长任务最怕中途断掉。每轮结束时至少记录三件事:
- 已完成什么;
- 产物在哪里;
- 下一步是什么。
好的状态记录像这样:
1 | 已完成:AICostNest 中文文章初稿 + content-qc,无错误。 |
差的状态记录像这样:
1 | 继续优化内容。 |
第二种记录等于没有记录。下一次恢复时,Claude Code 仍然要重新探索。
第七原则:聊天里少贴全文,多给路径和摘要
长任务中,聊天窗口不是文档库。能写文件就写文件,能给路径就给路径。
推荐输出:
1 | 已生成:C:\...\article.md |
不推荐输出:
1 | 下面是完整文章全文…… |
除非用户明确要求全文,否则长输出会把后续上下文压得更紧。
一个长任务模板
下次你可以这样要求 Claude Code:
1 | 这是一个长任务。请按阶段推进: |
这个模板看起来普通,但能显著减少重复读取、目标漂移和“做了很多但不知道是否完成”的情况。
常见误区
误区 1:上下文越多越好
不是。无关上下文会增加误判。越长的任务越要精选上下文。
误区 2:让 Claude Code 自己记住所有状态
不要依赖记忆。状态要写到文件、任务列表或明确的下一步里。
误区 3:一次性并行所有事情
并行适合独立任务,不适合需要统一口径的最终产物。文章、架构方案、发布决策都要回到主会话整合。
误区 4:验证留到最后
长任务最后再验证,通常会发现前面错了很多。应该每完成一个小产物就跑最小检查。
总结
Claude Code 长任务的关键不是让模型“记住更多”,而是让任务结构更可恢复。把长资料变成索引,把任务变成队列,把阶段变成可验证产物,把下一步写清楚,Claude Code 才能稳定完成复杂工作。
上下文管理做得好,Claude Code 像一个可靠的项目协作者;上下文管理失控,它就会变成一个很努力但越来越迷路的助手。


