ta是 Agent的未来吗? 从全球首个Software2.0架构应用说起
1990年代初,第一个3w网站诞生,人们用命令行来”浏览”网站,那时大家都不知道这玩意能干啥。
前几天,号称全球第一个Software2.0架构的应用(https://genweb.rahul.gs/)诞生,简陋的像个毛坯房,还漏雨,可能你去玩都一头雾水,但ta是:
也许这种感觉就像当年第一个www网站诞生时的感觉。我把它看做是一个Super Agent 应用的萌芽,ta会持续学习我们的使用习惯、思维逻辑,并与我们进行更自然的人机交互。
但今天更重要的是想和大家聊聊支撑这个super Agent的Software2.0架构,以及我们如何用Software2.0的思维来构建AI agent。
简单来说,Software2.0就是完全基于神经网络的软件。
2017年, OpenAI 创始人Karpathy 在博客中第一次提到Software2.0的概念,他说
人们往认为神经网络只是机器学习中的一个工具,不幸的是这种理解是只见树木不见森林。ta们代表了软件开发方式的一次根本性的转变,ta们是软件2.0。People refer to neural networks as just “another tool in your machine learning toolbox”… Unfortunately, this interpretation completely misses the forest for the trees….they represent the beginning of a fundamental shift in how we develop software. They are Software 2.0.在软件1.0,源代码是由程序员编写,这些源代码经过编译,最终转换成一个二进制文件,这个文件能够执行有用的工作。在软件2.0中,源代码就是数据集和神经网络,而数据集定义了神经网络的参数,也定义了期望的行为。In Software 1.0, human-engineered source code (e.g. some .cpp files) is compiled into a binary that does useful work. In Software 2.0 most often the source code comprises 1) the dataset that defines the desirable behavior and 2) the neural net architecture that gives the rough skeleton of the code, but with many details (the weights) to be filled in.原文:https://karpathy.medium.com/software-2-0-a64152b37c35
前几天,Kaparthy 时隔7年再一次在twitter上写道:
100%的软件 2.0计算机,只有一个神经网络,完全没有任何传统软件。100% Fully Software 2.0 computer. Just a single neural net and no classical software at all.
我用下面这张图来阐述我对software 2.0的理解
如果把软件当做一个函数,在Software1.0时代,我们用if.. else.. 的规则来定义函数,比如if 红灯: then stop;else if 绿灯: then Go。在过去的几十年中,无数程序员在代码中定义了无数个类似的规则。
而在Software2.0 时代,所有的软件都拥有同一个结构,即神经网络。程序员们无需再在函数内部写逻辑,而是用一万个诸如“ red:Stop;green:Go” 这样的数据对喂养给软件,使ta自己能习得“红灯停,绿灯行”的认知,在这里,软件是被数据和神经网络定义,而不再是被代码规则定义。
这种范式的改变,衍生出以下一些零散的、不成框架的思考。