埃隆·马斯克称编程将在年底消亡,却误读了软件工程的现实

xAI
Elon Musk Declares Coding Dead by Year's End, Misjudging the Reality of Software Engineering
埃隆·马斯克预测人工智能将在数月内取代编程,这一观点混淆了自动化语法生成与系统架构及工业验证等复杂学科的本质。

认为现代大语言模型可以完全取代软件从业人员的前提,源于对程序员实际工作内容的根本误解。当前一代模型,包括 xAI 的 Grok、Anthropic 的 Claude 以及 OpenAI 最新的推理架构,在将自然语言提示词转化为语法正确的函数方面确实表现出色。它们能够快速合成样板程序、驾驭已建立的 API 并以惊人的速度解决独立的算法难题。然而,将这种自动化转录等同于任务关键型系统的整体设计,就好比声称计算机辅助设计软件消除了对机械工程师的需求一样。

语法生成与系统架构之间的鸿沟

工业、企业和科学环境中的软件开发,本质上是一项涉及系统架构、权衡分析和需求协调的工作。在向集成开发环境提交哪怕一行代码之前,工程师必须解读模糊的人类需求、预判物理瓶颈、平衡计算与内存开销,并保证系统的容错能力。编写代码只是转录阶段;真正的工程工作在于决定什么不该构建、组件如何实现安全失效,以及在何处可以牺牲延迟阈值。

当大语言模型(LLM)生成一段代码时,它依赖的是从数十亿条现有公共代码库中得出的概率关联。它像一个复杂的模式匹配器,检索并重新组合既有的惯例。但现实世界的基础设施很少存在于干净、标准化的沙盒中。遗留的银行大型机、轨道硬件的分布式遥测管线以及机器人执行器的实时控制回路,都是由物理约束和历史折衷构成的脆弱矩阵。概率模型对现实世界没有内在的本体论认知;它不理解为什么竞态条件会导致工业电机过热,它只知道在并发编程文档中,某些标记倾向于出现在另一些标记之后。

此外,软件验证问题会随着复杂性的增加而呈指数级增长。虽然 AI 可以在几秒钟内生成一千行 Python 代码,但要验证这些代码不包含细微的逻辑反转、静默内存泄漏或安全漏洞,需要严谨的形式化方法或大量的人工遥测分析。通过将瓶颈从编写代码转移到审查非确定性的机器输出上,工程团队往往花费在调试令人费解的“机器幻觉”上的时间,远超他们从第一性原理出发进行架构设计所耗费的时间。

工业自动化领域的历史相似性

在过去的半个世纪里,制造业和机械领域已经多次经历过这种转变。20 世纪中叶,数字控制及随后的计算机数控(CNC)机械的出现,导致行业观察家预言机械师和工具制造商将立即消亡。其逻辑看似简单:如果计算机能以亚微米级的精度控制铣刀的路径,人类的手工干预就变得多余了。然而事实是,机械师的角色演变为高级程序员和制造工程师,负责工具策略、材料冶金学和动态夹具设计。

