本文目录 正在整理章节
Claude Code 的 /compact 是把当前对话整理成摘要,以便在同一个会话里继续工作。它不等于“清空一切”,也不会让模型突然变聪明。旧文建议“超过 20 轮必须压缩”,这个判断过于机械:真正需要看的是上下文占用、任务是否还连续,以及哪些细节必须逐字保留。
2026 年 10 月 14 日更新:Anthropic 在 Claude Code v2.1.299 的官方发布说明中明确写出终端会话的闲置压缩(idle compaction):符合条件的长会话闲置一段时间后,可能在提示缓存过期前自动被总结。本文把手动 /compact、接近窗口上限时的自动压缩、闲置压缩和 /clear 分开讲,并给出可直接检查的步骤。该发布日期是 v2.1.299 的发布日,不代表这项能力此前从未出现在用户环境中。
/compact 是什么?它会保留什么
在 Claude Code 交互会话中输入 /compact,Claude Code 会总结此前的对话,并用较短的摘要继续承载当前任务。你可以加一句“保留重点”,例如:
/compact 保留这次数据库迁移的目标、已修改文件、失败测试、确认过的约束和下一步
这是有损摘要:当前活动上下文不再逐字携带所有旧消息,摘要可能遗漏你认为重要的数字、边界条件或一次性口头要求。它不会修改模型本身的能力,也不是删除代码、仓库文件或永久记忆的命令。官方上下文文档说明,项目根目录的 CLAUDE.md、无范围限制的规则和自动记忆等会重新注入;只在聊天里说过一次的细节仍应在压缩后核对。
如果任务已完全换题,用 /clear 开启空上下文更直接;如果只是同一任务从调查进入实现、还需要保留已确认的决定,带重点说明的 /compact 更合适。官方也提醒,压缩本身需要处理待总结的历史,不能把它当作“零成本清理”。
什么时候手动 /compact:先看上下文,再看任务
- 看实际占用:在 Claude Code 输入
/context;需要展开明细时使用/context all。一段对话可能消息不多,却读入了大文件、长日志或大量工具输出;“20 轮”不是官方触发阈值。 - 看任务阶段:同一问题的调查已结束、接下来要实现或验证,适合先汇总目标和关键证据。只是换到完全无关的新问题,优先考虑
/clear。 - 写出必须保留的内容:把不可丢的要求写进压缩指令;长期适用的项目规则写进项目的
CLAUDE.md或真实文档,并确认已保存。摘要不能替代唯一的需求记录。 - 压缩后做一次校对:请 Claude 复述当前目标、允许修改的文件、已通过和未通过的测试、风险与下一步。缺项就重新提供原始信息或让它读取文件,而不是假定摘要无误。
例如,先运行 /context,再在明确的工作断点执行:
/compact 保留支付回调幂等约束、涉及的三个文件、当前失败用例和待验证的回滚路径
如果只是“Claude 回答不对”,先检查输入是否含糊、引用文件是否过期和测试结果是否变化。压缩可能改善噪声过多的会话体验,但不能保证答复更准确或更快;旧文的“用了就变聪明”不应当作功能承诺。
2026 年 10 月 14 日:闲置自动压缩如何工作
Claude Code v2.1.299 的发布说明描述:在终端中,一段至少约 200K token 的会话闲置约 54 分钟,且其提示缓存为 1 小时有效期时,Claude Code 可在缓存过期前压缩它,让下一条消息不必重新处理整段未压缩的历史。这里的“200K”是这项闲置机制的默认会话规模门槛,不是所有模型的上下文窗口,也不是手动 /compact 的使用门槛。
不要把“约 54 分钟”理解为所有账号的固定定时器。Anthropic 的成本文档说明:订阅额度内的主会话通常使用 1 小时缓存;使用 usage credits 时主会话可能转为 5 分钟;API key 或云服务商会话默认也是 5 分钟。具体缓存期限可在当前会话的 /usage 中查看 Prompt cache (main) 的 warm/cold 和 TTL 信息。闲置压缩还取决于当前环境与配置;即使版本足够新,也不能凭时间推断它一定会发生。
如何调整门槛或关闭闲置压缩
先在终端运行 claude --version,确认你所用的 Claude Code 版本。以下两种配置方式在官方 v2.1.299 发布说明中均注明需要 v2.1.290 或更新版本;为了与本文的说明一致,建议核对 v2.1.299 的实际安装状态。
如果长会话必须尽可能保留逐字聊天内容,可在用户设置文件 ~/.claude/settings.json 的现有 JSON 对象中加入下列键;已有其他设置时请合并,勿直接覆盖整个文件:
{
"idleCompaction": false
}
这关闭的是闲置压缩,不是要求你关闭手动 /compact。如果希望保留该功能、只是让它只处理更长的会话,可在启动 Claude Code 前设置环境变量,例如:
export CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS=300000
claude
上述 300000 是示例门槛,不是官方推荐值;只有支持相应长上下文且会话实际能达到该规模时才有触发可能,200K 窗口的读者不应照抄这个阈值。改动后在新的终端会话中检查 claude --version、/usage 的缓存状态,并在真实长会话里观察是否出现闲置压缩提示。无需为了验证而故意堆积 200K token。不同启动方式或组织管理设置可能影响配置生效,应以你自己的会话为准。
/compact、到限自动压缩、闲置压缩与 /clear 怎么选
| 方式 | 触发与用途 | 需要留意 |
|---|---|---|
/compact | 用户主动总结当前会话,可指定保留重点;适合同一任务的阶段切换。 | 有损摘要,也会产生处理摘要的请求;压缩后核对关键事实。 |
| 接近窗口上限时的自动压缩 | Claude Code 为避免上下文窗口耗尽而自动总结;触发点受模型与配置影响。 | 不要套用固定轮次或统一百分比。 |
| 闲置压缩 | 符合版本、终端、长会话和 1 小时缓存等条件时,可能在空闲期间提前总结。 | 默认约 200K token、约 54 分钟仅对应官方说明的条件;可配置关闭。 |
/clear | 开始无关的新任务,得到空会话上下文。 | 不保留原会话的工作连续性;重要决定先保存到文件。 |
压缩后的首条消息可能只携带较短摘要,但这不是费用或速度保证:摘要本身有开销;缓存期限、使用方式和额度计费也会改变实际结果。Claude Code 官方成本文档建议在自然断点压缩,并在不需要旧任务连续性时用 /clear。
相关阅读与官方依据
想继续查命令,可看本站的 Claude Code 命令大全;把上下文管理放到实际开发流程,可看 Claude Code 工作流指南。这两篇是旧文原有内链,更新后仍保留。
- Anthropic 官方 Claude Code v2.1.299 发布说明:版本日期、闲置压缩条件与设置名。
- Claude Code 命令参考:
/compact、/context、/clear的定义。 - Claude Code 上下文窗口文档:压缩后的规则和文件加载边界。
- Claude Code 成本指南与 提示缓存说明:压缩本身的成本、不同会话的缓存期限及
/usage检查方法。
FAQ:关于 /compact 的常见问题
/compact 会删除所有历史和项目文件吗?
不会修改项目文件;它会把当前会话中较早的聊天内容总结为更短的活动上下文。摘要可能遗漏细节,因此先把关键约束、测试结果和文件路径保存到项目文档或明确写进压缩指令。
对话超过 20 轮就必须压缩吗?
没有官方的“20 轮必须压缩”规则。先用 /context 看占用,再看任务是否仍需原始细节;同一个复杂任务可能要保留上下文,换题则可用 /clear。
压缩后 Claude 一定更快、更准确或更省钱吗?
都不能保证。缩短后续活动上下文可能减少重读量;但压缩本身会处理原对话,遗漏的细节还可能需要重新提供。以当前会话的 /usage 和任务结果判断,而不是凭“变聪明”的主观说法。
闲置压缩会在网页版、所有 API Key 会话中发生吗?
本文依据的是官方 v2.1.299 对终端的描述,不能推及网页版或所有 API Key 会话。API Key 和云服务商的主会话缓存默认是 5 分钟;该发布说明描述的是 1 小时缓存过期前约 54 分钟的情形。请以实际 TTL、版本和设置核对。
中国大陆用户如何开通 Claude Code?Claude Pro 等于 API Key 吗?
截至 2026 年 10 月 14 日,Anthropic 公开的 Claude 支持地区和 Claude API 支持地区清单均未列出中国大陆;请先核对自己实际所在地及官方资格。官方 Pro 注册说明要求实际身处支持地区并使用受支持地区的电话号码。Pro 计划说明列有 Claude Code 访问,但 Pro 订阅与 Claude Console API Key 是不同产品,不能把购买 Pro 视为得到普通 API 额度。本站的 国内 Claude Pro 开通与资格说明可作订阅背景阅读;实际安装、登录与终端使用还可看 国内使用 Claude Code 的安装与账号检查。任何支付方式都不能改变官方地区限制。
资料核验日期:2026 年 10 月 14 日。产品设置、资格与计费可能变化,请以文章链接的 Anthropic 官方页面和你的实际会话显示为准。