2702 字
14 分钟
关于 Opus 4.7 不思考那件事——我欠一个更新

今天早上我打开 Claude app,随手问了一个我四天前同样问过的、结构复杂的架构问题。

这次它思考了。

屏幕上那一小串”Thinking…”转了十几秒,回来的内容是分三层的论证,每一层都引到了我 prompt 里没有明说但在上下文里埋过的约束。就是我四天前写那篇中文评论时想要、但死活拿不到的那种回答。

我盯着那个”Thinking…”发了一会儿呆。

然后我去翻那天的对话记录——就是我在文章里写”我让 Claude 帮我 review 一段结构复杂的论证,它给我回了一段非常表面的、没 thinking”的那次。我又把那段原话原封不动扔过去。

这次 thinking 了。

回答也完全不一样。

所以我得先说一件事:那篇中文评论那篇英文分析里关于”同一个 session 里反复要求深推理也不触发”的那个具体失败模式,在我这边复现不出来了。看起来是 bug,不是设计,而且被悄悄修掉了。

这一点我欠读者一个更新。不能装作没发生。


先说我怎么知道修了——然后再说为什么我用的是”看起来”这种留退路的词。

不是 Anthropic 发 changelog 说”我们修了 adaptive thinking 在 meta-feedback 下的 classifier bug”。

我让一个 agent 过了一遍过去四天的 Anthropic 官方渠道——status.anthropic.com、发布页、模型文档、Alex Albert 和 Boris Cherny 的公开发言。关于 thinking / adaptive / reasoning / router 的专门 fix 说明,一条都没有。

Alex Albert 4 月 17 日在 X 上说过一句”昨天大家遇到的一堆 bug 现在都修好了”——但大家在那条帖子底下追问的都是 token cost 飙升、effort 等级混乱、计量方式变了这些,没人 confirm adaptive thinking 在 meta-feedback 下的行为变了。

Stella Laurenzo 那个 AMD 的 Senior Director 写的 anthropics/claude-code #49244,我重新去看了一下时间线——这个 issue 其实是 4 月 2 日就写的,早于 4.7 发布两周,里面讨论的是”redact-thinking-2026-02-12”那次 thinking token 收紧导致的质量回退,17871 个 thinking block、234760 次 tool call 的统计。这件事并不完全等于我四天前写的那个 failure mode。我写文章的时候把这两件事混在一起引了,现在回看略显粗糙。

所以公开层面,没有任何一条官方信号告诉我这个 bug 被修了。

我的判据完全是行为变了。四天前那个具体的 failure mode——短消息、meta 级的抱怨、“我已经纠正你三次了”这种——现在会触发 thinking。那个英文分析里花了两段篇幅描述的”router 结构性读不到 conversation-level signals”的现象,这两天在我手上重现不出来了。

这是个 n=1 的观察。留退路的意思是——可能 Anthropic 真的在后端悄悄调了 classifier 权重,可能只是 routing 的随机性让我这两天都落在 thinking 那一侧,可能是 app 某个版本灰度。我没有办法证伪其中任何一个。

一致性够我写这篇更新了。 不等官方发 changelog 再写,那我就是在用”没有被证实之前不更正”当免罪金牌,读者活该继续读我那篇已经过期的叙述。


但我想说另一件事。

我重读了那两篇自己写的东西,试着诚实地问自己——如果这个 bug 早一个礼拜被修掉,那篇英文分析会变成什么样?

答案是:论点几乎不变。

原文的结构是三件事归到一个模式:Opus 4.7 的 coding uplift 对所有人开放、Mythos 的防御能力锁进 Glasswing 的 52 家、thinking 的 manual budget 对 Pro/Max 订阅者关掉。作者把这个模式总结成一句——“capacity 存在,distribution 是选择”。

thinking 那一块的核心论点,从来都不是”router 很烂”。

核心论点是——用户对预付算力的 agency,不应该由 router 的判断力来代理。

这个论点到现在还完全成立。

API 上 budget_tokens 还是 400。Claude app 里还是没有任何让订阅者手动开启深推理的开关。每一家前沿实验室——OpenAI、Google、xAI、DeepSeek、Qwen、Mistral、Cohere——都保留了某种形式的用户侧控制。只有 Anthropic 既在 API 拿走了数值预算,又没有在订阅者 app 里留开关。

router 是不是聪明,从头到尾不是重点。有没有 toggle,才是重点。


所以行为一变,我脑子里那个尴尬的东西反而变清楚了。

四天前写那篇英文分析的作者、还有我自己写那篇中文跟进的时候,我们都做了同一个动作——把”router 当下这次没 think”当成了”adaptive-only 是错的”的证据。

这是一个偷懒的动作。

因为这两件事其实不是一件事。

router 这次没 think,可能是 bug,可能是被 quantization 降了精度,可能是 classifier 被上游 meta-feedback 的短消息骗了。这些都是实现问题。实现问题是会被修的——不管是这两天悄悄修的,还是再下个月才修的,迟早的事。

