Claude Code隐藏设置:开启Idle Compaction省大钱

Claude Code 开启 Idle Compaction 可在空闲致缓存过期后减少全价重发成本。
文章指出 Claude Code 依赖提示缓存降低重复上下文的计费成本,但缓存会在几分钟空闲后过期,导致下一次交互时整个对话上下文按全价重发,长会话用户因此承受可观的开销。缓解办法是开启 Idle Compaction:在 `/config` 中找到该选项并确认开启,它会在缓存过期前主动压缩过长的对话历史,使重发的是精简版本而非全量上下文。作者提醒节省幅度因会话长度与空闲频率而异,且版本更新可能改变默认行为,需定期复查;同时压缩可能损失部分细节,需在成本与上下文完整性之间权衡。
Claude Code 用户可能忽略了一个直接影响 API 账单的开关。YouTube 创作者 FlintEye 在最新短视频中提醒:在 Claude Code 中输入 /config,找到 Idle Compaction 选项,确认它处于开启状态,就能在长时间挂机后避免整段上下文被全价重发。
这则内容很短,但指向一个真实的成本陷阱。
问题根源:提示缓存会过期
Claude Code 的对话依赖 prompt cache(提示缓存)来降低重复上下文的计费成本。缓存命中时,之前发送过的内容以折扣价复用;但据 FlintEye 说明,缓存会在几分钟的空闲后失效。

一旦缓存过期,下一次交互时整个对话上下文会被当作全新输入重新发送,按全价计费。对于经过多轮工具调用、积累了大量文件内容和命令输出的长会话来说,这部分重发成本相当可观——你只是离开工位泡了杯咖啡,回来敲一句话,账单却按整个上下文结算。
提示缓存(Prompt Caching) 是 Anthropic API 提供的一项优化机制:当请求中前缀部分(如系统提示、长文档、历史对话)与之前某次请求完全一致时,这部分内容可以按“缓存写入/读取”的折扣价格计费,而不必每次都按标准输入价格重算。缓存通常有存活时间(TTL),Anthropic 默认缓存有效期约为 5 分钟,每次命中会重置计时。Claude Code 作为构建在 API 之上的 CLI 工具,其长会话成本高度依赖缓存命中率:一旦超过 TTL 无交互,缓存失效,后续请求的整个上下文都会以标准价格重新输入。理解这一点,就能明白“空闲几分钟”为何会直接转化为账单跳升。
Idle Compaction 做了什么
Idle Compaction 的机制是在缓存过期之前,主动压缩过长的对话历史,把上下文瘦身到更小的规模。这样即使缓存失效、需要重新发送,发送的也是压缩后的精简版本,而不是原始的全量上下文。

简单说,它把"缓存过期后的大额重发"换成了"提前压缩后的较小重发"。对于习惯让 Claude Code 长时间保持会话、频繁切换任务的开发者,这个差异会随会话长度放大。
上下文压缩(Context Compaction) 在这里不同于简单的截断:它通常由模型对较早的对话轮次进行摘要/提炼,用一段浓缩文本替代原始的大量工具调用记录与文件片段,从而在保留关键信息的同时显著减少 token 数。压缩发生在空闲期而非交互期,因此不会拖慢用户实际操作;其代价是可能丢失细粒度的原始内容(例如某次命令的完整输出、精确的行号或变量名)。对于依赖早期细节进行后续推理的任务,压缩后的上下文可能不足以支撑精确回溯,这正是需要在成本与完整性之间权衡的原因。
操作路径
三步即可确认:
- 在 Claude Code 中输入
/config打开配置界面 - 找到 Idle Compaction 选项
- 确认开关为开启状态

整个过程不需要改配置文件,也不需要重启环境。FlintEye 的建议很直接:去检查一下它是不是开着的。
需要留意的两点
节省幅度因人而异。 FlintEye 明确表示"savings vary"——具体省多少取决于会话长度、空闲频率和上下文规模。短会话、连续操作的用户感知可能不明显;长会话、频繁中断的用户收益更大。

默认状态可能变化。 视频中特别提到"updates can change it",即 Claude Code 的版本更新可能调整该选项的默认值或行为。这意味着不能假设它一直开着,定期在 /config 里复查是更稳妥的做法。另外,压缩历史本身可能损失部分细节上下文,如果你依赖早期对话中的精确信息,需要在成本和完整性之间做权衡。
值得区分的是,Idle Compaction 解决的是“缓存过期后重发量过大”的问题,而非“缓存过期”本身。即使开启该选项,缓存一旦失效,压缩后的上下文仍会按全价重新计费,只是基数更小。若希望进一步降低空闲成本,可考虑在长时间离开前主动结束会话或使用 /clear 重置上下文,让下一次交互从干净状态开始;反之,若任务需要连续的多轮记忆,则应尽量保持交互节奏在缓存 TTL 之内,减少无谓的空闲断档。
小结
这是一个典型的"一分钟设置、长期影响账单"的配置项。它的价值不在于复杂,而在于大多数用户根本不知道缓存会过期、更不知道有对应的缓解开关。花三十秒打开 /config 确认一下,成本几乎为零。
相关推荐

13个AI实用技巧:省钱、护隐私、升级数字生活
梳理The Explainer分享的13个AI实用技巧,涵盖用AI代理省钱谈判、数据删除请求、Claude Code诊断电脑、本地离线模型、车内语音学习与运动姿态分析,并强调人类监督与安全边界。

Claude Code省钱三件套:三个免费工具砍掉Token浪费
介绍Claude Code三个免费Token优化工具:RTK压缩终端输出、Caveman精简回复、微软Token Economizer学习仓库剪掉未用工具,测试中成本降低18%到31%,并提醒micro skills默认关闭需手动开启。

Sure:开源个人理财应用,用Ruby打造
Sure 是一个用 Ruby 编写的开源个人理财应用,GitHub 星标数超过 11389,单日新增 184 star。本文分析其项目定位、社区热度背后的信号以及开源个人理财工具的机会与挑战。