神经网络会吃掉软件世界。但不是以大多数人预期的方式。
不是 AI 本身产生软件、写出能编译成指令的代码。真正发生的事情是:神经网络本身就是软件——预测器。
视角错位
人们太关注"用代码产生语言模型"这件事。这不是将要替代人类代码的东西。
真正的替代发生在你每天不知不觉接触的地方:
- 信用卡反复刷卡时的反欺诈系统
- 拒接垃圾电话的拦截器
- 搜索索引正在逐渐神经化
- 推荐系统里手工特征正在消失,被越来越精准的信息分发优化取代
- 视频编解码现在是手工的,但不同视频需要不同的编解码器——神经视频编解码器会解决这个
- NVIDIA DLSS4 本质上就是一个 Stable Diffusion LoRA 滤镜
- 3D 渲染正在被 NeRF 取代
你消费的每一条信息,背后都有越来越多的不可解释的浮点数袋子。
为什么传统软件会被取代
神经网络本质上就是一个计算机程序。我们有方法在可能计算机程序的空间里挖掘,找到能解决任何给定任务的那个。神经网络普遍有效,而且我们挖掘这个空间的方法正在快速进步。只要输入里有足够的信息,就能找到与目标输出之间的关系。
问题在于:有些软件太难写了。
世界太动态了。空间太大了。用人类可理解的 2.0 风格计算机程序来做压缩和可解释性,代价太高——而压缩和可解释性本身就在牺牲鲁棒性和模糊性,这些恰恰往往是优势的品质。
传统的控制系统的自由度不够。把它们压缩到严格可解释的程度,同时也移除了计算机本该有的能力。
一个例子:人类驾驶
你的眼睛在开车时四处移动,把中央凹对准不同位置。绿光意味着走。车向右移动。后视镜检查。你的控制系统驱动你的状态估计器,状态估计器驱动你的控制系统。
这套系统怎么可能用传统代码写出来?
所以答案是:放弃可解释性。
在一个唯一不变的就是变化的世界上,你生产计算机程序的方法需要足够快——快到一分钟以内完成。写 2.0 代码就是太慢了。
Hill climb everything。万物皆可爬。
Software 3.0 这个论点的核心不是"AI 会写代码",而是"AI 会替代那些本来就不该用代码写的东西"——动态的、高维度的、无法手工建模的系统。传统软件工程的护城河是"写清楚逻辑",但很多真实世界的任务从来没有清楚逻辑,只有数据。这才是深度学习吃掉的本质,不是取代工程师,是取代那些本来就不是工程师该写的代码。