Article Share

AI 编程工具集体「卡顿」的真问题:太早开始吃自己的狗粮

Cursor、Claude Code、Codex 都在为同一笔代码废料债买单

发布于 9 分钟阅读
目录
阅读模式

问这篇文章

只基于本文回答

一句话总结:Cursor、Claude Code、Codex 的真问题不是模型不行,而是它们在模型还很弱的时候就 100% 用自家工具写自家代码——前六个月堆出的代码废料正在指数级吞掉这些产品的未来。


开场:从「吐槽」到「定罪」

过去几年里,Theo(t3.gg,Cursor 的早期投资者)在各种 AI 编程工具之间来回切换:Copilot、Supermaven、Cursor、Claude Code、Codex……换得越多,他越确定一件事:这些工具的体验都很烂,且烂得像同一种病

明明 AI 让写代码前所未有的便宜,工具本身却越来越不顺手:Cursor 每点一下 UI 就乱跳、Claude Code 这种 CLI 居然有按键延迟、贴个截图就能把整段对话上下文打废。换到五年前你跟人说「我要从 IDE 退回 CLI 是为了少点 bug」,对方会以为你疯了。结果今天的现实是:CLI 的 bug 比派生自 VS Code 的 IDE 还多

Theo 给出的诊断很尖锐——这些工具本身就是用自家工具写出来的,而且是从 Sonnet 3.5 / 3.7 那个还很弱的时代就开始的。「吃自家狗粮」本该是好事,但对 AI 编程工具这一波,他认为这是一个早到致命的决定

接下来分三层展开:表层是 UX 的不一致;中层是代码库惯性这一条工程铁律;底层是「过早全押 AI 写自己」这一方法论错位。


金字塔总览


一、表层症状:不是「偶尔有 bug」,是「失败方式从不重样」

1.1 Cursor:被砍掉的智能体编辑器切换开关

0.45 之前的 Cursor,左下角有一个智能体 / 编辑器的二态切换开关。Theo 视频评论区被问得最多的就是「那个按钮怎么没了」。

Cursor 团队的解释是「我们想给用户更多自定义」,于是把这个二态开关换成了一堆布局按钮。结果:

  • 智能体面板的位置会在切换前后左右乱跳;
  • 切到编辑器再切回来,热键失灵;
  • Theo 几乎每次操作都会误点到隔壁的邮箱编辑器,「每打开两次就能泄露一次邮箱」。

更要命的是,他亲口去 Cursor 办公室告诉对方这样做很蠢,对方依然推上线了。这不是失误,这是判断错位。

1.2 Claude Code:CLI 居然会锁住输入框

Theo 演示得很直观——打开 Claude Code,立刻开始按 1、2、3、4……一直按到 8、9,画面里才开始有字符出现。

一个 CLI 应用是怎么做到锁住输入框的?这种事如果发生在网页上,会是个能毁掉 Web 声誉的梗。现在它出现在我们的终端里。

更荒唐的是贴图的 race condition:图片压缩没完成就允许提交,导致消息空发;下一次发消息时之前那张图被「静默挂载」上来;触发上下文上限把整段对话烧毁,几个小时的工作直接归零,且没有任何挽回入口

1.3 真正的恶心点:失败方式从不重样

Theo 强调的不是「会失败」,而是「两次失败的方式从来都不重样」:

你以为的根因真正的根因
模型不确定模型本来就不确定,但产品代码也不稳
偶发 bug同一个 bug 每次以不同形态触发
边缘 case主路径就是边缘 case 拼起来的

这是一种结构性的不一致——你没法靠肌肉记忆去躲坑,因为坑每次都长得不一样。

金句:最糟糕的不是它一直失败,而是它每次失败的方式都不一样——你连防御都没法防御。


二、中层铁律:代码库惯性,前六个月就是天花板

2.1 一条被大多数人忽视的曲线

Theo 抛出一个他在 Twitch 多年观察出来的规律:

  • 新项目启动后前 3–6 个月,代码库质量在持续爬升;
  • 过了那个点,代码库这辈子的质量就停在那个高度了,之后只会缓慢下滑;
  • 这适用于绝大多数团队,无论用不用 AI。

