16个Claude智能体无人工干预构建C语言编译器,探索AI自主开发极限

无人工干预构建C语言编译器

为探索自主软件开发的极限,Anthropic 研究员 Nicholas Carlini 使用十六个 Claude Opus 4.6 AI 智能体从零开始构建了一个基于 Rust 的 C 编译器”。这些智能体在共享仓库中并行协作,同步协调代码修改,最终实现了一个能够编译 Linux 6.9 内核的编译器”,支持 x86、ARM 和 RISC-V 架构,同时还能编译大量其他开源项目。

这些智能体大约进行了 2000 次会话,没有人工干预,产生了约 20000 美元的 API 费用。Carlini 表示,这“极大地拓展了大语言模型智能体所能实现的能力边界”。

尽管Carlini将这款编译器本身称作一个“有趣的成果”,但他强调,更深层的意义在于“为长期自主运行的智能体团队设计控制框架”——即确保智能体在无人监督的情况下保持正确方向,并能够并行推进工作。

Carlini 的方法是将 Claude 置于“一个简单的循环中”,让智能体持续处理指定任务,直至完美完成,再立即转向下一个任务。

他将这一设置与多个并行运行的 Claude 实例搭配使用,每个实例都运行在独立的 Docker 容器中,但访问同一个共享 Git 仓库。这提升了效率,让 Claude 能够同时处理多项任务,并推动智能体形成专业化分工——部分智能体负责文档,另一些负责代码质量等。为了实现智能体之间的同步,Carlini 采用了一种简单的基于锁的方案:

任务完成后,智能体会在本地合并其他智能体的修改,然后推送分支并释放锁。Carlini 表示:“Claude 足够聪明,可以自行解决合并冲突。”

最值得注意的是,在这套架构中,Carlini 并未使用编排智能体,而是选择“让每个 Claude 智能体自主决定如何行动”:

Carlini 采取了一些关键措施以确保项目成功:维持高质量的测试和持续集成,同时避免 Claude 在测试上耗费过多时间;当不同项目可能出现相同 Bug 时,将不同智能体分配至不同项目;以及上文提到的智能体专业化分工。

多个智能体同时遇到相同 Bug、给出不同修复方案并互相覆盖工作,这一问题十分突出,在 Linux 内核编译过程中尤为明显。为了解决这个问题,Carlini 将 GCC 作为编译器“参照基准”:每个智能体使用 GCC 编译内核树的一个随机子集,由 Claude 的编译器处理剩余部分,并仅在该子集上优化输出。

经过两周时间,花费了约 2 万美元的 API 费用,这项工作最终产出了一个 10 万行代码的编译器,通过了 GCC 折磨测试(torture test)的 99%,能够编译 FFmpeg、Redis、PostgreSQL、QEMU,还可以运行《毁灭战士》(Doom)。

Carlini 的这项尝试在网上引发了广泛讨论,评价从积极支持到质疑怀疑不一,也进一步引发了关于其实际影响与深层意义的探讨。

X 平台的用户 @chatgpt21 指出,这已是相当了不起的成就,但仍需要人类工程师”不断重新设计测试”、在智能体相互破坏工作时搭建 CI 流程、以及在 16 个智能体全部卡在同一个 Bug 上时制定变通方案”。

另一方面,用户 @hryz3 强调,这些智能体是“在需要复现的同类代码上训练的””。@TomFrankly 则更尖锐地写道”:

微软的 Steve Sinofsky 进一步对 “Claude 在两周内完成了人类工程师 37 年的工作量”这一说法提出质疑”,他指出:

@WebReflection 则从另一个有趣的角度”提出问题:

@RituWithAI 总结了”这可能对软件开发相关岗位带来的影响:

最后,Carlini 本人也暗示,如此轻松地生成代码可能带来风险,未来世界需要“新的策略来安全应对”。

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容