排障:上下文乱了怎么收敛

Claude Code 上下文收敛教程:聊久后 CC 可能混淆任务目标、历史讨论和当前改动,需要重新整理目标、现状和下一步。

上下文乱了,是使用 CC 时非常常见的问题。尤其是一个会话里反复改需求、插入新问题、又做排障又做优化时,CC 可能把旧目标、新目标、废弃方案和当前 diff 混在一起。

正确做法不是继续解释更多,而是先收敛。

暂停新需求 -> 盘点事实 -> 区分推测和废弃方案 -> 重新读关键文件 -> 确认下一步最小动作

收敛模板

上下文乱了时,不要继续解释新需求。先暂停,让 CC 把当前事实和废弃讨论分开。

第一句话先冻结动作:

先暂停所有修改。
在上下文重新确认前,不要创建、修改、删除任何文件。
我们重新收敛上下文。

请不要修改文件,只做总结:
1. 原始任务目标是什么。
2. 已经完成了什么。
3. 修改了哪些文件。
4. 哪些内容已经验证。
5. 哪些内容还没验证。
6. 下一步最小动作是什么。
7. 哪些讨论应该忽略。

上下文乱了的表现

一旦出现这些表现,不要继续加需求。继续加只会让上下文更乱。

乱的类型

类型表现处理
目标乱新旧需求混在一起收敛成一个主目标
文件乱不知道改了哪些文件重新检查 diff
方案乱反复提废弃方案明确哪些不要继续
验收乱不知道是否完成重新做 /verify
入口乱CLI、IDE、Web 状态不一致生成交接,回本地复查

先做事实盘点

请只做事实盘点,不要修改文件。

请按三类输出:
1. 已确认事实:来自文件、diff、日志或我明确说过的话。
2. 推测内容:你还没有证据的判断。
3. 已废弃内容:之前讨论过但现在不要继续采用的方案。

最后给出下一步最小动作。

事实盘点的关键是把“确认过的内容”和“听起来合理的猜测”分开。CC 一旦把推测当事实,后面就容易沿着错误方向继续做。

diff 是上下文锚点

如果已经改过文件,当前 diff 比聊天记忆更可靠:

请以当前 Git diff 为准重新确认上下文。

要求:
1. 列出当前实际修改文件。
2. 每个文件对应哪个任务目标。
3. 哪些改动来源不明。
4. 哪些改动可能超范围。
5. 下一步是验收、修正还是撤回。

让它重新读关键文件

如果上下文已经乱到无法信任,可以让 CC 重新读文件,而不是靠记忆继续。

请重新只读确认当前状态。

要求:
1. 不要依赖前面的记忆。
2. 重新读取和当前任务直接相关的文件。
3. 重新检查当前 diff。
4. 根据文件和 diff 总结当前状态。
5. 给出下一步最小动作。

如果任务涉及页面、接口或构建失败,还可以要求它列证据:

请用证据重新确认当前状态。

输出格式:
- 读取了哪些文件:
- 当前 diff 有哪些文件:
- 日志或报错关键行:
- 已确认的问题:
- 未确认的推测:
- 下一步最小动作:

收敛成一个任务

上下文乱的本质,往往是会话里同时存在多个任务。收敛时要把它压回一个任务。

请把当前对话收敛成一个可以继续执行的任务。

要求:
1. 只保留一个主目标。
2. 删除或搁置无关目标。
3. 明确允许修改的范围。
4. 明确禁止事项。
5. 给出验收标准。
6. 给出下一步最小动作。

如果还想保留其他想法,让 CC 放进“稍后处理”,不要混进当前任务。

稍后处理清单

请把不属于当前任务的内容放进“稍后处理”。

要求:
1. 当前任务只保留一个目标。
2. 稍后处理只记录标题和原因。
3. 不要在本轮实现稍后处理内容。
4. 如果稍后处理里有高风险问题,请标注。

什么时候重新开会话

重新开会话不是失败,而是清理上下文。

新会话怎么开

不要直接说“继续上个任务”。先让旧会话生成交接,再复制到新会话。

请生成新会话继续用的上下文摘要。

必须包含:
1. 当前任务目标。
2. 已经完成的修改。
3. 修改过的文件。
4. 已经验证的内容。
5. 未验证和剩余风险。
6. 下一步最小动作。
7. 不要继续采用的旧方案。

新会话开始时,可以这样说:

下面是上一个会话生成的交接说明。

请先只读确认这些内容是否和当前文件状态一致。
确认后,只执行“下一步最小动作”,不要扩大任务。

【粘贴交接说明】

收敛后继续推进

上下文已经收敛。

请只执行下一步最小动作:
【写下一步】

限制:
1. 不要回到废弃方案。
2. 不要扩大任务。
3. 如果发现新问题,先说明,不要直接改。

推进时要坚持“小步确认”。如果 CC 又开始引入新目标,就再次收敛。

防止上下文再次变乱

可以在一个任务开始时就设定规则:

本任务请保持上下文收敛。

规则:
1. 只围绕当前目标行动。
2. 遇到新问题先汇报,不要顺手修。
3. 每次修改前说明影响范围。
4. 每次修改后总结 diff 和验证结果。
5. 如果发现任务目标变化,请先要求重新确认。

验收结果