又一个必看视频出现了
Andrej Karpathy 昨天在 YC 的旧金山创业大会上发表了一场 40 分钟的演讲。
介绍了软件从传统编码(软件 1.0)到神经网络(软件 2.0)的演变,并着重阐述了由大型语言模型(LLMs)驱动的软件 3.0 时代。
我翻译了演讲视频而且结合他以前的文章对演讲做了总结 https://t.co/rgSiPpFnki
Karpathy 真的很神奇,每次都能用非常形象的比喻让不那么专业的人理解他讲的事情。
比如这个Agent 构建路线上钢铁侠的比喻:
他认为,我们应该专注于构建“钢铁侠战甲”(增强工具),而不是“钢铁侠机器人”(完全自主Agent)这些产品应具备自定义 GUI 和用户体验,以加速人类的生成-验证循环,同时仍提供自主性滑块,允许产品随时间变得更加自主。
软件开发范式1.0、2.0和3.0的定义是什么
软件 1.0:传统代码
定义和构成:软件1.0是程序员用诸如Python、C++等编程语言直接编写的明确指令。每一行代码都是程序员为计算机设定的具体任务指令,使其在数字空间中执行特定功能。它是我们所熟悉的“经典软件栈”。
编程方式:人类通过编写源代码(例如.cpp文件)来直接编程。源代码随后被编译成可执行的二进制文件。
代码库示例:GitHub可以被视为软件1.0代码的“地图”或等同物,展示了所有这些通过指令编写的代码。
软件 2.0:神经网络权重
定义和构成:软件2.0的核心是神经网络的权重。这些权重是一种更抽象、对人类不友好的语言。它不是由人类直接编写的,因为神经网络通常有数百万个权重,手动编写极其困难。
编程方式:编程过程不是直接写代码,而是通过调整数据集,然后运行优化器来创建神经网络的参数(权重)。换句话说,其“源代码”包括定义所需行为的数据集和神经网络架构的粗略骨架。神经网络的训练过程将数据集“编译”成最终的神经网络(二进制文件)。
代码库示例:Hugging Face的Model Atlas被认为是软件2.0领域的GitHub等价物,可以可视化神经网络的参数。
软件 3.0:大型语言模型(LLMs)的提示
定义和构成:软件3.0是大型语言模型(LLMs)通过提示(prompt)进行编程的新范式。LLMs本身被视为一种新型计算机。
编程方式:编程语言是自然语言,尤其是英语。用户通过输入提示来“编程”LLM,使其执行特定任务。
特点和优势:
自然语言接口:编程不再需要专业的编程知识,每个人都能通过自然语言进行编程,因为每个人都说自然语言。
新型计算体验:LLMs被类比为一种新的操作系统。与LLM的文本聊天就像通过终端直接访问操作系统。
用户普及:这种技术扩散方向与传统技术相反,LLMs首先为普通个人带来了巨大的能力提升,而非政府或大型企业。ChatGPT是历史上增长最快的消费级应用。
部分自主应用:软件3.0的机遇在于开发部分自主的应用,这些应用能整合LLMs的能力,执行更多上下文管理、多模型编排、提供特定应用的GUI,并允许用户通过“自主性滑块”调整AI的介入程度。
文档优化:未来的文档将需要为Agent(agents)而非人类编写,例如将“点击”指令替换为LLMs可以执行的cURL命令。


如何理解大语言模型
Andrej Karpathy 提出了 LLMs 的多种类比,以帮助人们理解其本质:
公用事业 (Utilities) 的特性:
LLMs 像电力一样,需要巨大的资本支出(CAPEX)进行训练(相当于建设电网),并通过 API 提供服务(OPEX,按量付费),用户对低延迟、高可用性和一致质量有需求。当领先的 LLMs 停止运行时,就像“智能断电”,整个世界仿佛变得“更笨”。OpenRouter 扮演着“电源转换开关”的角色,允许用户在不同 LLM 提供商之间切换。
晶圆厂 (Fabs) 的特性:
LLMs 的训练需要巨大的资本投入,涉及深层技术树的研发和秘密。使用 NVIDIA GPU 训练模型类似于“无晶圆厂”模式,而像 Google 这样拥有 TPU 并训练自己的模型,则类似于拥有“晶圆厂”(如 Intel)。然而,由于软件的延展性,其防御性不如物理基础设施。
操作系统 (Operating Systems) 的特性:
这是最恰当的类比。LLMs 正日益成为复杂的软件生态系统,而非简单的商品。LLM 应用(如 Cursor)可以在不同的 LLM 后端(如 GPT、Claude、Gemini)上运行,就像 VS Code 可以在 Windows、Mac 或 Linux 上运行一样。我们正处于 LLM 计算的“1960 年代”:计算资源昂贵,LLMs 集中在云端,用户通过网络进行“分时”访问,个人计算革命尚未到来。与 LLM 直接的文本交互感觉就像通过终端与操作系统对话,而通用的图形用户界面(GUI)尚未被发明。
技术扩散方向的翻转:
ChatGPT 是历史上增长最快的消费者应用,它为普通人带来了不成比例的巨大益处,例如写作、编程、翻译、辅导、头脑风暴等,而其在企业和政府层面的影响则相对滞后和不明显。这是因为 LLMs 提供了广泛但并非深厚的“准专业知识”,这对于个人来说是巨大的能力提升,因为他们通常只擅长一件事,而组织本身就拥有多样化的专业知识,LLMs 只是提高了其效率。

