Bun用Rust重写但没人读代码:Electrobun 2.0放弃Bun并坚持人工审核代码

Electrobun 2.0不再依赖Bun,因为Bun用Rust重写且没人审核代码。Electrobun 2.0会支持Rust、Zig、Go等多种语言,但团队坚持人类必须审核代码才能上线。

YoavCodes是Electrobun框架的作者,这个框架用来开发桌面应用程序。他之前在推特上发了这条消息,然后Hacker News上很多人开始讨论。


一件事特别清楚:信任比代码更重要

先说最重要的结论。Electrobun 2.0不再依赖Bun了。不是因为Bun写得不好,也不是因为Rust语言不行。

真正的原因是:Bun用AI把一百万行代码从Zig翻译成Rust,只花了九天,而且宣布以后不会安排人类去读这些代码。Electrobun的开发者Yoav看到这个做法之后,直接决定分家。他说了一句很直白的话:如果你们不读自己的代码,那我就不敢让自己的项目站在你们的肩膀上。

这件事的核心不是技术谁强谁弱,而是信任问题。你想想看,你愿意把你家大门钥匙交给一个你从来没见面试过锁的人吗?不可能。同样的道理,如果你要依赖一个工具来跑你的程序,你得确定那个工具是靠谱的。不是“看起来靠谱”,是真的有真人检查过的靠谱。Bun这次的操作,等于说“我们让AI翻译了全部代码,没人读过,但你们放心用吧”。大多数人看到这个的反应是:不了谢谢。

为了说清楚这件事到底怎么回事,我把整个过程拆开来讲。你会发现每一步都合情合理,但最后的结果就是一个接一个的信任崩塌。



重写的原因听起来没毛病

Bun这个工具本身挺厉害的。它是一个JavaScript运行环境,比Node快很多。原本是用Zig语言写的。Zig是一门很新的系统编程语言,号称比C更安全、比Rust更简单。但是Zig有个麻烦——它的生态还不够成熟,很多底层库不全,文档也少。Bun的团队发现,要持续维护一个几百万行的Zig代码库,越来越吃力。

所以他们决定用Rust重写。Rust这门语言大家都熟,内存安全、性能好、生态强。这个决定听起来完全合理。就像你家房子地基有点歪了,你决定重新挖了再建。嗯,听起来是正事。没有人反对这个目标本身。

问题是,他们怎么做的重写。



重写的方式让所有人傻眼

按正常思路,百万行代码的重写,怎么也得一年半载吧?几个工程师一起干,慢慢翻译、慢慢测试、慢慢合并。但Bun的操作是这样的:他们用AI来写代码。而且不是写一小部分,是整个全部重写。一个AI助手(据说是Anthropic家的Claude)在九天之内把Zig代码整个翻译成了Rust。九天,一百万行。这个速度听起来像是科幻小说。

然后他们把这个新代码直接合并到了主分支。没有经过人类代码审查。Bun的创始人在推特上说:以后我们也不会安排人类去一行一行读代码。翻译完成后,AI会跑测试,测试过了就行。如果用户发现bug,我们就修。但这个修的过程,也主要是AI在写。

这个消息一出来,整个技术圈炸了锅。不是温和的讨论,是那种“你是不是在开玩笑”的炸。



没人看代码就成了最大问题

你可能想问:AI写的代码有问题吗?理论上AI能写出正确的代码啊。没错,有时候AI写得比人还好。但问题不在于代码质量本身,而在于“没有人读”这个承诺。

你想啊,如果你去一个饭店,厨师跟你说“今天的菜是我家机器人炒的,我没尝过,但程序说熟了”,你还敢吃吗?可能你敢,但你肯定心里打鼓。这就是大家面对Bun重写的心理状态。测试通过不代表没有隐藏bug,尤其是在涉及内存安全、并发、网络协议这些复杂领域。测试就像考试,你能考满分不代表你所有知识都掌握了。有些bug需要特定条件才会触发,可能一年后才冒出来。

而且这次重写是从Zig到Rust。两种语言的设计哲学完全不同。Zig喜欢显式的手动内存管理,Rust靠编译器检查。直接翻译就像把一本英文小说逐字翻译成中文,语法可能对,但读起来特别别扭。更重要的是,翻译过程中很容易引入unsafe代码块——Rust里那些绕开安全检查的“逃生舱”。据说新代码里用了大量unsafe,那Rust的安全优势基本等于没了。



Anthropic的态度让事情更糟

这里要提一下Anthropic这家公司。Bun在2026年初被Anthropic收购了。Anthropic是做AI大模型的,Claude就是他们的产品。收购之后,Bun就成了Anthropic展示AI编程能力的样板间。

Anthropic有一个很明确的立场:他们不相信人类代码审查的必要性。他们认为AI已经足够聪明,可以自己写、自己测、自己修。人只需要提需求,剩下的交给模型。这个理念放在开发一个聊天机器人上可能还行,但放在一个每天被几百万开发者使用的运行环境上,就有点吓人了。

Electrobun的作者Yoav在推特上说得特别直白:我不反对Rust,甚至觉得Rust很好。我也不反对AI写代码。我反对的是“没人读代码就直接上线”这种做法。他说自己用Claude写代码的经验是,AI写的代码表面上能跑,但深挖下去有各种奇奇怪怪的问题。有的逻辑看起来对,但换个输入就崩了。有的注释和代码完全对不上。这些问题必须靠人读代码才能发现。测试抓不到,AI自己也检测不出来。



