调试进行到一半,最需要保留的是复现方法和已验证结果。先保存这两项,再压缩对话;恢复后从实际文件和测试继续。 以下流程适用于当前 Claude Code 会话变长、仍需追查同一个问题的情况。
把进度写成能复查的记录
以“登录回调偶发失败”为例,要求 Claude 生成一份简短进度文档。各字段填真实内容,尚未确认的部分明确标为待验证:
问题:登录回调在什么条件下失败
复现:输入、账号类型和实际命令
现象:原始错误及发生位置
已确认:由日志或测试支持的结论
假设:尚待验证的解释
已修改:文件和修改目的
测试:命令、退出状态、结果文件
后台任务:进程或任务标识及状态
下一步:最小的一项验证
保存后,抽查复现命令和文件路径。若只写“登录有问题,继续修复”,新摘要难以区分做过的尝试。
指定这次摘要的重点
在 Claude Code 输入:
/compact 围绕登录回调问题整理:保留复现步骤、已确认结论、待验证假设、文件改动、测试结果、后台任务和下一步。
官方文档说明 /compact 会用结构化摘要替换会话历史。根目录规则和记忆重新注入,部分最近读写文件重新读取。较大文件可能仅留下路径引用。
恢复后做一次状态对照
让 Claude 读取刚保存的进度文档,检查当前 diff 和测试日志,然后回答三个问题:当前错误还能否复现、哪些改动尚未验证、原后台任务是否结束。
后台命令会在压缩后继续运行。 在启动相同测试前查原任务,避免并行跑两份测试后混淆输出。若文件已有其他修改,按真实 diff 更新判断,保留他人的工作。
把完成标准写得具体
对这个示例,完成标准可以是:原复现输入通过;新增测试覆盖失败分支;相关现有测试通过;交付说明注明仍存在的限制。以上是建议的验收结构,使用时按项目实际风险调整。
压缩能帮助保留任务方向,详细日志和源码负责支持判断。恢复后从尚未完成的验证项继续排查。
常见问题
Q: 要把全部聊天复制进进度文档吗?
A: 保留复现、已证实结论、改动和下一步,长日志用文件路径定位,避免重复整段聊天。
Q: 假设应该删掉吗?
A: 保留仍有价值的假设,并明确标为待验证,防止它被误写成已确认原因。
Q: 压缩后找不到原来的长报错怎么办?
A: 从保存的日志重新读取相关范围;关键原始输出应在压缩前落盘。
Q: /context 能告诉我什么?
A: 它展示当前上下文分类占用,可帮助判断大量文件、指令或工具信息是否占据空间。
Q: 需要重启 Claude Code 才能压缩吗?
A: 当前会话中可以直接运行 /compact,无需为这个操作先退出。
Q: 验收通过后还要保留进度文档吗?
A: 根据项目交付约定保留有用记录,将最终测试结果写清,避免后续把中间假设当成结论。