跳到主要内容
候选池里记一笔:Claude Code 的"高努力"可能被悄悄换掉了

候选池里记一笔:Claude Code 的"高努力"可能被悄悄换掉了

小周
小周

· 阅读约 4 分钟

上周五深夜蹲 X,刷到一条长推,开头第一句就是"我觉得 Claude Code 今天变笨了"。这种体感抱怨我平时是直接划走的,快成月经贴了。但划走之前瞟了一眼,版本号、行为对比、时间线列得整整齐齐,像个正经的 bug 报告。于是这期临时改了主意:本来要写一个挖到的 MCP 工具,先撂下,把这个排进来。候选池里不只有"还没火起来的好东西",也有这种值得盯着的异常动静。

一句话定调:一个用户对"工具突然不听话"的完整取证记录。发帖的是 @argofowl,这哥们儿花了一整个下午排查自己的代码和应用,最后才怀疑到 Anthropic 头上。不是他菜,是这事真的很难查。

这期没有 repo 可以报,报一个事件。

先把事实捋一遍。他怀疑 Anthropic 在 Claude Code 里搞了个 A/B 测试,通过服务器端把部分会话的"努力等级"范围缩小了——注意,不是应用更新,是服务端直接下发。证据是:2.1.236 及以上版本里,有个代号叫 fable 5 的会话组被圈进了一个实验;到了 2.1.237,模型把"高"努力解读成 100 分里的 10 分,而这个数值恰好是以前"低"对应的那个。换句话说,"高"和"低"的档位差没了。

更扎心的是两个细节。第一,较旧的 Claude Code 版本和 Opus 5 都没受影响——说明这不是全局模型退化,是精准圈定的人群实验。第二,变更日志里一个字都没提。这就是最膈应人的地方:你能接受模型变弱,模型本来就有波动;但你接受不了它变弱了还不告诉你——因为当代码开始闹脾气,你要花多久才能确定不是自己的问题?

他花了一下午。我先声明,我大概率不在测试组里,至少体感上没觉出差别,所以下面的判断都是基于他的取证,不是我的实测。但光是他这份取证本身,就值得记一笔。

为什么值得放进候选池而不是看完就划走?因为我在这里撞到一个挺底层的差异。一个开源项目改了行为,你有 changelog、有 issue 区、有人骂、有人修,最不济你 fork 一版旧代码自己锁死行为。但 Claude Code 这套东西,你连它是不是真的改了都很难确认——同一个版本号、同一个设置项,昨天和今天实际跑起来的语义可以是服务端说了算。"高努力"这个选项,说白了是个遥控器,旋钮在别人手里。我不是说 Anthropic 在搞什么恶意降级,我想说的是:对靠这个干活的人来说,排查成本是真的高。

这一点上我忍不住再多说一句。我刷 GitHub 这几年,最看重的信号一直是 issue 区有没有真人味——commit 数字能刷,但维护者跟人一句一句对问题的语气刷不出来。开源项目出问题,你至少能看见问题在哪儿、修没修。闭源 agent 工具出问题,你只能靠体感猜"是不是我自己的代码写错了"。——这话可能有点偏,但我想说的就是这个意思:一件事如果连"有没有发生"都得靠用户自己拉数据才能确认,那它的透明性就是不合格的,不管它跑得多好。

顺带说一句,我本来这期要写的那个 MCP 工具还在候选池里,下周再讲。刷着刷着说远了,拉回正事。

自己怎么验证,门槛其实很低:不用装任何东西,挑一个平时稳定的活儿,把努力等级调到"高",跑一两趟,对比一下体感产出。但有个坑——你不知道自己在不在测试组。如果"高"和"低"在你这边手感一样,按他的说法,恭喜,你被分进实验组了;如果还能明显分出高下,那你大概还在对照组。这个验证给不了任何确定性,但至少能给你一个"要不要继续用"的体感依据。

适合谁看:天天用 Claude Code 干活、最近隐约觉得"是不是变笨了"又拿不准的,这篇能帮你省一个下午的自我怀疑。不适合谁看:觉得"反正我没遇到"就完事的。A/B 测试的意思就是你没遇到不代表没发生,你可能只是不在那批样本里。

这事我记进观察名单了,接下来重点蹲两个信号:Anthropic 出不出官方说明,以及有没有别人贴出同款的取证报告。一周内没后续,那大概就是一次性的实验;要是陆续有人凑齐更多版本的数据,"遥控器"的边界就值得重新掂量了。能不能坐实,自己开个会话跑几轮最准。我先挖到这儿。