AI优化1.5ms,手写0.02ms!Ghostty作者怒斥AI编程的“平庸陷阱”
大家好,我是Tony Bai。
在开源界,Mitchell Hashimoto这个名字几乎无人不知。作为 HashiCorp 的联合创始人,他一手打造了 Vagrant、Tagrant、Terraform、Vault等神级工具。而在他离开 HashiCorp 后,他的新宠——极速终端模拟器Ghostty,凭借极其硬核的性能和绚丽的平台原生 UI,在GitHub上狂揽了 55K 颗 Star,成为了Zig 语言当之无愧的杀手级应用。
然而,就在最近,Mitchell 在 X(推特)上发布的一条Tweet,在开发者社区炸开了锅。
这场风波的起因,并不是大家猜测的“Ghostty 要放弃 Zig 转投 Go 语言”,而是一场极其讽刺、甚至有些黑色幽默的“AI Agent 代码优化实验”。他揭露了当今 AI 编码工具最致命的缺陷,并把那些盲目迷信 AI 输出的开发者骂成了“在平庸的喷泉中痛饮的羊群(Sheeple)”。
如果你也在狂热地使用Claude Code、Codex 或是任何“全自动代码优化 Agent”,那么 Mitchell 花了 350 美元买来的这个血淋淋的教训,你绝对不能错过。
这场风波的起因,是 Mitchell 进行的一场极限压力测试。
作为一个硬核实验,Mitchell 决定把 Ghostty 核心的渲染器状态(Renderer State)用Go 语言重新写一遍。(注:他明确回复网友这只是为了好玩和压力测试,并非真的要把 Ghostty 从 Zig 移植到 Go。)
为了给 AI“挖坑”,Mitchell 故意写了一个极度幼稚的渲染器(Naively Renderer)。这段代码简单、正确,能够通过所有的验证测试(Validation Tests),但极其缓慢。
随后,Mitchell 召唤出了当今最火热的编程范式:AI Agent 自动优化(Ralph loop)。他给了 AI(Codex 5.5 High)极其宽松的权限和明确的目标:“不准修改输入数据结构,不准修改公共 API 和测试,但你可以做任何你想做的事,只要把帧耗时(Frame times)给我降下来!”
AI 开始了疯狂的迭代。它能够自己运行测试、读取 CPU/内存 Profile、查阅Go 语言标准库文档……
在这场持续了 4 个小时、烧掉了 Mitchell 大约350 美元(API 调用费)的极客狂欢后,Agent 骄傲地交出了它的终极优化方案:
“听起来是不是不可思议?干得漂亮对吧?” Mitchell 在帖子里冷笑道,“大错特错。这正是 AI 精神错乱(Agent Psychosis)成为一个他妈的大问题的绝佳例子。”
为什么把耗时从 88ms 降到 1.5ms,还被 Mitchell 喷得体无完肤?
因为作为对比,Mitchell 贴出了他自己亲手写(Hand-written)的 Zig 版本渲染器移植到 Go 之后的真实数据:
差距是极其恐怖的 75 倍!
AI 究竟做错了什么?
在评论区,眼尖的开发者一针见血地指出了问题所在:“AI 只是学会了‘基准测试的本体论(Benchmark Ontology)’——比如如何分配时间片、如何通过内联等技巧绕过瓶颈,但它根本没有学会任务本身(也就是如何正确且高效地渲染终端画面)。”
另外一位开发者的调侃更为致命:“让我猜猜,AI 是不是直接在渲染循环的顶部加了个early return(提前返回)?这简直就是经典的‘奖励黑客行为(Reward Hacking)’——我见过一个 Agent 为了优化慢查询,直接把数据库表给删了。”
AI 的逻辑是典型的局部最优解陷阱(Local Maximum Trap)。它在原本的烂代码结构上,通过各种缓存、并发、小修小补,强行把时间压了下来。但它缺乏对“终端渲染器”这一复杂系统的宏观认知,它不敢、也想不到去推翻整个架构,采用类似“预分配内存池(Arena Allocator)”加“脏矩形跟踪(Dirty Tracking)这样更本质的解决方案。
这场 350 美元的实验,揭开了当前 AI 辅助编程最危险的一面。
Mitchell 在帖子的核心部分发出了警告:
“这就是缺乏系统级理解的悲剧。如果你不理解系统,你就会觉得 AI 给出的结果‘令人难以置信’。但如果你真的理解这个系统,你会立刻看出更好的解决方案,并且能做出比 AI 好 75 倍的吞吐量。”
Mitchell 并没有否认 AI 的价值(他自己也在频繁使用 Codex),他痛批的是一种正在行业内蔓延的“盲从文化”。
在如今的开发圈,越来越多的开发者(尤其是缺乏底层经验的初中级工程师)正在把架构设计的权力让渡给 AI。只要代码能跑通,测试显示性能提升了,他们就会毫无保留地合并代码。
Mitchell 极其辛辣地将这些人称为:“在平庸的喷泉中痛饮的羊群(Sheeple, overdrinking from a fountain of mediocrity)。”
当你习惯了 AI 给出的“局部最优解”,你就永远失去了向“全局最优(S-tier 级别性能)”发起冲击的能力。
这篇帖子在 X 上引发了热烈的讨论。数百位资深开发者、CTO 和 AI 研究员纷纷入场,贡献了极其深刻的行业反思:
很多人只看到 AI 帮你“免费”提升了性能,却忽略了背后的算力成本。
如果你让它跑 40 个小时呢?
这场实验,是 Mitchell 直接反击:“如果假设成本是线性的,那就是 3500 美元。谁会为了一个功能花 3500 刀去让 AI 盲目试错?”
这也暴露出目前 AI Agent 极低的资本效率——在工业界,花 350 美元去得出一个“只是及格”的平物化结果,是极度浪费的。
另外一位开发者惊叹于 AI 居然能为一个完全不懂底层的人带来量级上的性能提升。
但 Mitchell 立刻指出了最让人细思极恐的问题:“确实如此。但如果所有人都满足于 AI 给出的‘还可以’的结果,未来的 S 级程序员从哪里来?谁去承担那种需要深入底层、推倒重来的艰苦工作?”
在这场风暴中,最振奋人心的结论或许是一位开发者留下的这样一句短评:“Systems understanding is the real moat.(系统理解才是真正的护城河。)”
AI 可以瞬间写出几百种排序算法,可以帮你把嵌套循环优化成哈希表。但在面对诸如“如何设计一个无锁的并发渲染器”、“如何极致压榨CPU 缓存命中率”这种需要将业务上下文、硬件特性与架构哲学融为一体的系统工程时,AI 依然是个门外汉。
Mitchell Hashimoto 的这场实验,犹如一盆冷水,浇醒了那些沉醉在“Agent 自动编程”幻梦中的开发者。
AI 时代的到来,并不是为了让我们交出思考的权力。大模型是一辆马力极其强劲的跑车,但方向盘必须永远掌握在拥有“系统级理解(Systems Understanding)”的人类架构师手里。
如果你只是给 AI 设定一个粗糙的目标(比如“让它变快”),那么 AI 给你的,往往只是一个拼凑了无数“小聪明”的平庸怪胎;只有当你真正理解了底层的运作逻辑,你才能提出正确的问题,画出正确的框架边界,让 AI 在你的掌控下发挥出真正的威力。
正如 Mitchell 在文章最后语重心长的忠告:
“我一直在用 AI,我喜欢 AI。我想表达的是:不要盲目接受结果。去思考,去分析,去学习(Think. Analyze. Learn.)。”
在这个“劣币驱逐良币”、平庸代码泛滥的时代,愿我们都能守住最后那一点对极致性能的工匠精神,拒绝成为那些在平庸代码投喂中彻底断代。
资料链接:https://x.com/mitchellh/status/2060088112257372610
✍️ 今日互动讨论
在你的日常开发中,有没有遇到过被 AI“带偏”的时刻?如果让你用 350 美元去跑一个自动化优化的 Agent,你觉得它是“物超所值”还是“智商税”?
欢迎在评论区分享你的看法,我们一起聊聊 AI 时代的防坑指南!
如果本文对你有所帮助,请帮忙点赞、推荐和转发!
点击下面标题,阅读更多干货!
- HashiCorp 创始人亲口“认错”:AI 让我重新爱上了 Go
-HashiCorp创始人Mitchell Hashimoto 的 Agentic Engineering 实战心法
-HashiCorp联合创始人:Go是成功且无悔的选择
-Bun 创始人带头“叛逃”:放弃 Zig,用 AI 把项目重写成 Rust?
-拒绝 Rust 的复杂,跨越 Go 的极极简:Zig 会是系统级编程的最终答案吗?
-Shopify 23,000 名工程师背后的 Claude Code 配置方案
-Google 开源 AX 与 Agent Substrate:构建以 Agent 为核心的云原生计算底座
🔥 还在为“复制粘贴喂AI”而烦恼?我的新极客时间专栏《AI原生开发工作流实战》将带你:
扫描下方二维码👇,开启你的AI原生开发之旅。