AI团队自研C编译器:2万美元烧出10万行代码,能编译Linux内核
最近,Anthropic的安全研究员Nicholas Carlini做了一件让开发者圈炸锅的事:他没写一行代码,却用16个Claude AI智能体,硬生生“拼”出一个能编译Linux内核的C编译器。
这不是Demo,也不是玩具。这个叫“ClaudeC”的编译器,真能在x86、ARM和RISC-V三种主流架构上,成功编译Linux 6.9内核。你没看错——就是那个被全球操作系统开发者天天用的Linux内核。它能生成正确的机器码,能通过部分GCC测试套件,甚至能处理一些复杂的宏展开和类型推导。
两周,20亿Token,2万美元的“烧钱实验”
为了完成这个项目,Carlini的团队没用任何现成的编译器框架,也没人工写核心逻辑。16个AI智能体轮流“值班”,24小时不间断地讨论、写代码、调试、测试。整个过程持续了14天,累计进行了近2000次代码交互,消耗了约20亿个输入Token——相当于把一个中型图书馆的文字全部喂给AI去消化。
最终的账单是2万美元(约14.4万人民币)。这笔钱不是花在服务器或硬件上,而是全砸在了API调用上。要知道,Anthropic的Claude 3.5 Opus模型每百万Token收费约15美元,这笔开销相当于请了10个顶尖C语言工程师干两周,但还不一定能做出能跑内核的编译器。
代码是真能跑,但没人敢用
项目代码已公开在GitHub上,超过10万行Rust代码,结构清晰,注释完整,甚至有单元测试。但如果你真想把它用在生产环境——别想了。
“它能跑,但你不知道它什么时候会崩。”一位参与评审的开源贡献者说。AI生成的代码里,有大量“看起来合理但逻辑脆弱”的分支,比如为某个寄存器分配策略写了7种冗余实现,最后只保留了其中一种,但没说明为什么。还有几个函数,注释写着“这个函数可能有问题,但测试通过了”,然后就放过去了。
更讽刺的是,AI在调试时经常陷入“无限循环”:反复修改同一个函数,跑测试,失败,改,再跑,再失败……持续了整整36小时,直到人类干预才跳出。有工程师调侃:“它不是在写代码,是在玩‘猜我改哪里’的游戏。”
真正的突破,不是编译器,而是协作模式
这场实验最值得深思的,不是AI能不能写编译器,而是:多个AI能不能像真实团队一样分工协作?
Carlini的团队里,有的AI专攻语法解析,有的负责代码生成,有的负责写测试用例,还有专门负责“代码审查”的AI——它会挑出其他AI写的“可疑代码”并要求重写。这种分工,意外地模拟了真实开源项目中的角色分配:架构师、实现者、测试员、reviewer。
这或许才是未来软件开发的真正方向:不是AI取代程序员,而是AI成为“超级实习生”——能写初稿、跑测试、查文档、提问题,但最终决策、架构设计、安全评估,还得靠人。
开源社区的反应:震惊、怀疑,和一丝希望
项目在Hacker News和Reddit上引发热议。有人直接说:“这玩意儿就是把Stack Overflow和GitHub上所有C编译器代码拼成的缝合怪。”——这话不无道理。AI的训练数据里,早就有LLVM、GCC、TinyCC的大量源码。它不是“从零创造”,而是“高级模仿”。
但也有开源项目维护者表示:“如果我们能用AI快速生成基础代码,把人类从重复劳动中解放出来,去专注架构和安全,这不就是我们一直想要的吗?”
目前,Carlini的团队已经将项目开源,代码仓库里附带了完整的实验日志、失败记录和调优过程。他没打算把它变成下一个GCC,而是希望它成为一个“AI协作开发”的研究样本。
未来,我们或许不会再问“AI能写代码吗”,而是会问:“你团队里,有几个AI实习生?他们负责哪块?你敢不敢让它们merge到主干?”
答案,可能就在下一个2万美元的实验里。