AI 时代的软件架构之道——听 IBM院士UML之父Grady Booch 聊架构、 与创造力
AI 时代的软件架构之道——听 Grady Booch 聊架构、AI 与创造力
原文来自 InfoQ 播客:The Craft of Software Architecture in the Age of AI Tools
主持人:Shweta Vohra | 嘉宾:Grady Booch(IBM 院士、UML 联合创建者)
一位传奇人物
如果你学过计算机,大概率用过或至少听说过 UML(统一建模语言)。Grady Booch 就是 UML 的联合创建者之一。他是 IBM 的院士和首席科学家,从事软件开发已经数十年,见过 Grace Hopper(编译器之母),见过 J. Presper Eckert(ENIAC 的发明者之一),几乎亲历了整个软件工程的发展史。
在这期播客中,他和主持人 Shweta Vohra 聊了一个当下非常热门的话题:AI 工具时代,软件架构还重要吗?会变成所谓的”AI 架构”吗?
下面是这期播客的核心内容。
软件工程的三个黄金时代
Grady 认为,我们目前正处于软件工程的第三个黄金时代。
第一个黄金时代(1940s-1960s)
这个时代,软件从硬件中独立出来,成为一个”东西”。之前,编程就是直接操作硬件。后来出现了高级编程语言(如 FORTRAN、COBOL),软件工程的概念开始成形。
那时候机器比人贵得多,所以所有东西都围绕”省钱”来优化——提前把一切想清楚,错误越早发现越好,这就是瀑布模型的由来。这个时代的核心抽象单位是算法。
第二个黄金时代(1970s-1990s)
小型计算机出现了,分布式系统开始萌芽。这个时代诞生了很多重要的思想:David Parnas 的信息隐藏、Simula 语言的面向对象概念、抽象数据类型等。
Grady 本人就站在这个浪潮的中心——他把这些思想整合成了面向对象设计方法,也就是后来 UML 的基础。这个时代的核心抽象单位是对象。
第三个黄金时代(约2010s至今)
我们进入了平台时代。系统不再是单个程序,也不再只是分布式系统,而是超大规模的全球性系统——互相连接、互不可控。
架构师的核心工作变成了”编织”:用这个消息队列、接入那个 SaaS 服务、加上这个认证机制……而 AI 工具(比如 Claude、Copilot)正是在这个时代涌现出来的,成为这个时代”空气”的一部分。
Grady 特别强调:AI 不是突然冒出来的,它是一个延续了十几年的趋势的一部分。就像他在 1979 年就有了自己的第一个邮箱地址(当时全球所有人的邮箱地址可以印在一本小册子上),很多东西在普通人看到之前,就已经在发展了。
架构 vs 设计:到底有什么区别?
很多人搞不清架构和设计的区别。Grady 给了一个非常简洁的定义:
所有的架构都是设计,但不是所有的设计都是架构。架构是那些”改变代价很高”的重大设计决策。
他画了一个三层结构:
- 架构:最高层。比如”用 React 还是 Vue”、”用 MySQL 还是 MongoDB”——这些决策一旦做出,改起来成本很高。
- 设计:中层。比如设计模式的选择、前后端分离、CRUD 的分层方式等。
- 惯用法(Idioms):最低层。比如变量命名用驼峰还是下划线,缩进用 tab 还是空格。
设计本质上就是做选择。而架构就是那些”承重墙”级别的选择。
AI 会取代架构师吗?不会。
这是整场对话最有价值的部分。Grady 对 AI 的态度可以总结为八个字:不恐惧,很欢迎,保持清醒。
AI 更像一个不知疲倦的实习生
Grady 自己日常使用 Claude 来写 JavaScript、Swift、PHP、C++ 等代码。他对 AI 的评价是:
AI 就像一个热情的、不知疲倦的、从不睡觉的实习生——但也很天真,需要你不停地给方向。它能完美执行你交代的任务,但它自己并不知道做对了没有。事实上,它里面根本就没有一个”它”——它不是一个人。
AI 不是创造力
Grady 对”AI 有创造力”这种说法嗤之以鼻。他用 AlphaGo 举例:AlphaGo 下出了人类从未想过的棋路,有人惊叹”我看到了上帝的面容”。但 Grady 认为,那不是创造力,那只是在更大的搜索空间里更快地搜索。
真正的创造力是什么?是把看似不相关的东西联系在一起,背后有着对需求、欲望、情感的深刻理解。AI 做不到这一点。
大语言模型是优秀的搜索引擎,是卓越的”大规模胡说八道生成器”——但它不是有创造力的存在。
AI 工具就像当年的编译器
Grady 提出了一个非常有洞察力的类比:
当年 Grace Hopper 发明编译器的时候,很多人觉得荒唐——让机器帮你写代码?但编译器只是把程序员从低级的机器指令中解放出来,让人类可以在更高的抽象层次上思考。今天的 AI 工具做的也是一样的事。
编译器没有让程序员写更少的代码,反而让他们写了更多的代码——因为更多的人可以编程了。AI 工具也一样,它降低了编程的门槛,但并没有改变架构的本质。
什么被过度炒作了?什么被低估了?
过度炒作的:AGI 即将到来
Grady 毫不客气地批评了 Sam Altman 和 Dario Amodei 等人的”AGI 即将到来”论调:
AGI 不会很快到来。大语言模型是一个架构上的死胡同。我跟神经科学家合作了六年研究大脑的结构,那些说 AGI 就在眼前的人,对人类大脑的理解简直天真得令人窒息。
他更担心的是:
我不害怕超级智能的崛起。我害怕的是那些亿万富翁们控制着这些系统,用它来增加自己的权力和控制。这才是可怕的——而这是一个人类的问题,不是软件的问题。
被低估的:人类创造力的不可替代性
AI 有两个根本性的局限:
- 无法处理意料之外的情况。LLM 会把你推向最常见、最平庸的设计方案,因为它的训练数据就是这样的。但如果你想做一些真正创新的东西,它帮不上忙——因为你已经超出了它的训练数据范围。
- 没有溯因推理(abductive reasoning)能力。它能总结、能推理、能演绎,但它不能像人类那样”建立理论”。这是目前只有哺乳动物(人类、鲸鱼、猿类等)才有的能力。
被低估的另一面:去技能化的风险
Grady 也提出了一个严肃的担忧:
软件开发某种程度上是一个学徒制的行业。就像法律行业,年轻的律师通过翻阅大量的法律文书、和资深律师一起办案来积累经验。但如果入门级的工作都被 AI 取代了,下一代人去哪里获得经验?
这是一个没有答案的问题,但值得所有从业者思考。
AI 写的代码出了问题,谁负责?
答案简单而明确:人类负责。
IBM 的创始人 Tom Watson 在 50-60 年代就说过:机器永远不应该为错误负责,因为机器是被人类指挥的。最终的责任永远回到指挥机器的人身上。
你不能说”是 AI 写的,不是我写的”——就像你不能说”我的狗吃了我的作业”一样。
Grady 还提到了一个很实际的建议:对 AI 工具建立”信任模型”。就像你对不同的朋友有不同的信任度一样——这个人懂技术但审美不行,那个人擅长设计但不太靠谱——你也应该对不同 AI 工具在不同领域的能力建立自己的判断。
多用、多试、建立自己的感觉。但不要因为工具的存在而改变你自己。
给架构师的建议
应该积极拥抱的
- 去玩 AI 工具。它们很有趣,而且会成为未来软件开发的一部分。
- 持续磨练架构能力。不要只盯着自己的领域,去看看其他领域的代码——读读 MacPaint 的原始代码,看看 Unix 内核的实现。最优秀的架构师不只是写代码,他们也读别人的代码。
- 为自己的架构决策承担后果。不要做”太空人架构师”——指指点点就走了。你要亲自感受你的决策带来的影响。
应该坚决抵制的
- 不要放弃你的创造力和独立思考。AI 可以帮你完成很多工作,但创造力是人类最后的堡垒。
- 不要走捷径。古语说”数学没有王者之路”——架构也没有捷径。
- 不要被 FOMO(错失恐惧)裹挟。你的首要目标是构建有价值的东西,只有当工具能帮助你实现这个目标时,工具才有意义。
最后的话
Grady 在结尾说了一段非常动人的话:
计算机是一个改变了文明的领域。我们做的事情,正在改变世界——这既是一种特权,也是一种责任。还有什么行业能对人类文明产生如此巨大而直接的影响呢?这是非常酷的事情。所以,去享受它吧。人生苦短。
我的总结
这期播客最有价值的观点是 Grady 对”抽象层次”的理解。从机器语言到汇编语言,从汇编语言到高级语言,从高级语言到 AI 辅助编程——每一次都是抽象层次的提升,都是把繁琐的机械工作交给机器,让人类专注于更高层次的思考。
AI 不会取代架构师,就像编译器没有取代程序员一样。但它要求架构师站得更高——不仅要懂技术细节,还要理解系统、理解人、理解创造力。
最打动我的是那句”不要放弃你的人类特质”。在所有人都急着用 AI 的时代,保持独立思考的能力,可能才是最稀缺的东西。
本文基于 InfoQ 播客The Craft of Software Architecture in the Age of AI Tools整理翻译,有删减和重组。
夜雨聆风