当实现变得唾手可得,工程就不再那么像建造,而更像导航。

这是“AI 原生软件工程”系列的第三篇。

本文承接上一篇:AI 原生软件工程(二):验证框架工程与正确性

第一篇追问:

当实现工作交给 AI 后,理解从何而来?

第二篇追问:

当生成的成本变得低廉,如何保证正确性?

这一篇要问:

如果实现越来越便宜,
工程师究竟在做什么?

在这里,约束的含义发生了变化。

第二篇谈约束,是为了保证正确性。

这一篇谈约束,是为了界定搜索范围:

如何划定可接受实现的范围?

纵观软件发展史的大部分时期,开发软件就意味着把它建造出来。

先有一个想法。

然后设计架构。

接着编写实现。

最后测试结果。

瓶颈显而易见:

写代码。

我们对工程能力的理解,也一直建立在这个前提之上。

人们眼中的优秀工程师,往往能够:

  • 更快写出实现
  • 更快完成调试
  • 熟记更多 API
  • 精通更多框架
  • 交付更多可以运行的代码

AI 正在动摇这个前提。

不是因为它会取代工程师。

而是因为它让实现成本骤降。

一旦实现变得便宜,软件开发的方式也会随之改变。

它开始变得像一场搜索。

传统工程:在实现稀缺时做建造 链接到标题

传统的软件开发大致遵循这条路径:

想法
-> 架构
-> 实现
-> 验证

实现的代价很高。

每个决定都要付出成本。

每一层抽象都至关重要。

改变方向非常痛苦,因此人们会在动手之前优化方案。

工程就是建造。

AI 让建造变成探索 链接到标题

有了现代编程智能体,实现不再稀缺。

短短几分钟,你就可以得到:

  • 五种架构
  • 三套重构方案
  • 两种数据库模型
  • 多套 API 设计

于是,工作流程变成了:

意图
-> 生成
-> 评估
-> 重复

这已经不太像建造。

更像搜索。

搜索其实无处不在 链接到标题

这种说法听起来或许陌生。

但我们早就在使用各种搜索系统。

编译器:

程序
-> 优化空间
-> 二进制文件

数据库查询规划器:

查询
-> 执行计划
-> 结果

机器学习训练:

目标
-> 参数搜索
-> 模型

现代 AI 编程或许会变成:

约束
-> 实现搜索
-> 系统

代码成了输出。

不再是过程本身。

搜索需要目标函数 链接到标题

没有评估的搜索,只会失控。

许多 AI 工作流的问题就出在这里。

人们只写下一句:

帮我做一个博客。

AI 开始生成。

接着,人们毫无章法地东改西改。

最终,某个方案奏效了。

但这不是工程。

这只是漫无目的地乱走。

只有存在目标函数时,搜索才会奏效。

例如:

延迟
可靠性
成本
正确性
开发者体验
故障恢复

没有目标函数:

生成过程永远无法收敛。

约束划定可能性的边界 链接到标题

可以这样理解软件:

实现负责探索。

约束负责定界。

假设你只提出一句要求:

做一个图片上传系统。

可选方案几乎无穷无尽。

现在加上约束:

响应时间 <500ms
文件大小 <50MB
支持重试
不得重复写入
部署在 Cloud Run 上
每月成本 <$100

搜索空间立刻大幅收窄。

生成结果也会随之改善。

这不是在扼杀创造力。

这就是工程。

工程师成为搜索空间的设计者 链接到标题

认识到这一点后,我看待软件的方式也变了。

也许,工程师的角色正在逐渐从:

系统建造者

转向:

搜索空间设计者

职责也会随之改变。

过去是:

设计
写代码
调试

正在出现的新职责是:

明确意图
定义约束
评估结果

实现成为基础设施。

新的技术能力 链接到标题

如果这个判断成立,未来衡量技术深度的标准也许会改变。

重要性可能降低的是:

  • 记忆语法
  • 编写样板代码
  • 精通特定框架

重要性可能上升的是:

  • 定义不变量
  • 搭建验证框架
  • 理解各种取舍
  • 设计评估循环
  • 驭复杂性

关键问题将从:

你能把它做出来吗?

变成:

你能说清楚什么才算成功吗?

结语 链接到标题

软件不会消失。

编程也不会消失。

但实现的稀缺性,或许正在消失。

当实现变得充裕:

工程变成搜索。

搜索变成约束。

工程师负责决定,搜索可以走到哪里。