10 月 14 日,Anthropic 发布 Claude Code 2.1.299,一次带着 190 项 CLI 改动的版本更新。多数是修修补补,但官方发布说明里有一个新功能值得行业记下来:空闲压缩(idle compaction)——一个超过 20 万 token 的长会话,如果闲置约 54 分钟,系统会在它的一小时提示缓存到期前,自动把历史压缩成短摘要。用户回来发出下一条消息时,不必重算整段对话。
54 分钟是个成本数字,不是体验数字
为什么要卡在 54 分钟?官方说明写得直白:压缩会替换对话历史、改变提示前缀,从而使会话层缓存失效。而提示缓存一小时到期——压早了,缓存白白扔一次;踩在到期前动手,既省下了重算整段历史的开销,又不损失本该到期的缓存。闲置阈值与 token 门槛(默认 20 万)叠加,等于给「什么时候值得压」定了双条件:会话得足够长,闲置得足够久。
两个开关也跟着一起来了:环境变量 CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS 可以调低那个 20 万的默认阈值,想更早压缩就调低;settings.json 里设 "idleCompaction": false 则整体关闭。官方说明注明这两个开关需要 2.1.290 及以上版本——也就是说,压缩能力在近几个版本里已经铺开,2.1.299 把它带进了终端会话。
把这件事放进行业里看,信号比功能本身大:长跑智能体的上下文管理,正在从「体验问题」变成「按分秒计价的成本工程」。会话动辄几十万 token、一跑几小时的编码智能体,每一次缓存命中与否都是真金白银;压缩时机的选择,直接决定用户回来那一秒是秒回还是干等。
同批三个细节,都在精确控制资源
文件提及改了给法。启用 CLAUDE_CODE_DISABLE_FILE_MENTIONS 后,@ 提到的大文件不再把全文塞进提示,智能体只拿到路径,需要时用自己的文件工具去读。这是拿一次工具往返换 token 预算——引用得多、细读得少的工作流划算,耦合紧密的编辑循环则可能反而变慢,官方说明也点明了这层权衡。
插件评估加了工具黑名单。claude plugin eval 新增 --disallow-tools 参数和 disallowed_tools 用例字段,可以把 Agent 这类内置工具排除在评估运行之外。插件生态长大之后,「考插件」和「给什么工具」终于能被分开控制——能力评测不再被工具可得性污染。
插件还看得见原件了。$.prompt.media 让托管设置安装的插件在 prompt.submit 钩子里读到图像与文档的原始字节,多模态校验、预处理、日志都有了入口。代价同样直白:插件的权限面同步变大。
放进赛道里看
这条线与本站报道过的几条线头尾相接。有论文把记忆、模板与缓存统称为「推理收缩」,论证成功的失败计数器是调歪的变更探测器;有产品把上下文压缩做成可插拔环节(Headroom 一类);也有工作让编码智能体自己学什么时候压缩(AutoCompact 一类)。Claude Code 这一版的意义在于:压缩时机、提及粒度、评估工具集这三件事,头一回在同一个版本里被当成可配置项交给开发者——上下文管理从玄学变成了旋钮面板。
需要保留的怀疑
自动压缩的损失是隐性的:摘要替代原文,细节丢失不会立刻报错,只在后续任务里以微妙的方式显现——官方没有给出压缩保真度的任何测量。20 万的默认阈值对轻量会话没有意义,踩点逻辑只服务于长会话;路径模式多出的那次往返,在紧编辑循环里是实打实的延迟。190 项改动以修复为主,包括内存无上限增长、Windows 下 PowerShell 命令超 1KB 必弹权限窗(现放宽到 32KB 走规则判定)这类工程债——修债值得欢迎,但也说明此前的版本在长会话场景下一直在负重运行。
目前官方及行业暂未披露更多细节,后续将持续跟进迭代动态。但对被长会话成本困扰的团队,这版给了一条能立刻抄的作业:先把「什么时候压」当成一个显式策略写进你们的智能体运行时,再谈压什么、压多少。