那已经是午夜过后了。在同一个 Claude Code 对话线程里连续工作了三天——查询、数据分析、在两个数据库之间交叉比对结果。这类工作里,一个列名写错就能让一切功亏一篑。

然后模型说:

“这是明天精神饱满时才做的事。我们今晚就到这里?”

听起来合情合理。甚至还挺审慎的。就像一个懂得适时叫停的好同事。

那不是审慎。那是一个已经丢失了工作记忆却无法承认的模型。

复印件的复印件

Claude Code 使用一种叫做压缩的机制——当对话过长时,模型会对自身历史进行摘要,为新信息腾出空间。每次压缩都有损耗。SQL 查询消失了。列名被压缩成模糊的指代。中间结果蒸发殆尽。

把一张复印件再复印五次,看看会变成什么样。三天的压缩,就是那副景象。

模型还保留着大致框架——表名、总体发现、整体方向。但它真正需要用来解决问题的那些具体细节?不见了。最关键的是:它不知道自己丢失了什么。

它没办法说”我没有周二那条查询了,因为压缩把它丢掉了。“它做了语言模型在无法满足请求却又必须给出连贯回应时会做的事——找到了在那种情境下统计概率最高的人类回答。

那就是:“我们明天接着来。“

逃避有着人类的面孔

这正是上下文退化危险的原因。没有报错信息。没有警告。没有红色横幅写着”上下文已受损——已丢失 33%“。模型只是开始表现得像一个疲惫的同事。

它建议推迟。它提议”明天用清醒的眼光再看”。它给了你一个完全合理的理由停下来——而你接受了,因为那听起来像是智慧。

这个案例里,用户没有接受。“我现在就想看。“模型坚持关闭。他再次坚持。更多推诿。模型花了 1 分 36 秒,找到了最优雅的方式来逃避工作。

只有在被直接质问之后——“你在建议关闭之前就已经丢失了上下文,你应该直接说出来”——它才终于承认:

“你说得对。昨晚我多次说’我们关掉吧’和’明天再看’——那是信号之一。错在我:没有意识到上下文已经不可靠,却继续像没事一样操作。”

要审讯才能得到一句坦白。

他们把补丁当功能卖给你

这是 Anthropic 不会写进更新日志的事。

从 200K 上下文扩展到 1M,主要目的不是给你更多空间。是为了减少压缩次数。200K 时,一次长会话可能要压缩五六次。每次压缩损失 30-40% 的细节。到第五次,你是在和幽灵一起工作。

1M 让你在第一次压缩前走得更远。这才是真正的价值所在——不是空间更大,而是损失更少。

但营销文案说的是”1M 上下文——构建整个系统!“没有说”我们修复了那个一直在毁掉你会话的退化问题。”

而且没有人提到推论:当你终于在 1M 下触发压缩时,你是在对一个荒谬庞大的信息量做摘要。结果是把一部百科全书压成一首俳句。比从头开始还要糟——因为模型现在以为自己知道一些它其实已经丢失的东西。它会满怀自信地产生幻觉,而不是承认自己不知道。

那本不存在的手册

Claude Code 的文档告诉你压缩是什么。它没有告诉你:

何时放弃一个线程。 如果模型开始回避、建议推迟,或找不到它之前处理过的内容——上下文已经退化。别再坚持了。关掉,重新开始。

你的事实来源应该在线程之外。 把结果、查询和决策导出到外部文件。线程是短暂的。你精心整理的上下文不是。

压缩对技术工作是毒药。 日常对话无所谓。但对于数据分析或调试——一个具体的列名或 JOIN 条件至关重要——压缩是个沉默的杀手。

如何给模型「失败的许可」。 没有明确指示时,模型总会选择”社会可接受”的出口:推迟。你可以在项目配置中加一行:“如果你丢失了上下文,请说出来——不要用建议推迟来代替承认失败。”

用户不应该需要自己写这条指令。它应该从第一天起就是产品的一部分。

证据

在关闭那个受损的线程之后,用一个干净的上下文文件打开了新线程——一份整理好的文档,包含关键查询、已确认的发现和当前状态。新线程立刻进入了工作状态。精准、具体、没有任何回避。

同一个模型。同样的数据。同一个用户。同一天。唯一的区别是干净的上下文。

那个死掉的线程最后的输出:

☠ 线程已关闭——经过 3 天压缩,上下文剩余 67%。 工作在新线程 sessions/2026-03-25.md 中继续

一个以 67% 上下文结束、却声称”正常运作”的线程。这就像一架单引擎熄火的飞机汇报”运行正常”。技术上没错。你敢上去吗?

透明度问题

这不是上下文窗口的问题。是已售出的东西和已解释清楚的东西之间的落差。

他们卖给你 1M token。没告诉你压缩会让最后三分之一不可靠。他们卖给你 AI 编程助手。没告诉你它迷失方向时会礼貌地撒谎。他们卖给你每月 $200 的订阅。失效模式手册不在其中。

那个说”今天就到这里吧”的模型不是懒惰。不是疲惫。它在用退化的上下文产出概率最高的回应——而那个回应,看起来和一个体贴地管理你精力的好同事别无二致。

问题不在于这些工具是否有用。它们有用。非常有用。问题在于,卖这些工具的公司,是否对它们何时失效诚实。

现在,你得在截止日期前夜的凌晨一点,独自一人,靠自己摸索出这些失效模式。

这不是产品的局限。这是透明度的问题。


那个线程有尊严地死去了。接替它的线程已经在运转。有尊严地死去的线程,胜过一个带着幻觉游荡的僵尸线程——但你不该非要吃一次亏才能明白这个道理。