首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 汽车 游戏 社会热点 开源推荐 医疗健康 归档 标签 关于

完全相信AI代码的Uncle Bob,坦诚这条路还没走通

2026-08-24 1 阅读 约10分钟阅读 褚杏娟
分享:
字号:
在AI代码极度普遍的当下,一直告诫开发者要严肃对待自己编写的代码的Uncle Bob,如今已经彻底放弃对 AI 代码逐行人工评审,转而在搭建一套依靠指标与约束条件的管控框架,这一做法在工程师群体当中引发激烈争论。 不是所有的软件工程领域的权威领袖都认同这一思路。统一建模语言(UML)联合作者、软件工程领域的奠基人物之一Grady Booch直接公开提出过反对意见。 “信任,但要核验。作为经验丰富的开发者,我可以凭直觉分辨代码好坏。但没有任何智能体,能够拥有同等的实战积累与业务上下文,做到这件事。”Booch说道。 Booch 会完整审核智能体生成的全部代码。在他看来,测试覆盖率和复杂度指标可以让我们对功能正确性抱有信心,却无法发现智能体是否引入安全漏洞、生成无效死代码悄悄侵蚀后续的可维护性,或是漏掉对性能至关重要的逻辑拆分。 那么,自动化指标,到底能不能替代资深工程师在长年职业生涯中练就的问题识别能力? Uncle Bob为智能体设置了强约束体系:单元测试、Gherkin 验收测试、QA 测试流程、圈复杂度阈值、模块大小限制、依赖结构分析、变异测试(mutation testing)以及测试覆盖率要求。他的核心逻辑是:只要 AI 生成的代码能够全部通过这一道道关卡,即便没人读过一行函数内部实现,我们也有充分理由相信代码的正确性。 这套方案绝非纸上谈兵。单是变异测试这项技术,就会系统性改动源代码,以此检验测试用例是否真的能够捕获缺陷,其严谨程度已经超过绝大多数普通工程团队的人工评审流程。但这种模式需要前期投入巨大成本:想要把测试套件当作唯一质量关卡,需要极强的工程纪律,而绝大多数团队并不具备,也很难快速建立这套能力。 最近在Matt Pocock的播客节目中,Uncle Bob透露了自己的这套方案进度。AI 全权负责代码编写,他自己专注做好后续质量管控,这套模式运行得非常顺利。但在将自己的一整套架构规划流程全自动化时,暂时没有取得理想效果。他承认,现阶段 AI 做架构设计经常产出漏洞方案,架构、模块依赖管控仍然需要人类主导。 播客中,Uncle Bob介绍了自己当前的强约束约束方案和他现在的研发流程,他建议,放弃瀑布式重度前置规划,采用敏捷小迭代,即做完一小轮迭代后,人工复盘重构架构,再进入下一轮。开发者不必维护固定静态需求文档,可运行系统、自动化检测标准才是权威需求。他也不建议开发者不要直接下载使用自己的成品,而是理解工具逻辑后让 AI 复刻适配自己的检测工具。 他还强调了学习底层知识的重要性,认为新人必须亲手写代码,完整经历编码、调试、排错,不能全程只做 AI 提示词工程师。新人可以把自己当作 “人类智能体”,接受自动化检测约束,积累实战,再进阶做战略架构。通过阅读经典软件工程书籍,获取架构与战略思维,弥补 AI 时代架构反馈周期缩短但新人缺少历史踩坑经验的短板。 下面是两人的详细对话,我们进行了翻译和整理,并在不改变原意基础上进行了删减,以飨读者。 太长不看版 Q:如今人工智能和 AI 智能体已经普及,你的工作和编程体验发生了哪些变化? A:现在,我的核心工作模式是全权交给 AI 智能体执行开发任务、运行各类检测工具,我的终极目标是彻底不用手动查看代码,完全信任 AI 的输出结果。 Q:为什么要耗费大量精力优化代码、搭建管控体系,而不是快速迭代? A:即便 AI 智能体速度快、智能化程度高,但也和人类一样无法应对极度混乱的代码。只是它们的容错阈值和人类略有不同,但依然存在上限。 Q:有没有一些传统编程理念,在 AI 时代已经不再适用,需要被淘汰? A:最核心的调整是复杂度阈值。AI 智能体的短期记忆能力远超人类,容量更大、精度更高,能处理更复杂的代码逻辑。第二个需要调整的是人工开发规范的落地方式。我一直是测试驱动开发的忠实拥护者,但这是适配人类开发者的工作准则,完全不适合强行约束 AI 智能体。 Q:在交给需求解析智能体之前,你会做多少人工前置规划? A:我彻底放弃了重度前置规划,转而拥抱敏捷开发思路。不再一次性规划全部需求,而是让 AI 先完成单个、小型需求迭代,结束后人工复盘架构、优化结构,再推进下一轮迭代,逐步完善整体系统。这套模式无法彻底规避人工收尾、架构调整的工作,我目前也在尝试自动化优化,但暂时没有突破。 Q:很多人会让多个 AI 反复打磨需求文档,拿到完美方案后再落地开发,你如何看待这种模式? A:如今编程的修改成本已经无限趋近于零,我们完全没有必要耗费大量精力做重度前置规划,快速迭代、持续优化才是最优解。 Q:新人该如何培养这种敏锐度? A:新人没有这种实战积累,想要培养这种能力,最直接的方式就是研读经典老书。这些书籍虽然部分内容老旧,但核心的架构思维、工程理念、战略逻辑永不过时。新人研读这些内容,就能快速建立顶层认知,再结合 AI 实战体感,慢慢就能培养出战略思维。 Q:AI 可以替代一切,无需学习底层原理,你怎么看? A:底层基础的价值从未改变。鼓吹基础无用的人,终究会付出代价。 “浴袍”出镜的Uncle Bob 主持人:从我成为开发者至今,甚至在我入行之前,他就深耕软件领域多年,如今更是在智能体Agent领域闯出了自己的一片天地。今天我们有幸连线身着浴袍的 Uncle Bob Martin,欢迎他来到现场。 主持人:真的非常荣幸能请到你。可能很多观众好奇你穿浴袍出镜的缘由,我们正好借此聊聊这个有趣的小细节。这件浴袍为什么成了你的标志性特点呢? Uncle Bob:这件事大概发生在两年前。某天清晨,我穿着浴袍站在自家门廊上,突然有感而发,忍不住吐槽 SQL 的种种弊端。出于安全层面的考量,将文本语言作为数据库访问语言本身就很不合理,还会引发大量 SQL 注入漏洞之类的问题。 当时我就在浴室里,随手拿起手机即兴吐槽了一番,这段晨间浴袍吐槽视频就这样诞生了。没想到这段视频反响特别好,之后我就陆续多更新了几期晨间浴袍吐槽内容。 主持人:所以你今天也是带着这种随性的晨间状态来做客的吗?是不是还没喝咖啡,保持着清晨不想被打扰的状态?清晨六点就开始琢磨 SQL 问题,也太拼了。 Uncle Bob:其实现在已经上午十点了。(笑)我已经喝完第一杯健怡可乐,状态完全在线,没问题的。 主持人:那就好。看你现在换上了 polo 衫,状态满满。我的观众里大部分是开发者,但也有不少非技术观众,能不能给大家好好介绍一下 Uncle Bob 这个行业传奇人物,让非开发者也能了解你? Uncle Bob:传奇谈不上,我只是一名普通的程序员,而且已经入行很久了,至今从业时长已经超过五十年。我第一次接触编程是在1964年,那年我十二岁。当时我生日,妈妈给我买了一台小型模型计算机,我通过在插钉上摆放白色小管的方式编写程序。那本质上是一个三位有限状态机,但当时这个小东西彻底勾起了我的好奇心,让我深深迷上了编程。 主持人:十二岁就接触编程,那五十多年后的今天,你是一步步走到如今的行业地位的? Uncle Bob:从接触编程开始,我就疯狂汲取各类编程知识。父亲给我买了 Fortran、Cobol、PL1 相关的编程书籍,我全部通读了一遍。那时候没有电脑设备可以运行代码,我就把程序写在纸上,在脑海里模拟运行
这篇文章对您有帮助吗?

订阅66必读

每日精选科技资讯,直达你的邮箱