对话变长后,先看占用,再决定压缩

Claude Code上下文越来越长时,先用/context查看空间主要用在哪里,再考虑用/compact聚焦保留关键信息。压缩的是对话上下文,不是撤销磁盘文件,也不是增加账户使用额度。

如果任务连续引入巨大文件或重复工具输出,只压缩一次而不改变输入方式,空间可能很快再次被占满。应先找出反复进入上下文的来源,再选择分段读取、缩小输出或整理交接记录。

本文聚焦长任务中的上下文管理,与恢复旧会话、清除代码修改和调整计费额度分别处理。

压缩前,先写一份小而准确的保留清单

记录当前目标、已经确认的决定、实际改动文件、已运行的检查、失败的尝试和下一步。对尚未验证的假设明确标记,不要让压缩后的摘要把“可能原因”变成“已经修复”。

需要长期遵守的项目规则,应放在相应的持久说明中,而不是仅在很早的一轮对话里提到。官方说明自动管理上下文时可能清理旧工具输出并总结对话,早期细节不保证完整保留。

保留清单不应包含真实密钥、整份私人日志或无关材料。它的作用是让后续任务能回到证据,不是把所有旧内容再复制一遍。

压缩上下文前后要对照;查看占用:定位大文件与重复工具输出;保存保留清单:目标、证据、改动和未验证项;聚焦 compact:指定需要保留的任务重点;对照摘要与当前文件:防止假设被总结成完成结论
本站原创示意图:压缩上下文前后要对照。压缩对话不撤销文件,也不恢复服务或额度。查看大图 ↗

怎样给/compact一个明确重点

在需要压缩时,可以提供聚焦范围,例如“保留API字段变更、已验证命令和剩余失败项”。这类要求应描述真正要保留的任务信息,而不是笼统地要求“全部记住”。

当前官方文档给出/compact带关注点的用法,也建议通过/context观察占用。命令与选项可能随版本调整,应以本机帮助和当前官方说明为准;本文没有操作你的真实会话。

压缩完成后,先请它复述目标和未完成项,并与刚才的清单对照,再继续写代码。这个简短核对能发现遗漏,但不能作为所有细节都被完整保存的证明。

压缩前后的核对练习

假设你正在修改一个虚构的导入接口,已经完成字段校验,但大文件测试尚未运行。压缩前的清单应写“字段校验已改;大文件路径待测”,并保留对应文件和测试入口。

压缩后,如果总结变成“导入功能已完成”,先纠正,再继续下一步。不要让错误摘要成为后续发布的依据,也不要因为摘要遗漏文件就立即重新实施同一段修改。

如果需要重新读取代码,先看当前文件与差异。上下文摘要中的旧代码片段可能已经过期,磁盘状态应另行核对。

总是压缩后马上又满,查什么

查看是否有某个单次工具输出、文件或反复引入的资料占用大部分空间。先缩小读取范围、过滤必要段落或把任务拆成可验收步骤,而不是持续循环压缩。

官方说明,面对持续反复填满上下文的情况,自动压缩可能在若干次尝试后停止并报告错误。不要把这种状态直接解释为账号额度不足,也不要通过无限重试掩盖输入结构的问题。

涉及多个独立任务时,分别保存目标、工作区和交接记录,有助于减少无关上下文;是否使用新的会话或其他功能,应根据任务连续性决定,不能让不同任务共享一份含糊摘要。

哪些操作不能被混淆

压缩不撤销Git修改,不恢复旧数据库,也不保证服务仍然运行。要回滚文件、恢复数据或清理进程,应分别核对相应工具和风险,不通过聊天上下文操作替代。

本文命令含义已参照官方说明,练习场景为原创,没有对真实项目运行压缩、清空或回滚操作。文末清单可以作为你实际使用前后的核对记录。

参考资料与核验范围

资料核对日期:2026年10月18日。以下为官方原始资料;产品入口和可用范围仍以当前账户为准。

1. [官方资料1](https://code.claude.com/docs/en/how-claude-code-works)

2. [官方资料2](https://code.claude.com/docs/en/interactive-mode)