跳到主内容
建议在桌面浏览器访问以获得最佳体验
主题
← 返回 首页

Andrej Karpathy:软件又变了(Software 3.0)


Andrej Karpathy 认为AI时代软件正经历根本变革,从传统代码转向神经网络权重驱动的软件2.0,行业充满机遇。

安德烈·卡帕西是AI圈里响当当的人物,曾经在特斯拉带过自动驾驶团队,也是OpenAI创始成员之一。他最近面向即将进入AI行业的学生做了一场演讲,一上来就抛出一个判断:现在是踏入这个领域的最好时机,因为软件又在经历一次根本性的变化。

他回顾了软件范式怎么走到今天这一步。过去几十年,程序员干活的方式几乎没变过,也就是所谓的软件1.0:人一行一行手写精确的指令,计算机照单执行。后来出现了神经网络,做法完全反了过来——你不需要告诉它每一步该干什么,而是用大量数据去训练它,最终得到一堆模型权重。这些权重就是新的“代码”,卡帕西管这叫软件2.0。一开始,这种网络就是个固定功能的工具,比如用来识别图片的AlexNet,训练完就只能干这一件事。但大语言模型的出现撕开了新的口子。同一个模型,你只要换一换提示词,它就能完成翻译、写代码、做总结这些截然不同的任务,好像模型本身变得“可编程”了。卡帕西把这种用自然语言指令操控模型的方式称为软件3.0。

为了让这个转变更好懂,他打了两个比方。全球程序员都知道GitHub,那是软件1.0时代的代码仓库;而现在越来越火的Hugging Face,就像是软件2.0时代的GitHub,只不过上面存放的不是代码文件,而是一个个训练好的模型权重。模型每经过一次微调,就会产生一个新版本,就好比在GitHub上提交了一次代码。他还特意提到了Flux这个图像生成模型,它的参数量极其庞大,整个模型就像一个巨大的“代码库”,不同的微调版本衍生出各种分支,几乎等同于传统软件里的不同发行版。这么一来,软件开发的整套工具、协作流程和思维方式都得推倒重来。

当然,并不是所有人都买账。批评者会说,神经网络骨子里是统计模型,不是传统意义上的软件,它的输出不够稳定,有时会冒出离谱的结果,而且出了问题很难像程序调试那样逐行排查。也有人觉得,靠提示词给大模型下指令能干的事情有限,一旦碰到需要精确逻辑、复杂状态管理的场景,还是得老老实实写代码。不过卡帕西话里话外的重点不是谁取代谁,而是新范式带来的可能性。毕竟现在已经有大量的应用开始围绕提示词工程、模型微调和智能代理来重构,整个生态的底座正在被翻新。

不管你是否完全接受软件2.0、3.0这套标签,一个现实已经摆在那:过去几十年积累的海量代码,很多都将被重新思考和改写。对于即将入行的学生和开发者来说,这非但不是威胁,反而是一大片刚刚浮出水面的新大陆——工具链、开发哲学和协作方式都在快速成型,谁先跳上去,谁就有机会参与定义下一个时代。卡帕西的演讲说到底传递了一个乐观信号:AI没有在收缩机会,反而打开了一个需要所有人重新编程的广阔空间。

更多 · Andrej Karpathy