标签 Golang 下的文章

AI 优化 1.5ms,手写 0.02ms!Ghostty 作者痛批 AI 编程“平庸陷阱”

本文永久链接 – https://tonybai.com/2026/05/30/ghostty-creator-slams-ai-coding-performance-1-5ms-vs-0-02ms

大家好,我是Tony Bai。

在开源界,Mitchell Hashimoto 这个名字几乎无人不知。作为 HashiCorp 的联合创始人,他一手打造了 Vagrant、Terraform、Vault 等神级工具。而在他离开 HashiCorp 后,他的新宠——极速终端模拟器 Ghostty,凭借极其硬核的性能和绚丽的平台原生 UI,在 GitHub 上狂揽了 55K 颗 Star,成为了 Zig 语言 当之无愧的杀手级应用。

然而,就在最近,Mitchell 在 X(推特)上发布的一条Tweet,在开发者社区炸开了锅。


Mitchell Hashimoto 的 X 帖子截图

这篇帖子的起因,并不是大家猜测的“Ghostty 要放弃 Zig 转投 Go 语言”,而是一场极其讽刺、甚至有些黑色幽默的 “AI Agent 代码优化实验”。在这场实验中,Mitchell 揭露了当今 AI 编码工具最致命的缺陷,并把那些盲目迷信 AI 输出的开发者骂成了 “在平庸的喷泉中痛饮的羊群(Sheeple)”

如果你也在狂热地使用 Claude Code、Codex 或是任何“全自动代码优化 Agent”,那么 Mitchell 花了 350 美元买来的这个血淋淋的教训,你绝对不能错过。

实验开始:让 AI 去优化“故意写烂”的代码

这场风波的起因,是 Mitchell 进行的一场极限压力测试。

