Claude Code 执行 /compact 后忘了任务细节,通常是因为关键状态只留在聊天历史里,没有落到项目文件。/compact 会压缩对话以释放上下文,但压缩摘要不可能保留所有细节,所以长任务要把状态写到文件里。
哪些内容必须落盘
正在改哪些文件、为什么这样改、还有哪些步骤没做、验证命令是什么,这些都不要只放在聊天里。可以写到 CLAUDE.md、TODO.md、notes/implementation-plan.md 或临时任务文档里。
如果你只是让 Claude Code 一路聊天,它在 compact 后可能记得大方向,但忘掉边界条件、用户要求和中途踩过的坑。
compact 前先做交接
在接近上下文上限时,不要直接 /compact。先让它写一段交接记录:当前目标、已完成改动、未完成事项、已运行测试、失败原因、下一步计划。确认这段记录准确后,再执行 compact。
Anthropic 的帮助文档也提到,/compact 是为了保留必要上下文并释放空间;项目文件和 CLAUDE.md 仍然可以作为后续工作依据。
不要把 CLAUDE.md 写太满
CLAUDE.md 适合放长期规则和项目入口,不适合塞每次任务的全部日志。临时任务状态更适合放在单独文档,完成后再删或整理。
如果把所有历史都塞进 CLAUDE.md,下次新会话一开始上下文就会很重,反而更容易变慢。
最稳做法
长任务每完成一小段,就更新一次任务文档。compact 只压缩聊天,不负责当项目管理工具。让“工作状态在文件里,聊天只是操作界面”,Claude Code 才不容易断片。