信任一旦裂了就很难补

这件事最要命的地方在于,Bun的团队似乎没意识到这是个信任问题。他们觉得“测试都过了,代码没崩过,你们在怕什么?”但用户怕的不是今天,是明天。怕的是你明天出了一个安全漏洞,而这个漏洞是因为某段AI写的代码里埋了一个谁都没看过的雷。

有个评论说得很形象:Bun现在就像一辆车,车厂跟你说“我们让机器人焊了所有焊缝,没人检查过,但机器人说没问题”。你敢开这辆车带着全家上高速吗?就算你敢,你也会时刻盯着仪表盘,心里不踏实。

Electrobun的Yoav说得很明白:我不要求你们人类审核每一行代码,但至少在发布稳定版之前,得有真人读过。不是为了找bug,是为了建立“这个项目有人负责”的感觉。代码是冷的,但信任是热的。信任需要人来维护。



从Bun跳到Electrobun不是终点

Electrobun原本是建立在Bun之上的。Bun负责跑JS代码,Electrobun负责把桌面应用打包出去。Bun这一重写,Electrobun就尴尬了——自己的地基突然被换了材料,而且没人检查过地基稳不稳。

Yoav很快做了决定:Electrobun 2.0不再依赖Bun。他计划让Electrobun支持多种JS运行环境,包括Node、Deno,还可能自己搞一个叫cottontail的新运行时。cottontail会用Zig加上QuickJS引擎,主打小巧和快速。

这个决定在社区里收获了很多支持。有人说“终于有正常人站出来说不了”,也有人说“你们这是在开历史倒车,会被时代抛弃”。但Yoav的回答很硬:如果我的项目因为坚持人工审核而被淘汰,那这个行业就真的完了。



其他项目也开始跟进了

Electrobun不是唯一一个逃离Bun的项目。另一个知名工具yt-dlp(下载YouTube视频用的)也宣布不再支持Bun了。他们的理由是类似的:Bun的新代码是“vibe coded”(用AI随性写出来的),而且Bun团队对供应链攻击的态度太随意。

供应链攻击是什么?简单说就是有人往依赖包里塞恶意代码。npm生态里这种事发生过很多次。如果一个运行环境的代码没人审核,那恶意代码混进去的概率就大大增加。Bun现在等于敞开了大门说“欢迎AI写任何代码进来”,这在安全敏感的项目看来就是自杀。

有个评论特别损:Bun以前的Zig版本虽然也有bug,但至少每个bug是人写的,有迹可循。现在的Rust版本,bug都是AI写的,没人知道为什么这么写,也没人敢改。



整个事件的核心就一个词:失控

回顾这件事,你会发现每一步单独看都不算错。用Rust重写?好主意。用AI加速开发?可以理解。不安排人类审核?这是激进但可以尝试。但把这些合在一起,放在一个被几百万人依赖的工具上,就出问题了。问题不是技术上的“能不能跑”,而是社会层面的“敢不敢信”。

技术圈现在分成两派。一派觉得Bun是在引领未来,AI写代码是趋势,人类迟早要放手。另一派觉得Bun这是在拿用户当小白鼠,用生产环境做实验。Electrobun的Yoav明显站在第二派。他说了一句让我印象很深的话:我不是反对AI,我是反对不负责任。你可以用AI写代码,但你必须自己读过、理解过、负责过。如果你连读都不愿意读,那你凭什么让别人用?

这句话说到了根子上。开源软件的核心从来不是代码多漂亮,而是“有人愿意对这份代码负责”。Bun这次的Rust重写,恰恰破坏了这种责任感。代码是AI写的,测试是AI跑的,修bug也是AI修的。那用户出了问题该找谁?找Anthropic的客服吗?没人知道。



以后会发生什么谁也说不好

现在的情况是:Bun的Rust版本还在继续开发,还在合并新代码。Bun的创始人坚称测试覆盖就够了,不需要人类审查。社区里有一批人选择离开,就像Electrobun和yt-dlp那样。还有一批人选择观望,等事情明朗再说。

Electrobun这边则开始构建自己的替代方案。支持多种JS运行时,甚至可能自己做一个。Yoav说得很轻松:反正现在有AI帮忙写代码,迁移工作量不大。但他强调,自己会读每一行迁移过去的代码。这是原则问题。

整个事件像一场压力测试。测试的是整个行业对AI生成代码的容忍度。Bun是第一个吃螃蟹的,但肯定不是最后一个。以后会有更多项目用AI重写、用AI维护。问题是,我们作为用户,到底能接受多少“没人看过的代码”跑在自己的机器上?



最后的建议特别简单

如果你正在选型JS运行环境,现在别急着用Bun。不是说Bun一定会出问题,而是风险太高了。等几个月,看看Bun的Rust版本在实际生产环境里跑得怎么样,有没有爆出大bug。如果到时候一切稳定,再用也不迟。

如果你已经在用Bun,看看能不能切换到Node或者Deno。短期内会麻烦一点,但长期看更稳妥。尤其你的项目涉及敏感数据或者金融交易,更得小心。一个没人审核的运行环境,就像一栋没验收的大楼。你可能住进去十年都没事,但万一有事,就是大事。

如果你想尝试Electrobun,那最好等2.0版本出来,并且确认它不再依赖Bun之后再上。Electrobun的作者明确表示会坚持人工审核代码,这本身就是一个很强的信任信号。在这个AI写代码、没人看代码的时代,还有人愿意老老实实读代码、改代码、负责代码,这种项目值得支持。