在人工智能智能体技术快速发展的背景下,Anthropic和OpenAI本周都发布了多智能体工具,Anthropic展示了其在AI编程实验方面的大胆尝试。不过,与所有AI成就声明一样,这项成果也存在一些重要的限制条件。
Anthropic研究员Nicholas Carlini在周四发表的博客文章中描述了他如何让16个Claude Opus 4.6 AI模型实例在最少监督下协作处理共享代码库,从零开始构建一个C编译器。
经过两周时间和近2000次Claude Code会话,耗费约2万美元的API费用,这些AI智能体开发出一个10万行基于Rust的编译器,能够在x86、ARM和RISC-V架构上构建可启动的Linux 6.9内核。
Carlini是Anthropic安全保障团队的研究科学家,曾在Google Brain和DeepMind工作七年。他使用了Claude Opus 4.6新推出的"智能体团队"功能。在实际操作中,每个Claude实例都在自己的Docker容器中运行,克隆共享的Git仓库,通过写入锁定文件来认领任务,然后将完成的代码推送到上游。没有编排智能体指导交通,每个实例都独立识别下一个最明显的问题并开始解决。当出现合并冲突时,AI模型实例会自行解决。
最终的编译器已在GitHub上发布,可以编译多个主要开源项目,包括PostgreSQL、SQLite、Redis、FFmpeg和QEMU。它在GCC酷刑测试套件中达到99%的通过率,并且在Carlini称为"开发者终极试金石"的测试中成功编译并运行了Doom游戏。
值得注意的是,C编译器对于半自主AI编程来说是近乎理想的任务:规范已有数十年历史且定义明确,已存在全面的测试套件,并有已知良好的参考编译器可供检查。大多数现实世界的软件项目都不具备这些优势。大部分开发工作的难点不是编写通过测试的代码,而是首先弄清楚测试应该是什么。
编译器也有明显的限制,Carlini对此非常坦诚。它缺少从实模式启动Linux所需的16位x86后端,因此在该步骤中调用GCC。其汇编器和链接器仍然存在错误。即使启用所有优化,它产生的代码效率也不如禁用所有优化的GCC。虽然功能正常,但Rust代码质量远未达到专家Rust程序员的水平。"生成的编译器几乎达到了Opus能力的极限,"Carlini写道。"我努力尝试修复上述几个限制,但没有完全成功。新功能和错误修复经常破坏现有功能。"
这些限制可能比成功更有启发性。Carlini报告说,在项目接近尾声时,修复错误和添加功能"经常破坏现有功能",这种模式对于见过代码库增长超出任何贡献者完全理解程度的人来说都很熟悉。
这种限制在处理AI编程智能体时更为常见,它们会随着时间失去连贯性。该模型在大约10万行代码时触及这个瓶颈,这表明自主智能体编程存在实际上限,至少在当前模型下如此。
自动化背后的人工工作
Anthropic将编译器描述为"洁净室实现",因为智能体在开发过程中没有互联网接入。但这种说法有些误导。底层模型是在大量公开源代码上训练的,几乎肯定包括GCC、Clang和众多较小的C编译器。在传统软件开发中,"洁净室"特指实现者从未见过原始代码。按这个标准,这并不算是洁净室实现。
这个区别在Hacker News上引发了激烈辩论,反映了开发者对这一消息的争议性接受。一位评论者写道:"这更像是暴力尝试解压网络中模糊存储的知识。"
2万美元这个数字也需要一些背景说明。这个数字仅涵盖API token成本,不包括训练模型花费的数十亿美元、Carlini投入构建脚手架的人力,以及编译器工程师数十年来创建测试套件和参考实现的工作。
这个脚手架并非微不足道,这使得声称AI智能体在C编译器上进行"自主"工作变得可疑。虽然标题结果是在没有人工结对编程的情况下编写的编译器,但使项目运行的大部分真正工作涉及设计AI智能体周围的环境,而不是直接编写编译器代码。Carlini花费大量精力构建测试工具、持续集成管道和针对大语言模型特定失败方式调优的反馈系统。
例如,他发现冗长的测试输出污染了模型的上下文窗口,导致其忘记正在做什么。为解决这个问题,Carlini设计了只打印几行摘要并将详细信息记录到单独文件的测试运行器。
他还发现Claude没有时间概念,会花费数小时运行测试而不取得进展,因此他构建了只采样1%到10%测试用例的快速模式。当16个智能体同时陷入修复同一个Linux内核错误时,他使用GCC作为参考预言机,随机用GCC编译大部分内核文件,只用Claude编译器编译一个子集,这样每个智能体可以处理不同文件中的不同错误。
"Claude会自主解决我给它的任何问题,"Carlini写道。"因此任务验证器必须近乎完美,否则Claude会解决错误的问题。"
这些都不应掩盖项目真正证明的内容。一年前,即使有这种照顾和无限预算,没有大语言模型能产生接近功能性多架构编译器的任何东西。通过Git进行最少人工监督的并行智能体协调方法是新颖的,Carlini开发的保持智能体生产力的工程技巧(上下文感知测试输出、时间限制、用于并行化的GCC预言机)可能为更广泛使用智能体软件开发工具做出有用贡献。
Carlini本人承认对自己的结果感到矛盾。"构建这个编译器是我最近最有趣的经历之一,但我没想到这在2026年初就如此接近可能,"他写道。他还基于之前的渗透测试职业生涯提出了担忧,指出"程序员部署他们从未亲自验证的软件这一想法确实令人担忧。"
Q&A
Q1:Claude智能体团队是如何协作开发C编译器的?
A:16个Claude Opus 4.6实例各自在Docker容器中运行,通过共享Git仓库协作。每个智能体独立识别问题、认领任务、编写代码并推送更新,没有中央控制器指导,遇到代码冲突时自行解决。
Q2:这个AI开发的C编译器性能如何?
A:编译器包含10万行Rust代码,能在x86、ARM、RISC-V架构上构建Linux 6.9内核,可编译PostgreSQL、SQLite等主要开源项目,GCC酷刑测试通过率达99%,甚至能编译运行Doom游戏。
Q3:AI智能体开发编译器有什么局限性?
A:编译器缺少16位x86后端、汇编器和链接器存在错误、代码效率不如GCC、Rust代码质量一般。项目后期新功能经常破坏现有功能,显示当前AI模型在10万行代码规模时会触及能力极限。
热门跟贴