在 userPromptKeywords.ts 里,这家公司用来判断用户是否“情绪崩溃”的方式,是这样一段正则:/\b(wtf|shit|fuck|horrible|awful|terrible)\b/i,也就是说,这家号称拥有最先进大语言模型的公司,在做情绪识别时,用的还是最原始的关键词匹配。这就像一家卡车公司,结果还在用马来拉零件
很多人看到那段正则,会本能地笑。
/\b(wtf|shit|fuck|horrible|awful|terrible)\b/i
这家公司用它来判断用户是否\u201c情绪崩溃\u201d。
一个卖最先进大语言模型的人,最后用脏话词表来识别情绪。
像一家卡车公司,结果还在用马来拉零件。
但如果你只盯着这一个 sharp 点,你会错过更重要的部分。
真正值得被覆盖的,不是一段正则。
而是它和另外一堆事实一起出现时,拼出来的那张全景图。
先把最硬的事实摆出来:桌面版是怎么烂的
桌面版的问题不是\u201c偶尔出错\u201d。
而是在最基础的路径上就不稳定。
文章里列的吐槽很具体:
- iOS 上键盘会突然卡住;核心输入框会消失;几乎每次会话都遇到,得退出重进。
- Windows 也会卡顿和崩溃。
- 按钮位置不符合预期,聊天框频繁闪烁,交互不稳定。
- 一些本该体现效率的自动化功能也不稳:比如用 Routines 跑数据库处理流程,始终连不上数据库。
更致命的是\u201c状态错乱\u201d。
任务启动,先卡一分钟。
随后 agent run 随机停住。
线程冻结。
界面图标还挂着,像在告诉你它还活着。
但其实它已经死了。
开发工具最怕的不是失败。
是你不知道它失败了。
一小时 40+ 个 bug:不是质量差,是质量标准本身在变
有人晒了 bug 清单:40 多个问题。
更夸张的是,这 40 多个问题,是 Theo 在一小时试用里集中撞出来的。
这些 bug 不是\u201c某个按钮不好用\u201d这种观感问题。
它们直接切到工作流:
- 快捷键、标签页逻辑混乱,切换标签操作对象乱跳。
- 侧边栏和项目管理割裂,recent projects、线程拖拽、菜单展开方式对不上。
- \u201c打开文件\u201d不会真正打开文件。
- 创建 fork 会生成 worktree 但没有提示。
- 分屏时在右侧操作,打开 terminal 却跑到左侧。
- Tab 键被当作输入,不能顺手切回。
- 关闭按钮旁边贴着拖拽区域,X 很难点中。
- 语音模式下所有输入框会自动输入文字。
- \u201cv more\u201d下拉菜单不是下拉,而是侧边展开。
- \u201c打开文件\u201d会执行 15 种不同操作,但没有一种是真正打开文件。
- 线程可拖拽但永远不能改变顺序。
- diff 视图里的 x 会关掉整个标签页。
当一个产品把这些当成\u201c可以接受\u201d,它其实在宣布一件事:
我们默认软件可以用\u201c能跑\u201d替代\u201c可用\u201d。
100% AI 编码的叙事,撞上了 100% 真实的交付
更刺耳的是对比。
Anthropic 过去一年反复讲\u201c代码越来越多是 AI 写的\u201d。
数字一路往上抬:80%、90%、100%。
文章里把公开表态按时间线串了一遍:
- 2025/3:CEO Dario Amodei 说 3~6 个月后 AI 写 90% 代码。
- 2025/5:Boris Cherny 说整体 80%~90% 的代码是 Claude 写的。
- 2025/9:Amodei 开始收口,说 70%~90%。
- 2025/10:Dreamforce 上说\u201c六个月内 90% 会由 AI 完成,现在已实现\u201d,追问后又补\u201c也不是所有情况\u201d。
- 2025/12:Boris 发推:100%。
- 2026/2:CPO Mike Krieger 说大多数产品基本 100%。
- 2026/3/7:Boris 再确认\u201cClaude Code 100% 由 Claude Code 写\u201d。
如果这些数字是真的,它们本该导向一个更稳定的交付。
但桌面版的现实是:边写边补,一路 vibe 出来的半成品。
于是\u201c100%\u201d突然变成一个反问句:
100% 到底产出了什么?
源码泄露给了另一块拼图:不是一处烂,是结构在失控
桌面版翻车不是孤例。
文章把视线拉回到之前的代码泄露。
里面有个反复被提到的文件:print.ts。
单文件里只有一个函数。
但这个函数 3167 行,486 个分支判断,嵌套深度 12 层。
更夸张的是,它把一堆核心逻辑硬塞进去:
agent 运行循环、SIGINT 中断处理、限流、AWS 认证、MCP 生命周期、插件加载、while(true) 轮询\u201cteam lead\u201d、模型切换、中断恢复机制……
这种写法不是\u201c代码风格不好看\u201d。
它是在消耗团队未来的可维护性。
而类似的情况不止一处:
- QueryEngine.ts 4.6 万行
- Tool.ts 接近 3 万行
- commands.ts 2.5 万行
- main.tsx 单文件 785KB
这不是\u201c一个 bug\u201d。
这是结构性失控。
再回到那段正则:它其实是\u201c工程选择\u201d的缩影
有人会说:正则更快、更便宜,不需要额外推理调用。
工程上合理。
我同意。
但它的意义不是\u201c这家公司傻\u201d。
而是它说明:在关键的体验环节,他们选择了\u201c能跑就行\u201d。
便宜优先。
速度优先。
先上线再说。
当你把这段正则和上面的事实放在一起,问题就变得很清楚:
工程文化是没有开关的。
一个习惯把所有逻辑塞进一个函数、习惯用 12 层嵌套堆分支的团队,不会在别的地方突然变得严谨。
最后的结论:AI 只会放大你原本是什么样
AI 编程工具最大的风险,不是\u201c写得慢\u201d。
而是它让更多团队获得了\u201c看起来很能写\u201d的错觉,却没有相应的工程标准去约束它。
有纪律的组织,会把\u201c更快\u201d导向\u201c更好\u201d。
没有纪律的组织,会以机器速度堆技术债。
这就是为什么我觉得桌面版翻车值得看。
它不是一款 App 的失败。
它更像一张 X 光片:把\u201c工程文化\u201d这根骨头照出来了。
参考
- 参考文章(用于启发与转述,不逐字引用):《Claude Code 桌面版烂爆了,Anthropic 终于把 “100% AI 编码”演砸了》(InfoQ,2026年4月17日 16:40) https://mp.weixin.qq.com/s/YiGEt3CZisPJrtdKM-oTog