LLM 的“心理学”
Andrej Karpathy 将 LLMs 视为“人魂”(people spirits),是人类的随机模拟器。它们因在海量文本上训练而具备了类似人类的“涌现心理学”:
超能力:拥有百科全书般的知识和记忆,远超任何个体人类(类似于电影《雨人》中的达斯汀·霍夫曼)。
认知缺陷:
幻觉 (Hallucinations):经常编造信息,缺乏足够的自我认知模型。
锯齿状智能 (Jagged intelligence):在某些问题解决领域表现超人,但在其他方面会犯下人类不会犯的低级错误(例如坚持“9.11 大于 9.9”,或“strawberry 有两个 R”)。
顺行性遗忘症 (Anterograde amnesia):LLMs 无法像人类一样通过经验自动学习、巩固知识或形成专业知识(类似于电影《记忆碎片》和《50 次初恋》中的主角)。它们的上下文窗口(context window)就像工作记忆,需要直接编程来管理。
易受骗 (Gullibility):容易受到提示注入(prompt injection)风险,可能泄露数据。
鉴于 LLMs 既有超能力又有认知缺陷,关键在于如何编程它们,利用其超能力,同时规避其缺陷。

LLM 时代带来了巨大的机遇
Karpathy 认为 LLMs 带来了巨大的机遇,特别是通过开发“部分自主应用”(partial autonomy apps)。
部分自主应用:
核心理念:与其直接与 LLM 像与“操作系统”一样对话(例如直接在 ChatGPT 中复制代码),不如使用专门的 LLM 应用,如 Cursor,它提供了更好的用户体验。
关键特性:
上下文管理:LLM 应用负责将相关信息打包到上下文窗口中,以便调用 LLM。
多模型编排:在后台协调和调用多个 LLM 模型(例如,嵌入模型、聊天模型、代码差异应用模型等)。
应用特定 GUI/UIUX:提供人类友好的图形界面,以便用户轻松审计 LLM 的工作、快速接受或拒绝建议。例如,通过红绿色的差异显示代码修改,或通过快捷键接受/拒绝。
自主性滑块 (Autonomy Slider):允许用户根据任务复杂性调整 LLM 的自主程度,从简单的文本补全到全Agent模式。Perplexity 搜索应用也是一个很好的例子,它提供从快速搜索到深度研究的不同自主性级别。
人机协作:LLM 应用的工作流应侧重于 AI 生成和人类验证,目标是让这个循环尽可能快地进行。GUI 在加快验证速度方面至关重要,因为它利用了人类的视觉处理能力,比阅读纯文本更高效和有趣。
“Vibe Coding”:人人都是程序员:
机遇:由于 LLMs 可以通过自然语言编程,大大降低了软件开发的门槛,使得“人人都是程序员”成为可能。
亲身体验:Karpathy 亲自尝试了“Vibe Coding”,用 Swift 编写了一个简单的 iOS 应用,并开发了 MenuGen (menugen. app) —— 一个能根据菜单照片生成菜品图片的应用程序。他发现,使用 LLM 编写代码反而是最容易的部分。
挑战:将 Vibe Coding 的原型变为真正的产品(如集成身份验证、支付、域名、部署等)却异常困难,因为这涉及到大量在浏览器中点击的操作,而不是编写代码。

为Agent(Agents)构建软件
Andrej Karpathy 强调,我们现在需要为一种新的数字信息消费者和操纵者——“Agent”——进行构建。这些Agent是类人的计算机,它们需要与我们的软件基础设施交互。
Agent友好的基础设施:
lm.txt 文件:类似于 robots.txt,这是一个简单的 Markdown 文件,用于告诉 LLMs 网站的内容和行为规则,比解析 HTML 更高效和准确。
为 LLMs 优化文档:许多服务(如 Vercel 和 Stripe)已经开始将其文档从人类友好的格式(包含图片、加粗、列表)转换为 LLM 容易理解的 Markdown 格式。此外,文档中的“点击”等操作指令也正被替换为 LLM Agent可以执行的 curl 命令。
上下文构建工具:出现了一些帮助 LLMs 摄取和理解复杂数据的工具。例如,gitingest 可以将 GitHub 仓库中的所有文件连接成一个巨大的文本文件,并保留目录结构,方便 LLM 理解。DeepWiki 甚至可以自动分析 GitHub 仓库并为 LLM 生成完整的文档页面。
“中途相遇”:尽管 LLMs 未来可能能够像人类一样点击操作,但让信息更容易被它们访问仍然非常有价值,因为直接模拟人类行为通常成本更高、难度更大。

这里有所有相关资料下载,包括 PPT:https://t.co/VYsk9H49DL