同样地,Fortran 和 C 等高级编程语言的引入,曾被广泛认为是穿孔卡片和原始汇编时代编程工作的终结。高级编译器将寄存器分配和直接内存寻址抽象化,使曾经占用整个部门人力计算资源的繁琐机械工作实现了自动化。然而,降低进入门槛和提高开发者效率并没有终结这一职业,反而触发了杰文斯悖论(Jevons' Paradox)。随着软件生产成本的急剧下降,全球对软件驱动型解决方案的需求反而呈数量级增长。

如果生成式 AI 模型成功实现了语法生成的平民化,其必然结果不会是一个后程序员时代,而是一场软件生产的巨大浪潮,这将要求更严密的架构监管。系统将变得更加复杂、相互交织,并更容易受到连锁性系统故障的影响。负责维持这些系统运行的人类,需要的将是对计算机科学基础更深刻、更严谨的理解,而不是更浅薄的理解。

现实世界控制的确定性要求

Musk 本人在 Tesla 和 SpaceX 的工业布局为其预测提供了最有力的反驳。这两家公司都大量依赖硬实时操作系统、低延迟固件以及紧密耦合的硬件在环(Hardware-in-the-loop)环境。在自动驾驶汽车、电池管理模块和火箭推进控制系统中,概率性的输出是不可接受的负债。一个在消费级聊天机器人中准确率达 99% 的模型或许令人印象深刻,但在飞行终止系统或主动底盘控制器中,这却是灾难性的。

嵌入式系统工程要求绝对的确定性。运行在微控制器上的代码必须遵守严格的时间界限,任何两微秒的执行延迟都可能导致整个系统故障。生成式模型在这些领域表现吃力,因为与通用 Web 开发技术栈相比,针对超专业化、专有固件的训练语料库微乎其微。你无法通过提示词工程来绕过物理内存限制或仅记录在芯片供应商私人勘误表中的晦涩硬件缺陷。

在自动化系统能够进行硬件在环验证、调试物理传感器噪声,并在没有人工监督的情况下保证形式化数学安全之前,固件和软件工程的核心学科仍将锚定于人类从业者。认为这些深度的物理集成可以在几个月内完全解决并全球部署,这种想法忽略了硬件采购周期、监管认证以及物理部署惯性的现实。

驱动夸张时间表的商业引擎

如果技术障碍如此显著,人们不得不质疑为何前沿 AI 公司的领导者仍在不断为人类程序员设定如此激进的“过期日期”。答案很大程度上在于现代人工智能的资本动力学。前沿模型的训练现在需要以数百亿美元计的资本支出。数据中心需要专门的核电分配、先进的液冷基础设施以及史无前例的高带宽内存芯片。

为了证明这种全球资本配置的合理性,叙事必须将 AI 不仅仅呈现为一种增量式的生产力乘数,而要将其呈现为对高成本认知劳动的彻底替代。通过将代码生成构建为一个即将实现全面自动化的已解决问题,科技公司培养了承销持续的吉瓦级计算集群所需的投资者紧迫感。这创造了一个自我强化的估值循环:算力的购买是基于自动软件创造的承诺,而软件又被营销为设计下一代算力的引擎。

然而对于在职软件工程师而言,日常现实仍然完全立足于实用主义。AI 代码助手已舒适地融入现代工具链,成为高效的自动补全工具和结对调试伙伴。它们能加速日常任务、起草单元测试并解析晦涩的文档。但它们不会参与架构评审,不会在分布式云网络中协商跨服务通信协议,也不会在重大故障导致国家支付系统瘫痪时承担伦理或法律责任。

Noah Brooks

Noah Brooks

Mapping the interface of robotics and human industry.

Georgia Institute of Technology • Atlanta, GA

Readers

Readers Questions Answered

Q 为什么自动化代码生成无法取代软件工程?
A 编写语法只是软件开发的转录阶段。现实世界的工程核心在于系统架构、权衡分析、边缘情况的缓解以及对模糊需求的协调。虽然生成式模型擅长模式匹配和编写常规模板代码,但它们缺乏对物理环境、分布式系统和现实世界故障状态的理解,这使得人类的工作重心转向了审计和调试非确定性的机器输出。
Q 杰文斯悖论(Jevons' Paradox)如何应用于编程领域的人工智能?
A 从历史上看,自动化繁琐的技术任务不仅没有减少,反而增加了总体需求。当高级编程语言抽象掉手动内存寻址和汇编代码时,软件构建成本的急剧下降引发了软件部署的爆发。随着人工智能使基础代码生成的速度更快、成本更低,互联系统的数量和复杂性将激增,从而需要更多的工程师来负责架构和安全。
Q 为什么概率模型不适合嵌入式系统和工业硬件?
A 关键任务应用(如火箭航空电子设备、汽车控制器和机器人技术)需要严格的实时确定性,微秒级的延迟或细微的逻辑错误都可能导致物理灾难。大型语言模型基于概率关联而非可验证的物理原理进行运作。此外,公开的训练数据集缺乏在受限硬件环境中可靠运行所需的专有芯片勘误表(silicon errata)和底层固件规范,因此无法在没有人为干预的情况下稳定运行。
Q 像数控加工(CNC)这样的自动化转变曾如何改变技术职业?
A 当计算机数控技术引入时,行业观察家曾预测机械师将走向灭绝。然而,该行业并未消失,而是演变为更高级的制造工程。技术人员从手动操作手轮转变为管理刀具策略、冶金、夹具设计和复杂的计算机路径。预计编程领域也会经历类似的演变,从业者将从键入模板语法转向设计系统架构和验证安全性。

Have a question about this article?

Questions are reviewed before publishing. We'll answer the best ones!

Comments

No comments yet. Be the first!