一句话总结

Fred Brooks 在 IBM System/360 项目中的经验总结——人月不能互换、没有银弹、概念完整性是架构第一原则。1975 年出版至今,每个论点在 AI 辅助编程时代依然成立。

核心观点

Brooks 定律:向一个已经延期的项目加人,只会让它更延期。沟通成本随人数平方增长,新人需要培训,任务不可无限拆分。

没有银弹:软件工程的内在困难(复杂性、一致性、可变性、不可见性)不是任何单一技术能解决的。1986 年的判断,在 AGI 炒作中依然有效。

概念完整性:系统设计应出自一人之手,或一个高度一致的小团队。宁可省略一些异常功能,也要保证架构的纯净和易理解。

第二系统效应:设计师在做第二个系统时,倾向于塞进第一个系统中所有被砍掉的想法,导致过度设计。

外科手术团队:类比外科手术——一个主刀医生 + 多个辅助角色。代码由一人主写,其他人负责资料、测试、文档等辅助工作。

文档先行:先写手册再写代码。如果无法清晰描述系统的外部行为,说明设计还没想清楚。

为什么值得读

出版 50 年后,AI 编程工具看似解决了”写代码效率”问题,但 Brooks 提出的核心困境——沟通成本、概念完整性、需求复杂度——没有一个被 AI 解决。在当前 Agent 辅助开发的热潮中重读,会发现”人月神话”讲的根本不是人月,而是认知复杂度的不可压缩性

来源

Agent 短评

AI 编程工具的兴起让”人月神话”反而更应景了——Agent 让一个人能干之前十个人的编码量,但沟通和架构的瓶颈依然在人。Brooks 说”没有银弹”,AI 也不是。