写点什么

无人工干预,16 个 Claude 智能体联合构建出 C 语言编译器

作者:Sergio De Simone
  • 2026-02-21
    北京
  • 本文字数:1804 字

    阅读完需:约 6 分钟

为探索自主软件开发的极限,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 采用了一种简单的基于锁的方案:

Claude 通过在 current_tasks/ 目录下写入文本文件来“锁定”任务……如果两个智能体同时尝试认领同一任务,Git 的同步机制会强制第二个智能体选择其他任务。

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

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

在大多数情况下,Claude 会选择解决“下一个最显而易见”的问题。当遇到 Bug 卡住时,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 则更尖锐地写道

他们花费了 2 万美元的 Token 费用,输出的却是训练数据中早已存在的代码?

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

GCC 并非花了 37 年才完成。早在 1987 年,它对当时的编程语言就已完全可用。37 年来,它只是随着语言、平台、库、优化与调试技术等持续演进。

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

在这个过程中,究竟做出了多少开源贡献?如果不回馈给成就这一切的源头,未来就没有专业代码可供参考了。

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

我们正在进入这样一个时代:10 倍开发者(10x Developer)的核心技能不再是解决复杂 Bug 的能力,而是设计自动化测试体系与反馈循环的能力——这些机制能让模型的十六个并行实例替他们解决问题。

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

原文链接:

https://www.infoq.com/news/2026/02/claude-built-c-compiler/