当Martin Fowler——这个被称为"软件架构教父"的人——说AI是"他职业生涯中见过的最大变革"时,整个行业都该竖起耳朵。不是因为又一个硅谷网红在蹭AI热点,而是因为这位65岁的ThoughtWorks首席科学家、Agile Manifesto联合作者、《Refactoring》作者,亲历了从汇编语言到高级语言、从瀑布模型到敏捷、从单体架构到微服务的每一次范式转移。2025年11月,他与The Pragmatic Engineer创始人Gergely Orosz坐下来进行了一场深度对话,从非确定性系统、Vibe Coding陷阱、重构的未来、到AI时代下的敏捷实践,系统性地回答了一个问题:当AI开始写代码,软件工程师还剩下什么? 这段279K播放量的视频发布半年后,随着Karpathy加盟Anthropic、Context Engineering成为新范式、Sonar Summit 2026提出"Agent Centric Development Cycle",Fowler的预言正在一步步变为现实。今天,我们深度拆解这场跨越两代软件工程大师的世纪对话。
| 项目 | 内容 |
|---|---|
| 视频标题 | How AI will change software engineering – with Martin Fowler |
| 频道 | The Pragmatic Engineer |
| 时长 | 约60分钟 |
| 播放量 | 27.9万 |
| 发布日期 | 2025年11月19日 |
| 核心主题 | AI对软件工程的根本性影响:从确定性到非确定性的范式转移 |
Martin Fowler开门见山地把AI对软件工程的影响,与历史上从汇编语言到高级编程语言的转变做了类比。这个类比极其精妙——当年从汇编到C/Pascal/Java的跃迁,本质上是让程序员从"告诉机器怎么做"变成"告诉机器做什么"。而今天AI正在推动的,是从"告诉机器做什么"到"描述我想要什么结果"的又一次抽象跃迁。
但Fowler立刻指出了一个被大多数人忽视的关键差异:传统软件工程是确定性的,而AI引入了非确定性。 这不是量变,是质变。当你写一行if-else,它每次都会以相同方式执行。但当你给LLM一段prompt,它可能给你10种不同的实现。这意味着——
Fowler认为,这种转变类似于传统工程学科(如土木、机械)中用公差(tolerance)和安全裕度(safety margin)来应对物理世界的不确定性。软件工程需要建立自己的"公差体系"。
我的延伸分析:2026年2月的Thoughtworks retreat上,一线工程师们把这个理念具象化了——"Not all code carries the same risk"(并非所有代码承担相同风险)。新的工程纪律是问:"如果这段代码错了,爆炸半径有多大?"然后按比例分配验证资源。这不是降低标准,而是更聪明的资源分配。
Fowler对Vibe Coding(AI生成代码但不仔细审查)的态度非常明确:它只适用于一次性原型和探索性工作,绝不适用于需要长期维护的软件。
他的核心论点是:Vibe Coding打断了开发者必须建立的学习闭环(learning loop)。软件工程不仅仅是"让代码跑起来",更是在编写代码的过程中建立对系统的深层理解。当你跳过了这个理解过程,你就失去了:
延伸分析:有趣的是,Fowler并非AI悲观主义者。他在Thoughtworks Technology Radar中持续追踪和推荐AI工具,包括LLM相关的pre-commit hooks、ClickHouse分析框架等。他的立场是工具主义的——AI是好工具,但工具不能替代手艺人的判断力。
Fowler在对话中提到了三个被低估的AI工作流,每一个都比"让AI写代码"更有实际价值:
1. 遗留系统考古(Legacy Code Understanding)
大企业最大的痛点不是写新代码,而是理解和维护几十年积累的遗留系统。Fowler提出了一种组合方法:语义分析 + 知识图谱 + LLM查询。你可以用LLM"审问"一个复杂的遗留代码库——"这个模块和那个模块之间有什么依赖关系?上次改动影响了哪些下游服务?"
这比传统的"读文档-读代码-问老员工"模式效率高出一个数量级。
2. 快速原型验证(Rapid Prototyping)
Fowler认为AI最大的价值之一是让开发者可以快速试验想法。不是把原型当产品发布(那是Vibe Coding的陷阱),而是用AI快速构建多个原型来验证设计方向,然后选择最有前景的方向由人类工程师精心实现。
3. 加速学习(Exploratory Learning)
AI可以帮助开发者更快地学习不熟悉的语言、API或领域知识。不是让AI替你学,而是让AI做你的"一对一个性化导师"——生成入门代码、解释概念、回答"为什么"问题。
这是一个非常反直觉的洞察:AI不会让重构过时,反而会让重构变得前所未有地重要。
Fowler的《Refactoring》从1999年第一版到2019年第二版,一直是软件工程师的必读书。他的核心观点是:AI生成的代码量会远超人类手写代码,而这些代码都需要清理和重构。但AI目前无法独立完成安全的重构——因为它缺乏对整个系统上下文的理解。
Fowler的结论是:重构将从"改善代码质量的实践"升级为"维持系统可维护性的生存技能"。 未来工程师最核心的能力,可能不是从零写代码,而是审查、重构和优化AI生成的代码。
延伸分析:Thoughtworks retreat上的一个观点把这一点推向了极致——"把生成的代码当作可消耗品(expendable)。如果测试通过,代码就可接受。"这是一种全新的心智模型:测试套件成为主要工件(primary artifact),而代码本身是可替换的。这也解释了为什么TDD在AI时代反而焕发新生——TDD本质上就是Context Engineering的雏形。
Fowler在对话中承认,设计模式(Design Patterns)作为架构讨论的核心话题已经衰落。原因之一是云服务(AWS、GCP、Azure)提供了大量"即插即用"的架构构建块,使得很多模式不再需要手动实现。
但他同时指出,在分布式系统和AI Agent架构中,模式思维正在回归——只不过不是以GoF 23种模式的形式,而是以更轻量、更务实的方式出现。年轻一代的创业者更偏好轻量级的架构讨论,而不是厚重的模式文档。
延伸分析:2026年的Agent Topologies问题就是模式思维回归的最好证明。Conway's Law没有退休——它只是变得更复杂了。AI Agent可以被瞬间复制到每个团队,打破了"人不可复制"的物理限制。但同时带来了新的问题:Agent Drift(Agent从相同的初始配置出发,但随时间推移因上下文不同而分化)、Decision Fatigue(Agent产出的速度超过了人类审核的速度)。
Fowler是2001年Agile Manifesto的17位联合作者之一。在AI时代,他坚持认为敏捷的核心原则——短增量交付、持续反馈、快速迭代——不仅没有过时,反而更加重要。
但AI确实改变了敏捷的实践方式:
我的延伸分析:传统的开发循环有两个——内环(编写-测试-调试)和外环(CI/CD-部署-运维)。Thoughtworks retreat识别出了第三个——"中间环",即指导、评估和修复AI Agent输出的监督工作。擅长中间环的工程师有三个特征:用"委派和编排"思维而非"直接实现"思维;对系统架构有强心智模型;能在不逐行阅读的情况下评估输出质量。我们目前没有针对这个角色的职业阶梯、职位头衔或培训计划——这个缺口会痛。
Fowler对初级工程师的建议非常务实:使用AI工具但保持怀疑;寻求资深工程师的导师指导;不要过度依赖AI而阻碍自己的学习和成长。
但Thoughtworks retreat揭示了一个更反直觉的发现:初级工程师在AI时代反而更有价值了。 原因有三:
真正的危机人群是中级工程师——那些在疫情期间招聘热潮中进入行业,但缺乏扎实基本功的人。他们没有资深工程师的系统思维,也不像初级工程师那样容易适应新工具。
mindmap
root((AI重塑软件工程))
范式转移
确定性→非确定性
编写代码→编排Agent
工匠精神→监督工程
核心挑战
Vibe Coding陷阱
重构能力缺口
测试确定性丧失
安全滞后
新工作流
遗留系统考古
快速原型验证
加速学习
中间环监督
工程迁移路径
规范上游化
TDD即Context Engineering
类型系统约束
风险分级验证
人才影响
初级↑价值
中级↓风险
新角色:监督工程师
如果你是一线开发者,Fowler的对话提供了清晰的自检清单:
停止和AI比写代码速度——这不是你的竞争优势。你的竞争优势是系统思维、架构判断力和对业务逻辑的深度理解。AI越擅长"写",你越要擅长"审"和"改"。
把TDD当作你的AI超能力——不是传统的"先写测试再写代码",而是把测试套件当作你与AI之间的"通信协议"。好的测试套件能让AI Agent的输出质量指数级提升。Thoughtworks retreat的原话是:"I've gotten better results from TDD and agent coding than I've ever gotten anywhere else."
主动构建"中间环"能力——学会在不逐行阅读代码的情况下判断代码质量。这需要你对系统架构有强心智模型,能用"委派和编排"的思维而非"直接实现"的思维工作。
对遗留代码态度反转——过去遗留代码是"负担",现在它是AI时代最大的差异化价值来源。能用AI+语义分析快速理解遗留系统的工程师,在大型企业中将是稀缺人才。
如果你是工程管理者,需要注意:
不要把Developer Experience降级为Agent Experience——虽然Sonar Summit有人提出这个"钱包更快打开"的reframing,但Fowler的提醒更重要:开发者满意度正在和生产效率脱钩。组织可以在开发者体验下降的情况下通过AI获得更多产出,但这是不可持续的。
为"中间环"建立职业路径——目前行业缺乏针对监督工程角色的职级、头衔和培训体系。先行建立这套体系的公司将获得人才先发优势。
安全不是可选项——Thoughtworks retreat最令人担忧的发现是安全讨论参会率最低,这完美反映了行业的现状。Agent获得email访问权限就意味着密码重置和完全账户接管。平台工程必须让安全行为"容易做",不安全行为"难做"。
Martin Fowler用60年的软件工程智慧告诉我们:AI不是来取代程序员的,它是来把程序员从"代码工匠"升级为"系统架构师+质量守门人"的——前提是你愿意放弃"亲手写每一行代码"的安全感,拥抱"编排和审计"的新角色。
本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
