Claude智能体两周完成C编译器开发
在人工智能自主软件开发领域取得突破性进展。Anthropic研究员Nicholas Carlini近期完成了一项实验:使用十六个Claude Opus 4.6 AI智能体,在完全无人干预的情况下,从零开始构建了一个基于Rust的C语言编译器。这个被命名为“Claude的C编译器”的项目,最终成功编译了Linux 6.9内核,并支持x86、ARM和RISC-V三大主流架构。
整个开发过程持续约两周时间,智能体们进行了近2000次会话交互,产生了约2万美元的API调用费用。Carlini指出,这项实验“极大地拓展了大语言模型智能体所能实现的能力边界”。虽然编译器本身是一个有趣的技术成果,但更深层的意义在于探索长期自主运行的智能体团队控制框架——确保多个智能体在无人监督的情况下保持正确方向,并能有效并行推进复杂任务。
技术实现层面,Carlini采用了一种精巧的架构设计。他将Claude置于“简单循环”中,让每个智能体持续处理指定任务,直至完美完成后再立即转向下一个任务。多个Claude实例并行运行在独立的Docker容器中,但共享同一个Git代码仓库。这种设计不仅提升了开发效率,还促使智能体自然形成专业化分工——部分专注于文档编写,另一些则负责代码质量优化。
为解决智能体间的协作同步问题,研究团队设计了一套基于文件锁的简易方案。智能体通过在current_tasks/目录下写入文本文件来“锁定”任务,如果两个智能体同时尝试认领同一任务,Git的同步机制会强制第二个智能体选择其他任务。任务完成后,智能体会在本地合并其他同伴的修改,然后推送分支并释放锁。令人惊讶的是,Claude展现出足够智能的冲突解决能力,能够自行处理代码合并过程中出现的冲突。
最值得注意的是,这套架构中没有使用传统的主控编排智能体,而是让每个Claude智能体自主决定行动策略。在大多数情况下,Claude会选择解决“下一个最显而易见”的问题。当遇到顽固Bug时,智能体会维护一个记录失败方法和剩余任务的运行文档,形成自适应的错误处理机制。
为确保项目成功,Carlini实施了多项关键措施:维持高质量的测试和持续集成流程,同时避免智能体在测试环节耗费过多时间;当不同项目可能出现相同Bug时,将不同智能体分配至不同项目;通过专业化分工提升整体效率。特别在Linux内核编译过程中,团队采用GCC作为参照基准,让每个智能体使用GCC编译内核树的随机子集,而Claude编译器处理剩余部分,仅在该子集上进行输出优化。
最终产出的编译器包含约10万行代码,通过了GCC折磨测试的99%,不仅能编译FFmpeg、Redis、PostgreSQL、QEMU等主流开源项目,甚至能够运行经典游戏《毁灭战士》。这一成就引发了技术社区的广泛讨论,评价从积极支持到审慎质疑不一而足。
社交媒体上的讨论揭示了更深层的技术思考。有用户指出,尽管成就显著,但整个过程中仍需要人类工程师不断重新设计测试、在智能体相互干扰时搭建CI流程,以及在16个智能体同时卡在相同Bug时制定变通方案。另一方面,关于智能体是否只是复现训练数据中已有代码的质疑也值得关注,这涉及到AI生成代码的原创性评估问题。
业界专家对“Claude在两周内完成人类工程师37年工作量”的说法提出不同见解,指出GCC编译器在1987年就已完全可用,37年的发展主要是伴随编程语言、平台和优化技术的持续演进。还有观点关注开源生态的可持续发展,质疑这种AI生成代码的方式是否会对开源社区贡献机制产生影响。
这项实验预示软件开发模式的深刻变革。未来,优秀开发者的核心技能可能不再是直接解决复杂Bug的能力,而是设计自动化测试体系与反馈循环的架构能力——这些机制能让模型的多个并行实例协同解决问题。Carlini也提醒,如此轻松地生成代码可能带来新的安全风险,未来需要制定新的策略来安全应对AI自主开发时代的技术挑战。









暂无评论内容