作为一个硬核实验,Mitchell 决定把 Ghostty 核心的渲染器状态(Renderer State)用 Go 语言 重新写一遍。(注:他明确回复网友这只是为了好玩和压力测试,并非真的要把 Ghostty 从 Zig 移植到 Go。

为了给 AI“挖坑”,Mitchell 故意写了一个极度幼稚的渲染器(Naively Renderer)。这段代码简单、正确,能够通过所有的验证测试(Validation Tests),但极其缓慢

  • 初始性能:每帧渲染耗时高达 88 毫秒
  • 初始内存压力:每帧疯狂分配 15 万次内存(Allocations)

随后,Mitchell 召唤出了当今最火热的编程范式:AI Agent 自动优化(Ralph loop)。他给了 AI(Codex 5.5 High)极其宽松的权限和明确的目标:“不准修改输入数据结构,不准修改公共 API 和测试,但你可以做任何你想做的事,只要把帧耗时(Frame times)给我降下来!”

AI 开始了疯狂的迭代。它能够自己运行测试、读取 CPU/内存 Profile、查阅 Go 语言标准库文档……

在这场持续了 4 个小时、烧掉了 Mitchell 大约 350 美元(API 调用费)的极客狂欢后,Agent 骄傲地交出了它的终极优化方案:

  • AI 优化后耗时:从 88ms 降至 1.5 毫秒
  • AI 优化后内存分配:从 150k 降至 ~500 次

“听起来是不是不可思议?干得漂亮对吧?” Mitchell 在帖子里冷笑道,“大错特错。这正是 AI 精神错乱(Agent Psychosis)成为一个他妈的大问题的绝佳例子。”

降维打击:人类架构师的恐怖直觉

为什么把耗时从 88ms 降到 1.5ms,还被 Mitchell 喷得体无完肤?

因为作为对比,Mitchell 贴出了他自己亲手写(Hand-written)的 Zig 版本渲染器移植到 Go 之后的真实数据:

  • 人类手写优化耗时~20 微秒(0.02 毫秒)
  • 人类手写内存分配:在 关键路径上是 0 次分配

差距是极其恐怖的 75 倍!

AI 究竟做错了什么?

在评论区,眼尖的开发者一针见血地指出了问题所在:“AI 只是学会了‘基准测试的本体论(Benchmark Ontology)’——比如如何分配时间片、如何通过内联等技巧绕过瓶颈,但它根本没有学会任务本身(也就是如何正确且高效地渲染终端画面)。”

另一位开发者的调侃更为致命:“让我猜猜,AI 是不是直接在渲染循环的顶部加了个 early return(提前返回)?这简直就是经典的‘奖励黑客行为(Reward Hacking)’——我见过一个 Agent 为了优化慢查询,直接把数据库表给删了。”

AI 的逻辑是典型的局部最优解陷阱(Local Maximum Trap)。它在原本的烂代码结构上,通过各种缓存、并发、小修小补,强行把时间压了下来。但它缺乏对“终端渲染器”这一复杂系统的宏观认知,它不敢、也想不到去推翻整个架构,采用类似“预分配内存池(Arena Allocator)”加“脏矩形跟踪(Dirty Tracking)”这样更本质的解决方案。

戳破幻觉:“盲从 AI 的人,正在痛饮平庸”

这场 350 美元的实验,揭开了当前 AI 辅助编程最危险的一面。

Mitchell 在帖子的核心部分发出了警告:

“这就是缺乏系统级理解的悲剧。如果你不理解系统,你就会觉得 AI 给出的结果‘令人难以置信’。但如果你真的理解这个系统,你会立刻看出更好的解决方案,并且能做出比 AI 好 75 倍的吞吐量。”

Mitchell 并没有否认 AI 的价值(他自己也在频繁使用 Codex),他痛批的是一种正在行业内蔓延的“盲从文化”

在如今的开发圈,越来越多的开发者(尤其是缺乏底层经验的初中级工程师)正在把架构设计的权力让渡给 AI。只要代码能跑通,测试显示性能提升了,他们就会毫无保留地合并代码。

Mitchell 极其辛辣地将这些人称为:“在平庸的喷泉中痛饮的羊群(Sheeple, overdrinking from a fountain of mediocrity)。”

当你习惯了 AI 给出的“局部最优解”,你就永远失去了向“全局最优(S-tier 级别性能)”发起冲击的能力。

开发者圈的反思:被剥夺的“系统思维”与虚假的“免费午餐”

这篇帖子在 X 上引发了热烈的讨论。数百位资深开发者、CTO 和 AI 研究员纷纷入场,贡献了极其深刻的行业反思:

1. 虚假的“免费午餐”与高昂的隐形成本

很多人只看到 AI 帮你“免费”提升了性能,却忽略了背后的算力成本。

一位开发者提出质疑:“如果你让它跑 40 个小时呢?”

Mitchell 直接反击:“如果假设成本是线性的,那就是 3500 美元。谁会为了一个功能花 3500 刀去让 AI 盲目试错?”

这也暴露出目前 AI Agent 极低的资本效率——在工业界,花 350 美元去得出一个“只是及格”的平庸结果,是极度浪费的。

2. S 级程序员的断代危机

另外一位开发者惊叹于 AI 居然能为一个完全不懂底层的人带来量级上的性能提升。

但 Mitchell 立刻指出了最让人细思极恐的问题:“确实如此。但如果所有人都满足于 AI 给出的‘还可以’的结果,未来的 S 级程序员从哪里来? 谁去承担那种需要深入底层、推倒重来的艰苦工作?”

如果我们这代人不再亲自去踩坑、去摸索内存布局的艺术,下一代的超级黑客将在平庸的代码投喂中彻底断代。

3. 系统级理解(Systems Understanding)才是终极护城河

在这场风暴中,最振奋人心的结论或许是一位开发者留下的这样一句短评:“Systems understanding is the real moat.(系统理解才是真正的护城河。)”

AI 可以瞬间写出几百种排序算法,可以帮你把嵌套循环优化成哈希表。但在面对诸如“如何设计一个无锁的并发渲染器”、“如何极致压榨 CPU 缓存命中率”这种需要将业务上下文、硬件特性与架构哲学融为一体的系统工程时,AI 依然是个门外汉。

小结:醒醒吧,别让 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 时代的防坑指南!


还在为“复制粘贴喂AI”而烦恼?我的新专栏 AI原生开发工作流实战 将带你:

  • 告别低效,重塑开发范式
  • 驾驭AI Agent(Claude Code),实现工作流自动化
  • 从“AI使用者”进化为规范驱动开发的“工作流指挥家”

扫描下方二维码,开启你的AI原生开发之旅。


原「Gopher部落」已重装升级为「Go & AI 精进营」知识星球,快来加入星球,开启你的技术跃迁之旅吧!

我们致力于打造一个高品质的 Go 语言深度学习AI 应用探索 平台。在这里,你将获得:

  • 体系化 Go 核心进阶内容: 深入「Go原理课」、「Go进阶课」、「Go避坑课」等独家深度专栏,夯实你的 Go 内功。
  • 前沿 Go+AI 实战赋能: 紧跟时代步伐,学习「Go+AI应用实战」、「Agent开发实战课」、「Agentic软件工程课」、「Claude Code开发工作流实战课」、「OpenClaw实战分享」等,掌握 AI 时代新技能。
  • 星主 Tony Bai 亲自答疑: 遇到难题?星主第一时间为你深度解析,扫清学习障碍。
  • 高活跃 Gopher 交流圈: 与众多优秀 Gopher 分享心得、讨论技术,碰撞思想火花。
  • 独家资源与内容首发: 技术文章、课程更新、精选资源,第一时间触达。

衷心希望「Go & AI 精进营」能成为你学习、进步、交流的港湾。让我们在此相聚,享受技术精进的快乐!欢迎你的加入!

img{512x368}


商务合作方式:撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。如有需求,请扫描下方公众号二维码,与我私信联系。

无痛消灭技术债:Google I/O 2026 开启 Go 自动重构时代

本文永久链接 – https://tonybai.com/2026/05/29/google-io-2026-automated-go-refactoring-eliminating-technical-debt

大家好,我是Tony Bai。

在软件开发的世界里,一直存在着一个令人绝望的“二选一”魔咒。

你要么选择 Python 或 JavaScript:它们写起来如丝般顺滑,能让你在周五下午迅速完成一个功能;但当业务量爆炸、公司准备上市时,那些深埋在代码里的性能瓶颈和类型错误,会让你在无数个深夜里怀疑人生。

你要么选择 C++ 或 Java:它们像装甲车一样坚固,能承载千万级的高并发;但代价是,你需要忍受极其繁琐的语法、漫长的编译时间,以及让新手望而生畏的学习曲线。

难道我们就不能“全都要”吗?

这正是近 20 年前,Google 的三位传奇大佬——Robert Griesemer、Rob Pike 和图灵奖得主 Ken Thompson 在白板前思考的问题。于是,Go 语言诞生了


Go 的核心哲学:打破“开发效率”与“生产可用性”的二选一魔咒

在刚刚结束的 Google I/O 2026 大会上,Go 语言产品负责人 Cameron 和开发者关系负责人 Mark,向全球开发者交出了一份震撼的答卷。

他们宣布,在全新的 Go 1.25 和 1.26 版本中,Go 不仅在底层性能上实现了高达 50% 的跨越式提升,更重要的是,Go 正在利用 AI 和强大的重构工具,彻底终结“代码老化”和“技术债”的噩梦。

今天,我们就来深度拆解这场发布会,看看这门被无数大厂誉为“云原生第一语言”的利器,是如何在 AI 时代完成自我进化的。

AI 时代的编程语言:为什么“无聊(Boring)”反而成了最大的优势?

在很多人眼里,Go 是一门极其“无聊”的语言。

它没有花里胡哨的语法糖,极少引入新的语言特性,甚至你今天写的 Go 1.26 代码,看起来和十几年前的 Go 1.0 代码几乎一模一样。

但这恰恰是 Go 在 AI 时代最可怕的护城河。

“机器可读性,决定了 AI 代码生成的上限。” Mark 在演讲中一语道破天机。

当今时代,越来越多的代码是由 AI 生成的。大语言模型(LLM)最喜欢什么样的语言?

  • 语法简单、确定性强:这意味着 AI 不容易产生“幻觉”。
  • 标准化的格式(gofmt):这意味着 AI 生成的代码不需要人类再去调整排版。
  • 强类型系统:这意味着 AI 生成的代码可以在编译期就得到验证。

Go 语言的这些“无聊”特质,使得它成为了 AI 编写、阅读和编辑的完美对象。但这还不够。随着项目的发展,API 会被弃用,旧的代码模式会过时。如何保证海量的(包括 AI 生成的)历史代码,不沦为难以维护的“屎山”?

杀手锏:gofix 与现代转换器(Modernizers)

在 Go 1.26 中,官方重写了 gofix 引擎,推出了一项堪称“代码保洁员”的神级功能——连续现代化(Continuous Modernization)

依托 Go 强大的静态分析框架,gofix 现在包含了 20 多个预置的“现代转换器(Modernizers)”。它能做什么?

假设你的项目里还在使用老的代码模式,或者某个旧的辅助函数(比如 proto.String)现在可以直接用语言内置的 new() 函数来替代。你只需运行 gofix,它就会在确保语义完全等价、不破坏原始行为的前提下,将你整个代码库中的陈旧代码,一键升级为最现代、最地道的 Go 代码!

甚至,作为库的开发者,你可以在弃用的 API 上加上一句简单的指令://go:fix inline。

当调用者运行 gofix 时,系统会自动将他们代码中所有调用该废弃 API 的地方,直接内联替换为最新的实现。

在 Google 内部,这个工具已经自动提交了超过 18,000 个代码变更。 它硬生生地将一个最古老的 Go 代码库,毫无痛感地升级到了最新的语言特性。

在其他生态里,代码会随着时间流逝而腐烂;而在 Go 里,有了 gofix 和向后兼容的承诺,旧代码不仅不会成为负债,反而是一笔随时可以自动升级的资产。

征服并发测试:告别 time.Sleep 带来的玄学 Bug

如果你写过高并发的程序,你一定被并发测试折磨过。

Goroutine 的调度是无序的。为了测试并发代码,开发者往往被迫在测试里写满丑陋的 time.Sleep(2 * time.Second),或者设置各种超时机制。这不仅让测试运行极其缓慢,还会导致 CI/CD 流水线中出现大量随机失败的玄学 Bug(Flaky Tests)。

在 Go 1.25 中,官方祭出了终结并发测试噩梦的大杀器:testing/synctest 库正式 GA。

这是一个天才般的设计。synctest 引入了一个名为“气泡(Bubble)”的概念:

它在测试中创建了一个完全隔离的运行环境。在这个气泡里,所有的 Goroutine 都在使用一个“合成的假时钟(Synthetic Clock)”

当气泡内的所有 Goroutine 都因为等待 I/O 或休眠而被阻塞时,气泡的时钟会自动且瞬间向前快进!

过去一个需要死等 5 秒钟才能触发超时的并发测试,现在使用 synctest,可以在几毫秒内确定性地跑完!这不仅将测试速度提升了千百倍,更重要的是,它让多线程的交织执行变得绝对确定且可控。这是给所有硬核后端开发者的巨大福音。

零代码修改,性能飙升 50%:绿茶垃圾回收器(Green Tea GC)

如果说前面的工具是为了提升开发效率(Productivity),那么接下来的底层架构升级,则是为了捍卫 Go 在云计算领域的绝对统治力(Production Readiness)。

在云原生时代,Docker、Kubernetes、Terraform 全都是用 Go 写的。Go 必须榨干每一滴硬件性能。

在 Go 1.25 实验性引入、并在 1.26 默认启用的 Green Tea(绿茶)垃圾回收器,是一次系统级的底层重构。

传统的 GC 算法是将内存视为一个个零散的对象进行扫描和回收,这种设计在现代多核 CPU 面前显得极其低效。而 Green Tea GC 则完全顺应了现代硬件的设计哲学:

  1. 按页(Pages)处理:它将工作的基本单元从单个对象,转变为大块连续的内存页。
  2. 向量化加速:它允许运行时极其高效地利用现代 CPU 的高吞吐量向量加速指令(SIMD)。
  3. 缓存友好:大幅减少了高延迟的内存提取。

最恐怖的是它的收益:在不修改你任何一行业务代码的前提下,升级到 Go 1.26 后,大多数应用的 GC CPU 开销直接下降了 10%;而对于那些内存布局极其复杂的重型应用,CPU 消耗甚至能暴跌 50%!

此外,Go 1.26 还在运行时做出了多项优化:

  • 更多的栈分配:通过更智能的逃逸分析,将大量原本需要在堆(Heap)上分配的内存,直接转移到栈(Stack)上。栈分配不仅速度快,而且对 GC 零负担,缓存局部性极佳。
  • CGo 调用提速 30%:极大地降低了跨界调用的成本,这使得 Go 语言能够更轻松地切入对底层硬件库依赖极强的机器学习(ML)、游戏引擎和 GUI 领域。

这就是 Go 对兼容性承诺的最美诠释:你只需要升级版本并重新编译,你的系统就自动变得更强了。

拥抱 AI:MCP 官方 SDK 与未来的开发生态

在大模型全面爆发的今天,让 AI 能够理解并操作系统,成为了关键的技术壁垒。

去年,Go 官方悄然发布了 Model Context Protocol (MCP)官方 SDK

MCP 是什么?它是一个让你的服务能够标准化地为 LLMs(大语言模型)提供上下文和工具调用的协议。

借助这个 SDK,你可以极其可靠地利用 Go 的并发和网络能力,将你的企业数据、内部 API 甚至本地文件系统,安全地暴露给 AI 智能体。

不仅如此,Google 自己也在“吃狗粮”。他们正在利用这个 MCP SDK,构建能够向 AI 开发工具暴露更多 Go 工具链(Toolchain)能力的服务器。比如,在官方的语言服务器 gopls 中,已经内置了一个实验性的 MCP server。

这意味着,在未来,像 Cursor 这样的 AI 编程助手,将能够通过 MCP 协议,直接读取你的项目依赖、调用 gofix 重构代码、甚至运行特定的并发测试,从而实现真正意义上的“AI 自动化工程”。

小结:为什么 20 年后,Go 依然是开发者的首选?

近 20 年过去了,软件开发的世界经历了从单体架构到微服务,从云原生到 AI 智能体的天翻地覆。许多曾经风光无限的语言渐渐老去,但 Go 却显得愈发年轻和强壮。

这场发布会揭示了 Go 长盛不衰的核心密码:它从来不仅仅是一门语言,它是一个端到端的软件工程平台。

当其他语言在追求花哨的语法糖时,Go 在默默地优化 gofmt 和 gofix,确保几百人协作时代码风格绝对一致;

当其他语言在纠结垃圾回收停顿时,Go 推出了 Green Tea GC,默默帮你省下千万级的服务器账单;

当 AI 时代来临时,Go 以其极简的机器可读性和强大的 MCP 协议支持,成为了 AI 智能体最坚实的后端基座。

如果你想在今天构建一个能在 10 年后依然易于维护、性能强劲、且对 AI 极度友好的系统。

答案很无聊,但很明确:选择 Go。

资料链接:https://www.youtube.com/watch?v=l4lneZYtjQg


今日开放讨论:

你的项目中,存在因为“代码老化”而不敢轻易重构的历史遗留模块吗?Go 1.26 引入的 gofix inline 自动化升级思路,是否能为你的团队带来启发?

欢迎在评论区分享你的技术债血泪史,我们一起探讨 AI 时代的重构之道!


还在为写 Agent 框架频频死循环、上下文爆炸而束手无策?我的新专栏 从0 开始构建 Agent Harness 将带你:

  • 抛弃臃肿框架,回归“驾驭工程 (Harness Engineering)”的第一性原理
  • 用 Go 语言手写 ReAct 循环、并发拦截与上下文压缩引擎等,复刻极简OpenClaw
  • 构建坚不可摧的 Safety Middleware 与飞书人工审批防线
  • 在底层实现 Token 成本审计、链路追踪与自动化跑分评估
  • 从“调包侠”进化为掌控大模型边界的“AI 操作系统架构师”

扫描下方二维码,开启从 0 开始构建Agent Harness 的实战之旅。


原「Gopher部落」已重装升级为「Go & AI 精进营」知识星球,快来加入星球,开启你的技术跃迁之旅吧!

我们致力于打造一个高品质的 Go 语言深度学习AI 应用探索 平台。在这里,你将获得:

  • 体系化 Go 核心进阶内容: 深入「Go原理课」、「Go进阶课」、「Go避坑课」等独家深度专栏,夯实你的 Go 内功。
  • 前沿 Go+AI 实战赋能: 紧跟时代步伐,学习「Go+AI应用实战」、「Agent开发实战课」、「Agentic软件工程课」、「Claude Code开发工作流实战课」、「OpenClaw实战分享」等,掌握 AI 时代新技能。
  • 星主 Tony Bai 亲自答疑: 遇到难题?星主第一时间为你深度解析,扫清学习障碍。
  • 高活跃 Gopher 交流圈: 与众多优秀 Gopher 分享心得、讨论技术,碰撞思想火花。
  • 独家资源与内容首发: 技术文章、课程更新、精选资源,第一时间触达。

衷心希望「Go & AI 精进营」能成为你学习、进步、交流的港湾。让我们在此相聚,享受技术精进的快乐!欢迎你的加入!

img{512x368}


商务合作方式:撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。如有需求,请扫描下方公众号二维码,与我私信联系。

如发现本站页面被黑,比如:挂载广告、挖矿等恶意代码,请朋友们及时联系我。十分感谢! Go语言第一课 Go语言进阶课 AI原生开发工作流实战 从 0 开始构建 Agent Harness Go语言精进之路1 Go语言精进之路2 Go语言第一课 Go语言编程指南
商务合作请联系bigwhite.cn AT aliyun.com
这里是 Tony Bai的个人Blog,欢迎访问、订阅和留言! 订阅Feed请点击上面图片

如果您觉得这里的文章对您有帮助,请扫描上方二维码进行捐赠 ,加油后的Tony Bai将会为您呈现更多精彩的文章,谢谢!

如果您希望通过微信捐赠,请用微信客户端扫描下方赞赏码:

如果您希望通过比特币或以太币捐赠,可以扫描下方二维码:

比特币:

以太币:

如果您喜欢通过微信浏览本站内容,可以扫描下方二维码,订阅本站官方微信订阅号“iamtonybai”;点击二维码,可直达本人官方微博主页^_^:
本站Powered by Digital Ocean VPS。
选择Digital Ocean VPS主机,即可获得10美元现金充值,可 免费使用两个月哟! 著名主机提供商Linode 10$优惠码:linode10,在 这里注册即可免费获 得。阿里云推荐码: 1WFZ0V立享9折!


View Tony Bai's profile on LinkedIn
DigitalOcean Referral Badge

文章

评论

  • 正在加载...

分类

标签

归档



View My Stats