AI 时代的人月神话

布鲁克斯定律的持久性

Frederick P. Brooks Jr. 在 1975 年提出的观点——“向进度落后的软件项目中增加人手,只会使进度更加落后”——即使在 AI 智能体融入开发生命周期的今天,依然具有现实意义。虽然 AI 消除了入职培训时间和办公室政治等传统的人力瓶颈,但顺序任务的基本约束依然存在——即“婴儿问题”,九个智能体无法在一个月内生出一个婴儿。主要的挑战已经从管理人员转变为管理自主智能体,在这一过程中,不明确的需求会导致更快但错误的结果。

协调开销的变异

在 AI 时代,软件开发的开销并没有消失,而是发生了变异。如果没有严格的编排,多个自主智能体在同一个代码库上工作时,往往会陷入高速循环,不断覆盖彼此的工作。在开发中有效利用 AI 需要将重点转向:

  • 清晰的编排: 定义严格的边界和接口,以防止智能体之间产生冲突。
  • 需求精确性: 由于智能体执行指令的速度极快,模糊的需求会导致快速产出错误的代码。
  • 评估循环: 人类的角色已经演变为“管理者”,负责定义什么是“完成”,审查输出结果,并捕捉幻觉。

关于 AI 驱动开发的观点

社区讨论凸显了两种观点之间的分歧:一种将 AI 视为并行化的工具,另一种则将其视为新的管理复杂性来源。

并行化的理由

一些从业者认为,AI 通过允许任务的大规模并行化,从根本上改变了“人月”的本质。支持者认为,智能体在协调方面可以胜过人类,因为它们没有自我,并且一旦定义了 API 或架构,就可以并行处理子任务。正如一位评论者所指出的,“要求对同一个问题进行 10 次净室实现,并让一个裁判模型选出最好的”,这种协作模式在人类团队中是不切实际的。

持久约束的理由

另一些人则坚持认为,软件工程的核心原则,如概念完整性以及构建稳定、安全系统所需的顺序构建,依然没有改变。对“AI 解决一切”叙事的批评者指出:

“大多数事实并不受 AI 存在的影响。生活中大多数事情并不需要为了‘AI 时代’而做出调整。” — @handle

此外,结果存在显著差异:虽然熟练的工程师利用 AI 将生产力提高了几个数量级,但技能较低的用户可能会发现,AI 只是加速了低质量、未经核实代码的生产。

管理新的瓶颈

软件开发的瓶颈已经从人与人之间的沟通,转移到了人类规划需求以及验证这些需求是否得到满足的速度上。“两个披萨原则”——保持团队规模较小以最大限度地减少沟通开销——仍然是一个有效的启发式方法,因为向项目中增加更多的智能体可能会增加微管理的负担。归根结底,在软件工程中成功应用 AI,需要将智能体视为结构良好系统中的专用组件,而不是人类监督的直接替代品。

Sources

相关