一位开发者在进行多文件重构时,Claude Code的auto-compact功能在80%上下文占用时触发。三小时的工作成果——包括哪些模块已完成接口修改、哪些文件仍需调整——被压缩后,Claude完全丢失了进度记忆,甚至建议修改一小时前已完成的文件。

社区将这种现象称为"脑叶切除"(lobotomization)。压缩后的Claude会忘记当前仓库位置、丢失用户反复强调的约束条件、甚至遗忘已调用的技能。质量下降立竿见影。

打开网易新闻 查看精彩图片

技术层面,社区对Claude Code压缩代码的分析显示,系统预留了固定缓冲空间触发压缩。早期2026版本约为13000 token,后续版本 reportedly 增至约33000 token。计算公式为:可用输入 = 总上下文 - 最大输出token - 安全缓冲。默认设置下,用户可能损失22.5%的上下文窗口给这个未必需要的安全缓冲。

打开网易新闻 查看精彩图片

arXiv 2510.04618号研究将这种现象定义为"上下文崩溃"(context collapse):当大语言模型迭代重写自身上下文时,准确率会下降。而auto-compact正是让Claude Code执行这种有损压缩——由模型自行判断"什么重要"并丢弃其余内容。对于多文件重构、约束密集型调试等需要长时间说明"哪些不能碰"的场景,这是糟糕的交易。

解决方案很简单:在~/.claude.json中添加{"autoCompactEnabled": false},或在活跃会话中运行/config关闭"Auto-compact enabled"。

打开网易新闻 查看精彩图片

关闭后,用户将获得完整的上下文窗口控制权,配合自定义的/project(加载项目状态)和/flush(保存会话状态)技能,实现类似"存档/读档"的工作流管理。