AI 能独立完成的最大软件项目是什么?
开发者们正在探索当前 AI 模型在自主构建软件方面能走多远,从 shell、编译器和检索引擎,到完整应用,甚至类操作系统环境。许多人报告说,只要有强测试与人类设计的架构指导,AI 就能生成大量可用代码,并在规格明确时克隆复杂系统;但一旦放任不管,它很快就会偏向脆弱、重复或不连贯的设计。逐渐形成的共识是:AI 最适合在由人类主导的工作流中充当强大的初级工程师,而真正更难的开放问题在于长期维护、架构一致性和需求定义,而不是原始代码生成。
“AI 可完成”的软件范围
- 多条评论认为,“最大项目”不是正确的问题;更难、也更有意思的问题是,AI 在保持架构一致性、性能和安全性的同时,能在多长时间内维护一个多大的系统。
- 也有人指出,在规格和测试都很清晰的情况下,复现现有软件要容易得多;而设计需求模糊的新产品则困难得多。
真实世界中的 AI 项目经验
- 反馈中提到的重 AI 项目范围包括:
- 一个用 Rust 实现的 Bash 克隆版,带有数千个测试和数百个留给代理修复的问题。
- 一个 18 万 LOC 的调查检索引擎,包含自定义 WAL、混合检索、ACL,以及约 3000 个测试,并接受政府机构评估。
- 一个完整的 Linux 发行版,以 Mac 应用形式打包,并在约 2 周内完成。
- 投资组合管理工具、FHIR/SNOMED 原型、缓存代理、游戏克隆、编译器实验,以及一个多语言、约 200 万+ LOC 的代码库。
- 典型模式是:AI 负责大部分实现;人类负责架构、规格和审查。
架构、混乱与长期健康
- 许多人表示,无人监管或“vibe-coded”的项目很快就会变成意大利面式代码:
- 最短路径式修补、胶带式补丁、重复代码、靠关键假设支撑的技巧性写法。
- AI 很少会主动退一步,自行进行大型架构重构。
- 有些人说这很像需要指导的初级工程师;也有人强调,人类可以自主设计并维护复杂系统,而当前模型还做不到这一点。
测试、脚手架与护栏
- 大体共识是,成功取决于:
- 大量单元/集成测试、不变量,以及与参考实现的端到端对比。
- 增量式、小范围任务,加上持续的人类审查。
- 允许代理在严格测试套件下反复运行多轮的脚手架/循环。
- 对于“很多测试”是否足够,存在分歧;因为没有人类深刻理解被测试对象的话,单靠测试未必可靠。
能力、局限与用例
- 模型在以下场景表现良好:
- 小到中等规模组件(例如约 500 行的 React 组件、端点)。
- 规格明确、且已有丰富测试的移植/克隆项目。
- 它们在以下方面表现吃力:
- 新颖架构、大而独特的领域(例如 CAD 内核),以及全局一致性。
- 没有人类定期纠偏的完全自主运行。
基准与数据方面的担忧
- 有人质疑那些只覆盖基于文本的程序、并且可能依赖训练中见过代码的基准。
- 也有人强调,预算过于微薄的基准不现实;严肃的评估必须允许巨大的搜索空间和长时间运行。