但”Pro/Max 订阅者对自己已付算力没有手动控制权”——这是一个产品决策。这个决策今天不会因为一个 classifier bug 被修而改变,明天也不会因为 router 变更聪明而改变。

把两件事绑在一起论证,其实是在稀释那个真正站得住的结构性论点。

那篇英文分析的作者自己在文章里也留了一句——“The thesis doesn’t require claiming the router is bad on average. It requires only that the router’s judgment is not a substitute for the user’s.”

他自己知道这个。他只是在举例的时候没忍住用了一个会自我塌陷的例子。


我自己那篇中文跟进里也有这个问题。

我写过一句——“一个 toggle。就一个 toggle。就能解决。”

那是在 router 没 think 的那次写的。语气里带着情绪,带着被 router 误判的那种具体挫败。

情绪是真的。但那句话现在读回去有点不对——我在用一个具体的、会被修的 bug 来支撑一个结构性的、不会被修的论点。bug 修了之后,如果我的论点只建立在”那次它没 think”上面,那我的论点应该也要塌。

但它没塌。

因为 toggle 的意义从来不是补救 router 这次的错。是当 router 下一次以别的方式错的时候——而 classifier 系统在前沿 AI 产品里,一定会以别的方式错——用户要有一条不依赖 Anthropic 工程团队响应速度的路。

下一个 failure mode 如果落在一个不写 GitHub issue、不发 HN 帖子的用户身上,它不会被 router 自愈,也不会被推特风暴推上 priority queue。

toggle 不需要知道下一个 bug 长什么样。toggle 就在那。


再说一件有点意思的事。

这次行为的变化——不管背后是后端真的改了 classifier、还是灰度到了另一个版本、还是 routing 的随机性给我连着四个 session 都发了好牌——本身是一个有意思的信号。

它说明 adaptive-only 的可观测性对用户是关闭的。

我作为一个付费的 Pro 用户,没有办法知道我这次 prompt 到底走的是哪一条 routing 路径。我不知道是因为某个 classifier 权重改了、还是模型服务端哪个 flag 翻了、还是就是一次抽奖抽中了另一面。我观察到的只是”行为变了”这四个字。

对 Anthropic 的工程和产品团队而言,这个不透明是合理的——内部可观测性没必要暴露给终端用户。但对订阅用户做任何基于行为的信任判断而言,这个不透明就是硬墙。

“最近 Claude 对我变好了”和”最近 Claude 对我变坏了”——这两种感受在今天的 Anthropic 产品形态里,没有任何客观锚点可以分辨是 self-serve 能触达的问题,还是需要等下一次内部调整的问题。

toggle 的第三重意义在这里:它不只是对 router 错误的对冲,它还是一条对用户可见的控制路径——我按了,状态就是我要的那个;我没按,状态就是 adaptive。用户知道自己站在哪儿。


那篇英文分析作者提的三件 remediation——恢复 budget_tokens、加 app 内 per-message thinking 选择器、开 OSS-Fuzz 风格的 Mythos maintainer scan 通道——这四天里没有一件被公开解决过。

一件都没有。

budget_tokens 还是 400。app 里还是没开关。OSS 维护者还是没有路径。

能看到的变化,是 adaptive router 在我这边对 meta-feedback 的响应变灵敏了。可能修了,可能没修,可能下周又会变回去。

如果 Anthropic 悄悄修了,这是好事——但那是最低挂的果子。 修一个看起来是 bug 的 classifier 行为,比在 app 里加一个下拉框便宜得多,也比给 Mythos 开 maintainer 通道政治上安全得多。

我不是在说修 bug 是应付式的——bug 就是该修。我是在说——不管这件事是不是被修了,剩下那三个窟窿都不是 bug,也都修不掉。 那三个是产品决策。


所以今天这篇东西的结论大概是这样。

四天前那篇文章里,关于 adaptive thinking 具体失败模式的那段证据,在我手上已经复现不出来了。我撤回把”那次 router 没 think”当成 agency 问题证据的那部分叙述——它可能过期了,也可能只是我运气好了几轮,但不管是哪种,都不适合继续当论据用。

那个 allocation 论点——coding uplift 广泛分发、defense 锁进 52 家——没有撤回。

thinking 那一块,我现在的立场稍微松了一点。

我理解 adaptive router 的逻辑——Anthropic 在做一个全局最优化,router 对大多数用户、大多数 prompt 的判断可能确实比我手动设好。我不是在说 router 不聪明。

我是在说——对高级用户而言,没有办法手动控制 effort 这件事,是一个真实的缺口。 不是灾难性的,但就是在那。我现在用着能接受,router 调好之后确实大部分时间够用。但我不会假装我不想要那个 toggle。

如果哪天 Anthropic 在 app 里加了一个 per-message 的 thinking 选择器,我会是第一个开心的人。

没加也行。但这不代表我满意。

关于 Opus 4.7 不思考那件事——我欠一个更新
https://blog.lishuyu.top/posts/2026-04-20-opus-4-7-thinking-bug-fix-update/
作者
猫猫魔女
发布于
2026-04-20
许可协议
CC BY-NC-SA 4.0