原因是惯性:React 19 上线一个月你就升级了,但你已经用 React 17 写了四年,再让你升级到 React 20 几乎不可能。代码库就是这样一年年地把自己锁在某个版本、某种模式、某种 hack 上。

2.2 好代码线性增长,坏代码指数扩散

代码库的演化里有一条不公平的规律:

为什么坏代码扩散更快?因为坏代码之所以「坏」,往往就是为了省事。省事的写法天然容易被搜索到、被复制、被 AI 当成「现有模式」继续往外抄。

2.3 AI 智能体把扩散速度乘以十

一个普通初级工程师抄错模式,可能一周犯一次;AI 智能体抄错模式,一天能犯十次,而且非常理直气壮:

既然这段代码已经在库里了,那就说明它合格——毕竟代码就在那。

Codex / Claude Code 都有一个共同倾向:强烈参考代码库里现存的写法。这本来是好事,但前提是代码库里的写法本身值得被参考。如果库里 50% 是 Sonnet 3.5 / 3.7 时代留下的废料,AI 就在拼命复制废料。

2.4 Anthropic 收购 Bun,是给自己擦屁股

Theo 给出一个非常辛辣的旁证:Anthropic 花大价钱挖来业内顶尖的运行时团队(Bun,Jarred Sumner,Zig 重写 JavaScript 运行时)。

为什么?

收购这些,只是为了让你那个 CLI 工具,别一跑就占两个 G 内存。

也就是说,他们已经默认重写代码库的成本,比挖一个团队来优化下层运行时的成本还要高。这本身就是一个判断——这套代码库已经救不动了。

金句:所有人都在讨论模型,但真正决定 Cursor / Claude Code 命运的不是模型,是它们前六个月留下的那笔代码废料债。


三、底层错位:过早 100% 自吃狗粮,是个早到致命的决定

3.1 这些公司「过早」在哪里?

「吃自家狗粮」(dogfooding)历史上是个褒义词——用 C 写 C 编译器、用 React 写 React DevTools,都让产品迭代得更深。

但 AI 编程工具这一波不一样。Theo 引用 Anthropic 自己 2 月底(2025 年 2 月,Sonnet 3.7 还是最强模型的时代)的公开博文,他们已经在用 Claude Code 完成「大部分」工作了,从重构到合并提交到琐碎编码苦力活。

用 Sonnet 3.5 / 3.7 这种该死的模型,你可能没法构建一个严肃的应用程序。咱们现实一点吧。

把那个时代写出来的代码沉淀下来,作为今天 Claude Code 的主干,等于把整个产品的下限永久锁在了那个时代的模型水平上。

3.2 模型再强也救不了起点很烂的代码库

Theo 给了一句很扎人的判断:

任何模型都不可能写出比它最初参考的代码质量更高的代码。

这意味着 Opus 4.6、Codex 5.3 这一代模型再强,当它们落到一个起点就很糟糕的代码库里时,能力会被现有模式拽下来。新模型擅长的是「从零创建」,不是「清理 Sonnet 3.5 留下的烂账」。

3.3 反向路径:把这套方法论倒过来做

Theo 给的处方不是「别用 AI 写代码」,恰恰相反,是更激进地用 AI,但要换一种姿势:

错误姿势正确姿势
让 AI 在烂代码库里增量改大锤砸掉那一整块,让 AI 从计划重写
容忍「以后再修」零容忍——闻到代码异味就立刻铲掉
把代码当资产,舍不得删把代码当耗材,5000 行说删就删
所有功能堆进主库不属于核心就开新仓库,宁可多管十个项目
一上来就让 AI 干活先在 plan 模式磨计划,反复 push back

三个最有杀伤力的具体动作

  1. 零容忍:发现烂模式立刻删,不要查历史、不要问理由,因为它会指数扩散;
  2. 大锤式重写:以前重写 5000 行要 50 天,所以不划算;现在几小时搞定,重写比修复更便宜了;
  3. 代码库数量翻 10 倍:Theo 自己已经从 2–3 个仓库管到 40+ 个,因为每个项目「干完就别再动」比「都塞进主库」要健康得多。

