大概两个月前讨论过这个事情,最近x冲浪又看到了一些后续,想到写一篇文章吧

关于 Zig 作者 Andrew Kelly 炮轰 Anthropic
Bun:高速 JavaScript / TypeScript 运行工具
- 原项目使用 Zig 编写,是 Zig 生态中最大的代码库之一;被 Anthropic 收购后重写为 Rust
Zig 现代系统编程语言,定位类似 C 但更安全
- 创造者 Andrew Kelly 以直率和不妥协著称;社区规则对 AI 生成代码零容忍
Anthropic 顶尖 AI 实验室,有 Claude 等大模型
- 已融资 1320 亿美元,IPO 估值预计超 1 万亿美元;内部主要使用 Rust
Rust 以内存安全闻名的系统语言
- Bun 收购后被迁移到 Rust(unsafe Rust)
Bun 宣称代码近 100% 由 AI 贡献,而 Zig 社区对 AI 生成代码零容忍,Bun 从 Zig 转向 Rust,像是一场精心策划的叙事。
Anthropic:软件工程的终结
Anthropic 正在推销的剧本:编程会消失 → 软件工程会消失 → 大部分人类劳动都会被 AI 替代
为什么要讲这个故事?
- 已融资 1320 亿美元,估值冲向万亿,需要展示盈利
- 巨额资本需要故事来支撑,"AI 取代一切"就是那个故事
- 利用资本规模来定义"什么是真相"
迁移事件时间线
- Anthropic
收购Bun - Bun 创始人用"智能体工作流"将整个代码库从 Zig
重写为 unsafe Rust - 几天之内重写版本被
合并入主线,成为官方版本 - 但整整两个月后才发布官方博客解释决策
在基础设施项目中,提前解释技术方向才是常态。延迟两个月的原因让科技媒体有足够时间将故事包装成"AI 驱动的急速重写"
Andrew Kelly 的回应
Andrew Kelly 发表了异常直白的回应,直接批评 Bun 团队的工程决策问题,不应该把锅甩给 Zig 语言本身。
社区有开发者调侃:"我们有一个相当大的开源 Zig 代码库,我现在好怕他会来看我们的代码"
两个版本的故事
- Anthropic 版本
- Bun 已尝试所有合理方法,仍被内存 bug 淹没;Zig 无力回天,Rust 是唯一救赎
- Andrew Kelly 版本
- Bun 代码库混乱是因为糟糕的工程决策(过度依赖 AI 代理编写和审查代码),是人的问题,不是语言的问题
Bun 确实面临内存 bug 挑战,但有多种解决方案;管理层批准 Rust 重写是因为这是绝佳的营销机会(展示最新模型 + 内部本来就喜欢 Rust + Zig 社群公开反对使用 Anthropic 产品)
11天完成78万行代码迁移
一个负责任的技术决策文档通常需要包含三要素:动机、备选方案、利弊权衡
致命矛盾:
一边说风格指南难以执行,一边又声称通过智能体审查成功执行了 porting 这份风格指南。
Bun 之前为了缩短构建时间不惜 fork Zig 编译器------说明他们清楚构建时间是核心痛点,却在迁移文档中完全回避了这个代价。
结论:先有了结论,再回头补理由,显得很不诚实。
AI 同样不行的 6 个证据
从同一个事件可以推导出与"AI 足够强大"完全相反的结论:
- 需要把大模型包装成 agent 框架,恰恰说明单个模型本身能力不足
- 选择 Rust 的借用检查器,就是因为 AI 无法可靠地捕获内存错误
- 避免使用难看的指针包装器,说明代码仍需人类维护和阅读------如果 AI 真能接管一切,可读性还重要吗?
- Ray Myers 自己用混合方法在 Zig 版 Bun 中找到了 50 个 bug,AI 没能发现
- 开源项目维护者正被低质量的 AI 贡献淹没
- 重写过程中强调保持代码结构熟悉------这说明维护者是人类而非 AI
反证:Zig 本身没有问题------TigerBeetle 案例
TigerBeetle 是一个用 Zig 写的金融交易数据库,对可靠性要求极高。
它没有像 Bun 那样被内存 bug 困扰,反而成为当今最可靠的数据库之一。
TigerStyle 核心原则
所有内存必须在启动时静态分配 ,初始化后绝不动态分配或释放内存。
这种设计消除了 use-after-free 隐患,让整个系统更简单、更易推理。
内存 bug 对比
| 项目 | 内存 bug 情况 |
|---|---|
| TigerBeetle | 几乎满分,几乎无内存 bug |
| Bun(Zig 版) | 每周约需修复 4 个 bug |
关键洞察:区别不在于语言,而在于工程纪律。Bun 团队声称"试过一切方法",却对 TigerStyle 这样的成熟实践只嘴上提一句便跳过。
管理问题:90 小时工作周
Bun 资深员工 2022 年招聘帖原话:
"前 9 个月将是苦战,若看重不工作的时间可能不适合。"
Ray Myers 评价:"无异于经理人自报不懂管理,长时间高压损害知识工作者的健康与效率早有实证。"
Andrew Kelly 总结(小道消息):
"沟通糟糕,期望不切实际,缺乏同理心,纯属一团糟。"
Ray Myers 的建议:
别为吹嘘 90 小时工作周的人打工,去为守护你睡眠的人工作。
附录
-
叙事与现实的鸿沟:Anthropic 是不可靠的叙事者,万亿市值的故事需要技术决策来维持。必须保持批判性思维。
-
语言不是原罪:TigerBeetle 已证明,只要有正确的工程纪律和风格指南,Zig 完全可以构建高可靠系统。
-
AI 还远远不够 :无论是需要用 agent 包装借用检查器兜底,还是 Ray Myers 亲手找到的 50 个 bug,都在反复告诉我们------不能用 more tokens 来替代学习真正的技能。
-
建设性的出路 :可以一边使用编码 agent 提升效率,一边拒绝把"黑暗软件工厂"当成理想。语言的选择正在变得可逆,但良好的判断力和沟通能力永远不可替代。