人月神话,第 7-12 章:协调是产品
对“神话人月”的诱人现代解读是:“布鲁克斯警告我们,迟加人会使项目变慢。”确实如此,但它太小了。
第 7-12 章实际上是关于看起来不像编码的工程部分:共享语言、估计、资源预算、文档控制、原型规则和通用工具。这些部分听起来很管理,直到它们消失为止。然后它们就变成了项目。
这就是为什么这些章节对于智能体系统仍然有用的原因。coding agent 可以比人类更快地进行本地更改。它不能自动使整个组织变得更加清晰。
Babel 失败
布鲁克斯将巴别塔视为工程失败:不是缺乏雄心、材料、劳动力或时间,而是沟通和组织的失败。
智能体版本很容易想象:
- 规划者要求更改 API;
- 编码器将字段从
source重命名为uri; - 测试智能体仅检查本地模块;
- 文件智能体继续撰写旧合同;
- 即使每个智能体都报告成功,下游呼叫者仍会破产。
问题不在于智能体弱。问题在于系统没有共享合约,没有变更传播路径,也没有接口的所有者。
因此,智能体编排是任务分解之前的通信设计。自然语言消息很有用,但还不够。多智能体系统需要模式、类型化工具契约、接口版本、跟踪链接、变更日志和所有权。
估计的不是代码生成时间
布鲁克斯反对根据小程序经验来估计大型系统。编码只是工作的一部分。规划、文档、测试、集成、训练和沟通消耗了其余部分。
当我们通过询问“模型需要多长时间来编写补丁?”来估计智能体工作时,也会出现同样的错误。
对于生产变化,实际单位更大:
accepted diff
+ passing evals
+ review cost
+ migration risk
+ rollback path
+ security boundary
+ monitoring and debugging cost
智能体可以减少本地打字和搜索成本,但系统仍然支付集成费用。跨服务、跨数据或跨权限表面越大,“每分钟生成的行数”就越没用。
五磅重的袋子现在是上下文
第 9 章讨论空间预算。重点不是对小型机器的怀旧。关键是每一种稀缺资源都需要系统级预算。
在智能体产品中,五磅重的麻袋不再只是记忆。它也是:
| 预算 | 常见故障 |
|---|---|
| 上下文窗口 | 每个模块都添加“一点点”更多文本 |
| token成本 | 自检、重试、痕迹悄然倍增 |
| 延迟 | 跨智能体累积工具调用 |
| 注意 | 用户收到太多解释而无法采取行动 |
| 保养 | 提示、工具和模式各自漂移 |
危险版本并不是一个明显浪费的模块。它是五个合理的模块,每个模块添加一个合理的东西,直到工作流程变得缓慢、嘈杂且难以重现。
这样压缩、缓存、数据表示和调用边界架构决策成为可能。即时调整无法修复没有资源控制平面的系统。
作为控制面的文档
布鲁克斯的“文献假设”听起来很枯燥,除非你将其重新解释为控制问题。一个项目有太多的事实,每个人都难以记住。文档的作用是做出少量决策,足够明确以供检查、更新和共享。
对于智能体平台来说,关键文档通常不是很长的 wiki,而是短、硬、可检查的产物:
- 产品目标;
- 建筑合同;
- 工具注册表;
- 评估计划;
- 发布清单;
- 成本预算;
- 所有者地图;
- 事件和重播政策。
这些文件应该对人类和智能体都有用。这意味着它们应该是结构化的、版本化的、可搜索的,并尽可能与测试或模式相关联。
文档不是旁路。这就是系统记住聊天记录忘记的内容的方式。
故意扔掉一个第 11 章的著名教训是,第一个系统通常应该被丢弃。危险在于不编写原型。危险在于假装原型是产品。
这对于智能体工作流程尤其重要。第一个版本通常将提示、工具调用、内存模式、重试和评估逻辑硬编码到一个循环中。几周后,团队了解到:
- 计划者过度分配任务;
- 猎犬发出噪音;
- 测试智能体错过了真正的故障;
- 内存污染下一次运行;
- 痕迹太弱,无法进行调试。
到那时,修补可能比围绕所学到的内容重写循环更昂贵。
健康的做法是尽早标记一次性部分:提示格式、内存模式、跟踪格式、评估集、工具协议和编排策略。原型应该产生知识,而不是永久的债务。
利器是共享工具
布鲁克斯还反对每个程序员都维护一个私有工具箱。在大型项目中,私有工具会增加摩擦,因为团队失去了可比性。
智能体版更加犀利。如果每个工程师都使用不同的提示库、沙箱、测试命令、本地内存和重播约定,则智能体生成的差异将不再具有可比性。没有共同的“完成”概念。
一个严肃的智能体工具链需要通用的基础设施:
sandbox
test runner
dependency scanner
trace viewer
eval dashboard
fixture library
permission model
replay mechanism
rollback path
工具匠变得更加重要,而不是更少。工具匠正在定义智能体可以安全地做什么、如何重现故障以及哪些证据算作进展。
还剩下什么
书中标注日期的部分是机器价格、职位名称和一些工具形状。持久的部分是系统课程:
programmer coordination -> agent orchestration
manual review -> eval, CI, trace
architecture handbook -> executable contract
late manpower -> late agent swarm
space budget -> token, latency, context budget
pilot system -> throwaway agent prototype
tool room -> shared sandbox, replay, eval harness
这些章节并没有说现代球队应该复制布鲁克斯的组织。他们说了一些更基本的话:实施速度不是交付速度。
智能体编码使本地实施更便宜。它并没有消除对沟通、估算、预算、文档、原型和工具的需求。在许多情况下,它使这些约束更加明显,因为现在可以在任何人注意到系统没有共享形状之前完成更多工作。