软件工程教父不再逐行审查 AI 代码:信任全交给自动化指标,但承认架构设计还没走通
《代码整洁之道》作者 Robert C. Martin(Uncle Bob)已彻底放弃对 AI 代码的人工逐行评审,转而把质量管控交给一套由指标与约束条件组成的自动化闭环。他坦言这套模式"运行得非常顺利"——但 UML 之父 Grady Booch 公开反对。AI 代码的质量,究竟该由谁守?
《代码整洁之道》作者 Robert C. Martin(Uncle Bob)已彻底放弃对 AI 代码的人工逐行评审,转而把质量管控交给一套由指标与约束条件组成的自动化闭环。他坦言这套模式"运行得非常顺利"——但 UML 之父 Grady Booch 公开反对。AI 代码的质量,究竟该由谁守?
一场关于"AI 代码要不要人读"的争论,正在软件工程界蔓延。站在两端的,是两位各自写过里程碑级著作的殿堂级人物。
认知的裂缝,从"信任"这个词开始。
UML 联合作者,坚持逐行审核智能体生成的全部代码。
"作为经验丰富的开发者,我可以凭直觉分辨代码好坏。但没有任何智能体,能够拥有同等的实战积累与业务上下文。"
只看 CRAP 评分、不定期抽查代码、运行定制测试套件。
"只要 AI 生成的代码能通过全部关卡,即便没人读过一行函数内部实现,我们也有充分理由相信正确性。"
注:两方观点均来自近期公开对话,此处为编辑摘编,完整原话以原始对话记录为准。
Uncle Bob 为 AI 智能体搭建的约束体系,覆盖了从"函数内部逻辑"到"模块之间关系"的所有层级:单元测试、Gherkin 验收测试、QA 测试流程、圈复杂度阈值、模块大小限制、依赖结构分析、变异测试、测试覆盖率。
注:核心逻辑只有一句——能不能通过全部关卡,比有没有人读过每一行更重要。方框高亮为 Uncle Bob 最看重的"重武器"。
但他最初并不是这么做的。Uncle Bob 在播客中回忆,自己曾把《Clean Code》核心内容几乎全部写进提示词,整理成几页纸的规范文档,结果很快发现:AI 对待这些明文规则,就像《加勒比海盗》里的准则——"参考建议",可遵守可不遵守。
原因指向大模型一个已知缺陷:"中间信息丢失"(lost in the middle)。
他的结论因此很干脆:精简初始提示词,只保留最核心规则;剩余约束,全部靠后置自动化工具落地。
单工具约束只是第一步。真正让 Uncle Bob 放心"撒手"的,是一套多智能体协作流水线。每个角色只领一项任务、占用极小的上下文窗口,完成即销毁,下一轮任务启用全新智能体。
"原本单个智能体需要五分钟完成、质量参差的工作,这套闭环大约一小时完成,但对比人类半天的开发时长,效率依然提升 4-5 倍,且代码质量远高于人工开发水平。"
注:流程按 Uncle Bob 公开描述整理;每个智能体启动需 10-15 秒初始化,期间会重新读取任务上下文。
这套体系能成立,靠的是两项让 AI 如鱼得水的"重活"。它们都是 2000 年前后被提出的老技术,当年因算力门槛被搁置,如今被 AI 的速度重新激活。
注:CRAP 评分越低函数越健康;阈值 6 意味着函数允许 6 条独立逻辑分支且全部被测试覆盖。右侧两格为 AI 时代的新标准。
CRAP 评分结合代码覆盖率、测试覆盖率与圈复杂度,给每个函数打一个"劣质程度"分数。Uncle Bob 的解释很直接:AI 的短期记忆能力远超人类,容量更大、精度更高,能处理更复杂的逻辑分支,所以阈值从人类的 4 上调到 6,未来可能放宽到 8。
变异测试则更"狠":系统遍历源代码,反转正负号、大小于符号、逻辑等于符号,再运行全套测试。如果代码被篡改后测试依然通过,说明出现"存活变异体"——测试存在漏洞,必须修复。2000 年,Uncle Bob 跑一次完整测试要四分钟、重复数百次,只能通宵挂机;现在 AI 三十分钟跑完,顺带自动修补所有漏洞。
但这套闭环,有一个绕不开的缺口。
"我目前正在尝试将整套架构规划流程全自动化,但暂时还没有取得理想效果。"
Uncle Bob 承认,现阶段 AI 做架构设计"经常产出漏洞方案"。他仍要人工向 AI 问询系统结构、模块关联、依赖关系,再基于经验重新规划模块拆分与通信规则。他让 AI 开发了实时 UML 可视化工具和依赖规则校验程序,但架构的顶层决策依然由人完成。
他同时彻底转向敏捷:放弃重度前置规划,让 AI 先完成单个小型需求迭代,人工复盘架构后再进入下一轮。理由藏在一段直白的计算里——
当基础编码全被 AI 接管,新手开发者该从哪里长出战略思维?Uncle Bob 在对话中给出了三条路径:
Uncle Bob 用一套检测闭环替代了自己五十年的阅读经验——这不是投降,而是第一次把"经验"成功编码为"约束"。但这套约束有明显盲区:安全漏洞不报错、架构坍塌不报错、业务语义偏差也不报错。当"不读代码"成为新常态,设计这些约束的人,就成了代码质量最后的守门员。
想听 Uncle Bob 完整讲述这套工作流?他与主持人围绕多智能体分工、深度模块理论、TDD 是否适合 AI 的讨论,已整理为可阅读的完整对话。
阅读完整对话 →