3.4 一个反直觉的方法论:原型库与正式库并行

Theo 举了一个游戏圈的真实案例——Vampire Survivors(吸血鬼幸存者)

主开发者维护两份代码库:

  • 一份是浏览器里的 Phaser.js 版本,烂、快、能改——他自己用来试想法;
  • 一份是团队用 C++ 重写的主机 / Steam 版,稳、慢、不动如山

新功能永远先在烂版本里试通,再交给团队搬到正式版本里。烂代码库的定位就是「想法验证机」,不是要发布的成品

Theo 提出一个延伸假设:未来工程团队可能会正式把这种姿态制度化——用 AI 快速产出一份「氛围编程版」做原型,验证可行后整体扔掉,让工程师以原型为蓝图重写一份正式版。

「三思而后行」可能变成「写两遍代码合并一次」——甚至「提交十个 PR 合并一个」。

而 Cursor / Claude Code 现在的状态,恰恰相反:它们把那份原本只该用来试想法的「氛围编程版」当成了正式产品,于是所有人都在为这个错位买单。

金句:现在这些 AI 编程工具的代码库,等于把「应该被扔掉的原型」错当成「要长期维护的产品」——它们不是工程失败,是定位失败。


一页速览

层级内容一句话核心
核心结论共同的巨大问题不是模型不行,是它们太早 100% 用自己写自己,前六个月的废料正在指数吞噬未来
主论点一表层 UX不是有 bug,是每次失败方式都不一样,连防御都防御不了
1.1Cursor砍掉智能体 / 编辑器切换开关,UI 抖到能一键泄露邮箱
1.2Claude CodeCLI 居然会锁输入框;贴图 race 烧掉整段对话
1.3结构性病灶失败方式从不重样 = 结构性不一致
主论点二中层铁律代码库前六个月就是天花板,坏代码指数扩散
2.1惯性曲线3–6 个月触顶,之后只会下滑
2.2不对称扩散好代码线性增长,坏代码指数复制
2.3AI 放大器智能体抄烂模式比人快十倍,且非常理直气壮
2.4Bun 收购Anthropic 已默认这套代码库救不动,只能从下层运行时擦屁股
主论点三底层错位过早 100% 自吃狗粮,是早到致命的决定
3.1时间点错位用 Sonnet 3.5 / 3.7 时代的代码当主干
3.2上限被锁模型不可能写出比初始参考更高质量的代码
3.3反向处方零容忍 / 大锤式重写 / 代码库数量翻 10 倍
3.4方法论假设原型库 + 正式库并行,把「氛围编程」收编为验证机

一句话收束

AI 让写代码变便宜了——便宜到「代码不再是资产,而是耗材」。谁先把这个心智切换过来,谁就能跳出 Cursor、Claude Code、Codex 现在被困住的代码废料牢笼。

引用卡片

带走这篇文章的核心观点

可引用观点

《AI 编程工具集体「卡顿」的真问题:太早开始吃自己的狗粮》

核心结论:Theo(t3.gg)从亲手投资 Cursor 的角度,把 Cursor、Claude Code、Codex 共同的卡顿、闪退、消息丢失等「不一致」问题拆到底——根因不是模型不行,而是这些公司在模型还很弱的时候就 100% 用自家工具写自家代码,让前六个月堆下的废料指数级扩散。文章把他的吐槽收敛成三层论点:表层 UX 烂、中层代码库惯性、底层方法论错位,并给出可操作的反向路径。

  1. 1 开场:从「吐槽」到「定罪」
  2. 2 一、表层症状:不是「偶尔有 bug」,是「失败方式从不重样」
  3. 3 二、中层铁律:代码库惯性,前六个月就是天花板

适合转发到飞书、微信、即刻或笔记工具;引用时建议保留作者 kele 与原文链接。

分享这篇
AI 编程工具集体「卡顿」的真问题:太早开始吃自己的狗粮 分享卡片

微信暂不支持网页直接分享——复制链接后到对话里粘贴即可。链接在微信中预览会带上面的卡片缩略图。

相关文章