机械马时代
Source: Dev.to
我们仍在教 AI 构建更快的马
随便浏览今天的开发者信息流,你会看到同样的争论一遍遍重复:
- AI 会取代软件工程师吗?
- AI 生成的代码安全或可维护吗?
- “氛围编码”是一种不好的实践吗?
所有这些讨论都有一个隐藏的前提——我们今天构建软件的方式在根本上会保持不变,只是有了 AI 的辅助。
我认为这个前提是错误的。
快速回顾抽象
我最初的软件之路是作为嵌入式系统工程师,为微控制器编写代码。早在 Embedded C——已经算是高级语言——出现之前,我使用的是汇编语言。两种情况下,最终的结果是相同的:写入 EEPROM 的十六进制代码,在硬件上执行预定义的逻辑。
后来,作为副业,我玩起了 ActionScript(RIP Flash),这最终帮助我进入了 JavaScript 生态,并把职业转向了 Web 开发。这段转变让我近距离看到“高级”语言是如何随时间快速演变的。
在 HTML5 与 Web 2.0 时代的兴起中,JavaScript 开发迅速发展。jQuery 简化了 DOM 操作。Angular、Meteor 等框架进一步提升了抽象层次。Node.js 把 JavaScript 带到服务器端,而 Webpack、Parcel、以及后来的 Vite 等打包工具则不断自动化更多复杂性。
然而在所有这些变化中,有一点始终不变:输出仍然是普通的 JavaScript、HTML 和 CSS。我们没有去除层,而是把新层叠加在旧层之上。
AI 如同机械马
想象一匹马拉着车。当人类首次发明发动机时,最自然的想法不是造汽车,而是用机械马来替代生物马。车子不变,思维模型不变,只是动力来源不同。真正的飞跃在之后才会出现。
这正是我们今天使用 AI 的方式。
大多数 AI 工具专注于编写 React 组件、生成模板代码或重构已有代码。换句话说,AI 正在充当一匹机械马——在同一系统中完成相同的工作,只是更快。
这很有用,但并不是实质性的颠覆。
我们未谈及的飞跃
在软件历史中,我们一直依赖抽象层来弥合人类意图与机器执行之间的鸿沟。可读、可维护的代码主要是为人类服务——而不是为机器服务。
所以真正的问题不是 AI 能否写出更好的 React 代码。
真正的问题是:当 AI 完全不再需要我们的抽象层时,会发生什么?
与其让 AI 编写 React,我们可以让它直接生成最终可执行的逻辑——满足我们意图的最低层表示。框架、语言,甚至代码结构都将成为实现细节,而非主要产出。
一旦出现这种情况,昨天的“高级”工具将沦为今天的低层管道。
这对开发者意味着什么
这种转变不会让软件工程师消失,但会改变软件工程的面貌。重点将从逐行编写代码转向定义目标、约束、行为和结果。
在这样的世界里,编程不再是语法的堆砌,而是意图的表达。
今天的大多数 AI 讨论仍然围绕更快的马。
但向汽车进化的时代已经不远。