本文翻译自 Claude Code Is Being Dumbed Down,原载于 Hacker News。
Claude Code 2.1.20 版本发布了一个变更:把每一次文件读取和每一个搜索模式都替换成了单一的、毫无用处的一行摘要。
以前你能看到的是:
Read file: src/utils/parser.ts
Read file: src/components/Header.tsx
Searched for pattern: "useEffect.*cleanup"
现在你只能看到:
Read 3 files.
Searched for 1 pattern.
就这样。
「读取了 3 个文件。」哪些文件?不重要。
「搜索了 1 个模式。」什么模式?谁在乎。
你每个月付 200 美元使用的工具,现在默认隐藏它对你代码库做了什么。
用户的反弹
在 GitHub 上为此开放的多个 issue 中,所有评论基本上都在说同一件事:把文件路径还给我们,或者至少给我们一个开关。
Anthropic 的回应是:
对于大多数用户来说,这个变更是一个不错的简化,减少了噪音。
什么大多数?这个变更刚发布,收到的唯一反馈就是人们在抱怨。
然后被追问时,他们提供的修复方案不是回滚或添加开关。而是:「用 verbose 模式就好了。」
verbose 模式。
一坨巨大的、包含思考追踪、hook 输出、完整的子代理记录和整个文件内容的日志,全部倾泻到你的终端里。人们反复解释说,他们想要的是一样很具体的东西:内联显示的文件路径和搜索模式。不是一肚子调试输出的洪流。
开发者的回应是:
我想听听大家对 verbose 模式还缺什么,让它能成为适合你使用场景的方案。
再读一遍。三十个人说「回滚变更或给我们一个开关」。答案是「让我把 verbose 模式改得适合你」。
正如一位评论者所说:
如果你要显示类似「搜索了 13 个模式,读取了 2 个文件」这样的信息,我拿这些信息什么也做不了。你还不如干脆不显示。
越改越乱
几个版本之后,「修复」方案是继续让 verbose 模式变得越来越不 verbose——移除思考追踪和 hook 输出,好让它成为一个能容忍的获取文件路径的方式。但 verbose 模式仍然会把完整的子代理输出等等东西倾泻到你的屏幕上。
以前,当 Claude 生成多个子代理时,你会看到一个紧凑的逐行流,显示每个代理在做什么,刚好够瞥一眼。现在你同时收到多个代理的大段文字墙。
所以计划是什么?一个一个地从 verbose 模式里剥离东西,直到它不再 verbose?这到哪里是个头?到某个点你就只是用额外的步骤重新发明了一个配置开关。
而那些之前用 verbose 模式来看思考和 hooks 的人,现在需要按 Ctrl+O 才能获得他们之前默认就有的东西。所以你不是修复了一个问题,而是创造了两个。
一个简单的解决方案
人们正在把自己锁定在 2.1.19 版本,与此同时,每个人都在要求的修复——一个简单的布尔配置标志——实现起来比所有这些 verbose 模式的手术要少得多的工作量。
Anthropic 在超级碗期间:我们永远不会不尊重我们的用户。
Anthropic 在 GitHub 上:你试过 verbose 模式吗?
关键要点
-
透明度的重要性:开发者工具的核心价值之一是让用户清楚知道发生了什么。隐藏文件路径和搜索模式剥夺了用户对自己代码库的可见性。
-
倾听用户反馈:当三十个人在 issue 里说同一件事时,正确的做法不是推销一个没人要的替代方案,而是认真考虑他们的需求。
-
简单的解决方案往往最好:一个布尔配置标志可以同时满足两类用户——喜欢简洁的人和需要详细信息的人。复杂化 verbose 模式只是在绕远路。
-
产品决策的两难:这个案例展示了「简化用户体验」和「保持专业用户需要的可见性」之间的张力。好的产品应该让用户自己选择,而不是替他们做决定。