深度|Andrej Karpathy:LLM 是一种新型的OS,Software 3.0 时代你的编程语言就是英语

图片来源:Andrej Karpathy

Z Highlights

  • 软件正经历70年未有之大变局,我们正从 Software 1.0 (代码和 2.0 (权重迈向 Software 3.0 (提示词)英语,成为了最热门的新编程语言。

  • LLM 不仅仅是API,更像是一种全新的操作系统 (LLM OS)。它拥有自己的“CPU”内存,并像1960年代的大型机一样,通过云端以分时共享模式提供服务。

  • 软件的消费者不再只有人类(通过GUI)和计算机(通过API),而新增了第三类消费者:智能体。未来的软件和基础设施需要原生为智能体设计,使其更易于理解和操作。

从代码到提示词:Software 3.0 范式革命与英语的崛起

大家好,我是 Andrej Karpathy。很高兴今天能在这里和大家聊聊 AI 时代的软件。我听说在座的很多都是即将进入行业的学生,我认为这绝对是一个极其独特且有趣的入行时机。根本原因在于,软件正在再次发生改变。在过去70年里,软件的底层逻辑几乎没有变过,但在近几年,它却以前所未有的速度连续迭代了两次。这意味着有海量的软件等待着我们去创造和重写。

几年前,我提出了 Software 2.0 的概念。Software 1.0 是我们熟悉的经典代码,由人类用特定编程语言为计算机编写的指令。Software 2.0 则是神经网络的权重。你不再是直接编写代码,而是通过精心准备数据集,让优化器自动寻找最优的参数(权重),以此来编程。当时,我观察到在特斯拉,我们 Autopilot 的软件栈中,越来越多的C++代码 (Software 1.0) 被神经网络 (Software 2.0) 所取代。而今天,我们迎来了更深刻的变革:Software 3.0。随着大语言模型的出现,神经网络本身变得可编程了。Software 3.0 的程序就是你的提示词 (Prompts),而你的编程语言,就是英语。

这三种范式各有优劣,作为未来的开发者,我们必须全部精通,并学会在它们之间灵活切换,为不同的功能选择最合适的编程方式。

LLM 更是操作系统:一个正在重塑的计算生态

我们该如何理解 LLM?吴恩达曾说“AI是新的电力,这个比喻很传神,因为它确实展现了LLM如同公共设施的一面:由大型公司投入巨额资本构建电网训练大模型,然后通过API按流量计费输送智能。但我觉得,一个更贴切的比喻是:LLM 是一种新型的操作系统 (LLM OS)

在这个“LLM 操作系统的架构中,LLM 本身扮演着中央处理器(CPU)的角色,负责核心的逻辑处理;其不断扩展的上下文窗口则像是计算机的内存(RAM),承载着临时的工作信息;而它能够调用的计算器、代码解释器、浏览器等外部工具,就好比是操作系统的外部设备(Peripherals)。

更有趣的是,我们现在正处于 LLM OS “1960年代。由于算力昂贵,LLM 被集中部署在云端,我们都像是通过瘦客户端(终端)与大型机进行交互的分时共享用户。个人电脑(PC)的革命尚未到来,但我们已经看到了早期迹象(比如用 Mac Mini 在本地运行模型)。而我每次和 ChatGPT 对话时,都感觉自己像是在用命令行终端 (Terminal) 与这个新系统互动。我们还未给它发明出像 Windows 或 macOS 那样通用的图形用户界面 (GUI)

最大机遇:构建部分自治AI产品

要驾驭 LLM,我们必须理解它的心智模型。我喜欢把 LLM 看作是人的灵魂”——一种对人类的随机模拟。正因如此,它表现出了一种类似人类的、涌现式的心理特征。

一方面,LLM 拥有百科全书式的知识和近乎完美的记忆力,如同电影《雨人》中的“Savant”(学者综合症患者),博学强记。但另一方面,它也存在诸多问题:它会产生幻觉,一本正经地编造事实;它的智能水平参差不齐,在某些领域超越专家,却会在简单问题上犯低级错误;它患有严重的顺行性遗忘症,每次交互都像一次重启,无法像人类一样通过经验积累和睡眠来巩固知识,形成真正的专长;此外,它还相当天真,容易受到提示词注入等安全手段的欺骗。因此,与 LLM 协作,我们需要扬长避短。

我认为,目前最大的机会在于开发部分自治的应用。不要总想着一步到位实现全自动的AI智能体,那就像直接造钢铁侠机器人我们现阶段更应该做的是钢铁侠战衣”——一个强大的人类增强工具。无论是 AI 编程助手 Cursor,还是 AI 搜索引擎 Perplexity,这些成功的早期 AI 应用都展现了相似的成功模式。它们能够自动处理繁琐的上下文信息,智能地编排后台多个不同模型的调用,并通过定制化的图形界面(GUI)来呈现结果。这套机制的核心目的,是让用户能够极速地完成对 AI 生成内容的验证,从而构建一个高效的“AI生成人类验证迭代闭环。

一个成功的AI应用还应具备自治滑块Autonomy Slider)的概念。一个好的GUI能极大地加快验证速度,而一个设计合理的自治滑块则能确保AI“不脱缰,避免它生成过多、过复杂的我们无法审查的内容。

人人都是程序员:从Vibe Coding到为智能体设计的未来

Software 3.0 不仅是一种新范式,更是一种高度可及的范式。因为它使用自然语言,编程的门槛被前所未有地降低了。我之前创造了一个词叫“Vibe Coding”,指的是一种你完全凭感觉、凭“Vibes”去编程的新方式。你不再纠结于代码细节,而是用大白话向LLM描述你想要的东西,它就能帮你实现。这让那些没有经过专业训练的人也能创造软件,这在以前是不可想象的。

这种趋势的终极体现是:我们不仅要为人类写软件,更要为智能体写软件。过去,我们主要为两类用户设计信息和界面:一类是人类,通过图形界面(GUI)与之交互;另一类是计算机,通过应用程序接口(API)进行通信。现在,我们迎来了第三种消费者:智能体。但目前,我们的网站、文档、应用大多是为人类的视觉和点击习惯设计的,智能体难以理解。比如,文档里一个点击这里的链接,对智能体来说毫无意义。

因此,我们需要创造新的标准和工具,未来的文档应该优先提供简洁的 Markdown 版本,网站的操作应提供等效的命令行(如 cURL)指令,从而让信息对智能体更加可读可执行在未来的十年里,我们将见证那枚自治滑块从增强人类的战衣模式,逐步滑向赋能智能体的自主模式。而构建这一切的重任,正落在我们这一代开发者和创业者的肩上。

谢谢大家!

原视频:Andrej Karpathy on Software 3.0: Software in the Age of AI

https://youtu.be/LCEmiRjPEtQ?si=If9fKJlvCKcBfynx

编译:Wex Wang

请注意,本文编译自文末载明的原始链接,不代表Z Potentials立场。如果您对本文有任何想法或见解,欢迎在评论区留言互动探讨。

Z Potentials将继续提供更多关于人工智能、机器人、全球化等领域的优质内容。我们诚邀对未来充满憧憬的您加入我们的社群,与我们共同分享、学习、成长。

——-

(文:Z Potentials)

发表评论