
硅星 GenAI 对演讲全文做了很好的编译:AI 圈纷纷传阅,Andrej Karpathy 的最新演讲全文来了,简单润色修改后转载如下。
以及,我们将 AK 的分享 PPT 保存到了 ima 知识库中,可以免费下载,并支持在线 AI Chat 问答。
如果时间充足的话,建议去看看现场视频版。
链接:https://www.youtube.com/watch?v=LCEmiRjPEtQ
以下是 Andrej Karpathy 的演讲全文。
软件的三次“重生”革命,3.0 正吞噬旧代码
我很高兴今天能在这里与大家讨论人工智能时代的软件。我了解到你们中很多人是本科生、硕士生、博士生等,即将进入行业。我认为现在进入行业是一个非常独特且有趣的时刻。从根本上说,原因在于软件正在再次变革。
我说“再次”是因为我之前做过这个演讲,但问题是软件一直在变化。因此我有很多素材可以讲新内容,我认为它正发生根本性的改变。粗略地说,软件在基础层面上已有 70 年没有太大变化。
而在过去几年里,它大约发生了两次相当快速的变革。因此,现在有大量的工作要做,有大量的软件需要编写和重写。
那么,我们来看看软件的领域。如果我们把它想象成软件的地图,这里有一个很酷的工具叫“GitHub 地图”。这就像是所有已编写软件的集合。它们是指示计算机在数字空间执行任务的指令。放大这里,你会看到各种不同的代码库,所有这些都是已编写的代码。
几年前,我观察到软件正在发生变化,出现了一种新的软件类型。我当时称之为软件 2.0。其理念是:软件 1.0 是你为计算机编写的代码;软件 2.0 本质上是神经网络,特别是神经网络的权重。
你不是直接编写这些代码,而是通过调整数据集,然后运行优化器来创建神经网络的参数。当时,神经网络更多被看作是一种不同的分类器,比如决策树之类。所以我认为这种框架描述更为贴切。
现在,我们在软件 2.0 领域有了类似 GitHub 的替代品。我认为 Hugging Face 基本上就是软件 2.0 的 GitHub,还有 Model Atlas。如果你好奇,可以可视化那里编写的所有代码。顺便说一句,那个巨大的圆圈,中间的点,是图像生成器 Stable Diffusion 的参数。因此,每当有人在 Stable Diffusion 模型上调整 LoRA 时,你本质上是在这个空间创建了一个 Git 提交,并创建了一种新的图像生成器。
所以,软件 1.0 是编程计算机的代码;软件 2.0 是编程神经网络的权重。
到目前为止,我们熟悉的神经网络都像是功能固定的计算机,比如图像分类之类。我认为改变在于,神经网络通过大语言模型(LLM)变得可编程,这是一个根本性的变化。我认为这很独特。这是一种新型计算机,因此值得赋予它一个新的名称:软件 3.0。
本质上,你的提示词现在就是编程 LLM 的程序。值得注意的是,这些提示是用语言文字写的。所以这是一种非常有趣的编程语言。
用语言编程“人类灵魂”,提示词成了新代码
或许可以这样总结区别:以情感分类为例,你可以写一些 Python 代码来做情感分类,或者训练一个神经网络,或者提示一个大语言模型。这里有一个简短的提示,你可以想象通过改变它,以稍微不同的方式编程计算机。
所以,我们有软件 1.0、软件 2.0,我认为我们现在看到很多 GitHub 代码不仅仅是代码,还夹杂着大量文字。
因此,我认为这是一种日益增长的新型代码类别。这不仅是一种新的编程范式,而且令人惊讶的是,它是用我们的母语英语文字编写的。几年前,这让我感到震惊,我在推特上发了这个想法,引起了很多人的关注。我目前置顶的推文就是:令人瞩目的是,我们现在在用英语编程计算机。
现在,当我在特斯拉时,我们正在开发自动驾驶系统,试图让汽车能够驾驶。我当时展示了一张幻灯片,想象一下汽车的输入在底部,它们经过一个软件栈来产生转向和加速信号。我观察到当时自动驾驶系统中有大量 C++ 代码,这是软件 1.0 的代码。然后还有一些用于图像识别的神经网络。我观察到,随着时间的推移,随着我们改进自动驾驶系统,神经网络的能力和规模都在增长。
此外,所有的 C++ 代码被删除,很多最初用 1.0 编写的能力和功能都迁移到了 2.0。例如,跨不同摄像头图像和跨时间的信息拼接工作,现在都由神经网络完成。
我们能够删除大量代码,贯穿整个自动驾驶软件栈。当时我觉得这非常了不起。我认为我们现在又看到了同样的情况,一种新型软件正在“吞噬”整个软件栈。
我们有三种完全不同的编程范式。我认为如果你要进入这个行业,熟练掌握这三种范式是个好主意,因为它们各有优缺点。
你可能想用 1.0、2.0 或 3.0 来编程某些功能,或者训练神经网络,或者直接提示 LLM。这应该是显式代码吗?等等。我们都必须做出这些决定,并可能在这些范式之间流畅地切换。所以现在我想深入探讨的是,在第一部分,谈谈 LLM,如何思考这种新范式及其生态系统,它是什么样子。
比如这台新计算机是什么样子?生态系统又是什么样子?

我们正处在 LLM 的“大型机时代”——云端分时系统,个人计算革命还未到来。
很多年前,吴恩达的一句话让我印象深刻,我想他接下来会发言,他当时说“AI 是新的电力”。
我确实认为这捕捉到了一些非常有趣的东西,因为现在的 LLM 确实具有公用事业的特质。像 OpenAI、Gemini、Anthropic 等 LLM 实验室投入资本开支来训练 LLM,这类似于建设电网;然后有运营开支通过 API 向我们所有人提供智能服务。
这是通过计量访问实现的,我们按百万 token 之类的方式付费。我们对这个 API 有很多类似公用事业的需求:低延迟、高可用性、一致的质量等等。
在电力系统中,你会有一个转换开关,可以在电网、太阳能、电池或发电机等电源之间切换。对于 LLM,我们有像 OpenRouter 这样的工具,可以轻松地在不同类型的现有 LLM 之间切换。因为 LLM 是软件,它们不争夺物理空间。所以拥有 6 个电力提供商也没问题,你可以在它们之间切换,因为它们不是以这种直接方式竞争。
我觉得非常有趣的是,就在前几天我们看到很多 LLM 宕机,人们被困住无法工作。当最先进的 LLM 宕机时,就像是世界范围内发生了智能“停电”。这就像电网电压不稳定时,整个星球都变得“更笨”了。
我们对这些模型的依赖已经非常显著,而且我认为将继续增长。但 LLM 不仅具有公用事业属性,也可以说它们具有一些晶圆厂的特性,原因在于构建LLM所需的资本开支确实相当巨大。这不仅仅是建造某个发电站那么简单,对吧?你需要投入巨额资金,而且我认为相关技术的“科技树”正在快速发展。所以我们处在一个拥有深度“科技树”的世界,研发的秘密正集中在 LLM 实验室内部。
但我认为这个类比有点模糊,因为如我所言,这是软件,而软件的可防御性较低,因为它非常容易修改。所以这只是个值得思考的有趣事情。
技术扩散逆向革命,煮鸡蛋比导弹更早用上 AI
你可以做很多类比,比如 4 纳米工艺节点。也许它类似一个具有特定最大 FLOPS 的集群。你可以想想:当你使用 Nvidia GPU,只做软件而不做硬件时,这有点像无晶圆厂模式。但如果你像谷歌那样,自己构建硬件并在 TPU 上训练,那就有点像英特尔模式,拥有自己的晶圆厂。所以我认为这里有一些说得通的类比。
但实际上,我认为最贴切的类比或许是,在我看来,LLM 与操作系统有着非常强的类比性。因为它不仅仅是电力或水。它不是像水龙头流出的商品。它们现在是日益复杂的软件生态系统。因此它们不只是像电力那样的简单商品。有趣的是,生态系统正在以非常相似的方式形成。
你有几个闭源提供商,如 Windows 或 Mac OS,然后你有开源的替代品,如 Linux;对于 LLM,我认为 LLaMA 也是类似。我们有几家竞争的闭源提供商,然后 LLaMA 生态系统目前可能是最接近 Linux 成长路径的东西。再次强调,现在还为时过早,因为这些还只是简单的 LLM,但我们开始看到它们将变得更加复杂。
这不仅仅是关于 LLM 本身,还涉及到所有使用的工具、多模态以及这一切如何运作。所以当我之前意识到这一点时,我试着把它画出来。
在我看来,LLM 就像一个新的操作系统。LLM 是一种新型计算机,有点类似于 CPU。上下文窗口有点像内存,然后 LLM 利用所有这些能力来协调内存和计算以解决问题。从这个角度看,它确实非常像一个操作系统。

再举几个类比。例如,如果你想下载一个应用,比如我去 VS Code 官网下载,你可以下载 VS Code 并在 Windows、Linux 或 Mac 上运行。同样地,你可以拿一个 LLM 应用,比如 Cursor,然后在 GPT、Claude 或 Gemini 上运行它。选择哪个模型只是一个下拉菜单。所以这方面也很相似。
另一个让我印象深刻的类比是,我们正处于类似 1960 年代的时代,对于这种新型计算机来说,LLM 的计算仍然非常昂贵。
这迫使 LLM 集中在云端。我们都只是通过网络与其交互的瘦客户端。我们没有人能完全利用这些计算机。因此,采用分时共享是合理的,当他们在云端运行计算机时,我们都只是批次处理中的一个维度。

这非常符合那个时代计算机的样子。操作系统在云端,所有东西都是流式传输的,并且有批处理。个人计算革命尚未发生,因为这从经济上讲不通。
但我认为有些人正在尝试,事实证明,例如 Mac Mini 非常适合运行某些 LLM,因为如果你在做批量推理,这完全是内存密集型的。这实际上是可行的。
我认为这些可能是个人计算的一些早期迹象,但这还没有真正发生。还不清楚它会是什么样子。也许在座的各位中有人会发明它,或者定义它的工作原理和应该是什么样子。
LLM 认知缺陷,能过目不忘却患短期失忆症
我想再提一个类比:每当我直接在文本中与 ChatGPT 或某个 LLM 对话时,我感觉就像通过终端与操作系统交谈一样,因为它就是文本,是直接访问操作系统的途径。
我认为目前还没有真正发明出一种通用的 GUI。例如,ChatGPT 是否应该有一个不同于文字气泡的 GUI?当然,我们稍后要讨论的一些应用程序确实有 GUI,但目前还没有一种能通用所有任务的 GUI。、
LLM 在某些独特方面与操作系统和早期计算有所不同。我写过这一点让我感到这次非常不同的特性:LLM 颠覆了技术扩散的方向。例如,电力、密码学、计算、飞行、互联网、GPS 等许多变革性技术最初并不存在时,通常政府和公司是首批用户,因为技术新颖且昂贵,之后才扩散到消费者。但我觉得 LLM 的情况是颠倒的。
早期的计算机可能主要用于弹道学和军事用途,但 LLM 却关乎“如何煮鸡蛋”之类的事情。这确实是我的主要用途。这让我感到非常着迷:我们拥有一种神奇的新型计算机,它在帮我煮鸡蛋,而不是帮助政府做导弹计算之类的疯狂事。
到目前为止总结一下:使用“ LLM 实验室”和“LLM”是准确的描述,但 LLM 是复杂的操作系统。它们在计算领域相当于 1960 年代的水平,我们正在重走计算之路。它们目前通过分时共享提供,像公共事业一样分发。前所未有的是,它们并非掌握在少数政府和企业手中,而是在我们所有人手中,因为我们都有电脑,而这一切都只是软件。
ChatGPT 仿佛一夜之间就传给了数十亿人的电脑。这太疯狂了。这让我觉得不可思议,而现在正是我们进入行业并编程这些计算机的时机,这简直疯狂。我认为这非常了不起。
在编程 LLM 之前,我们需要花时间思考它们是什么。我特别喜欢讨论它们的“心理学”。我喜欢将 LLM 视为人类灵魂。它们是对人的随机模拟,而模拟器碰巧是一个自回归 Transformer 模型。Transformer 是一种神经网络,它在 tokens 级别上工作,逐块处理,每个词块的计算量几乎相等。这个模拟器本质上涉及一些权重,我们将其拟合到互联网上的所有文本等数据上。最终就得到了这样一种模拟器。
因为它在人类数据上训练,它产生了这种类人的涌现心理学特性。首先你会注意到,LLM 拥有百科全书式的知识和记忆,它们能记住的东西远多于任何个人,因为它们阅读了太多内容。
这让我想起电影《雨人》,我真心推荐大家观看。这是一部精彩的电影,我非常喜欢。达斯汀·霍夫曼饰演一位患有自闭症的学者症候群患者,拥有近乎完美的记忆力,他能像读电话簿一样记住所有姓名和电话号码。
我觉得 LLM 非常相似,它们在某些方面确实拥有超能力,但它们也存在一系列认知缺陷:它们经常产生幻觉、编造内容,并且缺乏足够好的自我认知内部模型(至少不够充分)。这方面已有改进,但尚未完美。
它们表现出不均衡的智能:在某些问题解决领域表现出超人能力,却会犯下人类基本不会犯的错误。比如坚持认为 9.11 大于 9.9,或者“Strawberry”中有两个“R”。这些都是著名的例子,但本质上存在一些你可能踩到的“坑”。我认为这也很独特。它们还患有顺行性遗忘症。
我想指出的是,如果你的组织来了一个新同事,随着时间的推移,他会了解你的组织,理解并获取大量组织背景信息。他回家睡觉,巩固知识,并逐渐发展出专业知识。但 LLM 天生不具备这种能力。我认为这在 LLM 研发中尚未真正解决。因此,上下文窗口实际上就像工作记忆。你必须直接“编程”这个工作记忆,因为它们不会默认地“变聪明”。我想很多人被类比误导了。
在大众文化中,我推荐大家看这两部电影:《记忆碎片》和 《第 51 州》。在这两部电影中,主角的“权重”是固定的,他们的“上下文窗口”每天早晨都会被清空。当这种情况发生时,去工作或建立关系就非常成问题。而 LLM 一直处于这种状态。
我想再指出一点与使用 LLM 相关的安全限制。例如,LLM 相当轻信,它们容易受到提示注入风险的影响,可能会泄露你的数据等。还有很多其他安全相关的考量。
同时,要思考这个拥有超能力却又有一堆认知缺陷和问题的东西,而它们又极其有用。那么我们该如何为它们编程?如何绕过它们的缺陷并享受它们的超能力?所以我现在想谈谈机遇。我们如何使用这些模型?有哪些最大的机遇?
我比较兴奋的第一件事是我称之为部分自主应用的东西。例如,以编码为例。你当然可以直接去 ChatGPT,开始到处复制粘贴代码、复制粘贴错误报告等等,获取代码并到处粘贴。但你为什么要那样做?为什么要直接去操作系统?为此专门开发一个应用更有意义。我想你们很多人用 Cursor,我也在用,Cursor 就是你需要的那种工具。
你不想直接去 ChatGPT,而我认为 Cursor 是一个很好的早期 LLM 应用范例,它具备一些我认为对所有 LLM 应用都有用的特性。特别是,你会注意到它有一个传统界面,允许像以前一样手动完成所有工作。但除此之外,它现在集成了 LLM,允许我们处理更大的任务块。
我认为 LLM 应用共享的一些有用特性值得指出:第一,LLM 基本上做了大量的上下文管理。第二,它们协调对 LLM 的多次调用。以 Cursor 为例,其底层有为所有文件服务的嵌入模型,以及实际为代码应用差异的聊天模型。这一切都为你协调好了。
我认为还有一个非常重要但可能未被充分认识的点是特定于应用的 GUI 及其重要性,因为你不想仅通过文本直接与操作系统交谈。文本很难阅读、解析和理解,而且你也不希望在文本中直接执行某些操作。
所以,直接看到红绿标识的代码变更差异,并且可以交互式地查看新增内容要好得多。只需按 Command+Y 接受或 Command+N 拒绝要容易得多。我不应该用文本输入吧?因此,GUI 允许人类审计这些易出错系统的工作,并加快速度。稍后我会再回到这一点。

我想指出的最后一个特性是我称之为自主程度滑块的东西。例如,在 Cursor中,你可以只做顶部补全,你基本掌控一切;你可以选择一段代码块并按 Command+K 仅修改该块;你可以按 Command-L 修改整个文件;或者你可以按 Command-I,让它在整个代码中自由发挥。这就是那种完全自主的 Agent 模式。
因此,你掌控着这个自主程度滑块。根据手头任务的复杂性,你可以调整愿意为该任务放弃多少自主权。再展示一个相当成功的 LLM 应用 Perplexity 的例子,它也具备与我在 Cursor 中指出的非常相似的功能。
它打包了大量信息,协调多个 LLM,并有一个 GUI 让你审计其部分工作。例如,它会引用来源,你可以查看它们,并且它也有一个自主程度滑块:你可以进行快速搜索,进行研究,或者进行深度研究并在十分钟后回来查看结果。这只是你赋予工具的不同程度的自主权。
所以我的问题是,我感觉很多软件将变得部分自主。我正在思考这会是什么样子,对于你们中维护产品和服务的人来说,你们将如何使自己的产品和服务部分自主?
LLM 能看到人类能看到的一切吗?LLM 能以人类的所有方式行动吗?人类能否监督并保持在这种活动的循环中?
此外,当前很多传统软件,其所有的开关等东西都是为人类设计的。这一切都必须改变,变得对 LLM 可访问。所以我想强调一点,对于许多这类 LLM 应用,我认为这一点未得到足够重视:我们现在像是在与 AI 合作。通常它们负责生成,而我们人类负责验证。
让这个循环尽可能快地运行符合我们的利益,这样我们能完成大量工作。我认为有两种主要方式可以做到这一点:第一,你可以大大加快验证速度。我认为 GUI 对此极其重要,因为 GUI 利用了我们头脑中的计算机视觉“GPU”,阅读文本很费力且无趣,但看图很有趣,视觉信息就像是通往大脑的高速公路。因此我认为 GUI 在审计系统和视觉呈现方面非常有用。

第二,我认为我们必须约束 AI。我认为很多人对 Agent 过于热衷。对我来说,收到一个对我的仓库进行 1000 行代码的变更差异没什么用,因为我仍然是瓶颈,对吧?即使那 1000 行代码瞬间生成,我也必须确保它没有引入 bug,做的是正确的事情,没有安全问题等等。因此,是的,基本上我们有必要让这两个流程运行得非常非常快。而且我们必须设法约束 AI,因为它变得过于反应过度。有点像这样。
这就是我进行 AI 辅助编码时的感受。如果我只是在小步前进,一切都很好,但如果我真的想完成工作,让一个过度反应的 Agent 做所有这些事就不太好了。但我想我和你们很多人一样,正在尝试在我的编码工作流中开发一些利用这些 Agent 的方法,进行 AI 辅助编码和自己的工作。
我总是害怕收到太大的差异。我总是采用小的增量块。我想确保一切都好。我想让这个循环转得非常非常快。我会专注于具体事物的小块工作。因此我想你们很多人可能正在开发类似的使用 LLM 的方式。我也看到一些博客文章试图制定使用 LLM 的最佳实践。
我最近读到的一篇文章,我觉得很不错。它讨论了一些技巧。其中一些涉及如何约束 AI。例如,如果你在提示,如果你的提示词很长,AI 可能不会完全按你希望的去做,这样验证就会失败。你会要求别的东西。如果验证失败,你就得开始循环。所以,花点时间让你的提示更具体更有意义,这会提高验证成功的概率,让你继续前进。因此我认为我们很多人最终都会找到这类技术。
我认为在我自己的工作中也是如此。我目前感兴趣的是,既然我们拥有了 AI 和所有 LLM,教育会变成什么样子。
我认为我大量思考都集中在如何约束 AI 上。我不认为直接去 ChatGPT 说“嘿,教我物理”就能奏效。我觉得这行不通,因为 AI 会迷失方向。所以对我来说,这实际上是两个独立的应用:一个是供教师创建课程的应用,另一个是获取课程并提供给学生的应用。在这两种情况下,我们现在都有一个可审计的中间产物,课程。
我们可以确保它是好的、一致的。AI 被约束在特定的教学大纲和项目进度内。所以这是一种约束 AI 的方法,我认为成功概率要高得多,AI 也不会迷失方向。
我想再提一个类比:我对部分自主并不陌生,我在特斯拉工作了五年左右,研究的就是这个。特斯拉的自动驾驶也是一个部分自主产品,并具有许多类似特性,例如:仪表盘上就有自动驾驶的 GUI,它向我展示神经网络看到的内容。我们还有自主程度滑块,在我任职期间,我们为用户完成了越来越多自主任务。我想简要讲述一个故事:我第一次驾驶自动驾驶车辆是在 2013 年。
当时我有个朋友在 Waymo 工作,他邀请我在帕洛阿尔托附近试驾。我用当时的 Google Glass 拍了这张照片,你们很多人太年轻了可能都不知道那是什么。但没错,这在当时风靡一时。我们坐进车里,在帕洛阿尔托周围开了大约 30 分钟,走了高速公路、街道等。那次驾驶完美无缺,零干预。那是 2013 年,这让我印象深刻,因为当时经历了那次完美的驾驶演示后,我觉得自动驾驶即将到来,因为它已经能工作了。
这很不可思议,但今天,我们仍在研究自动驾驶。我们仍在研究驾驶 Agent。即使到现在,我们还没有真正解决这个问题。你可能看到 Waymo 在路上跑,看起来是无人驾驶,但仍然有大量的远程操作,很多驾驶环节仍然有人参与。所以我们甚至还没有宣布成功,但我认为它最终肯定会成功,只是花了很长时间。因此,我认为软件确实很棘手,就像驾驶也很棘手一样。
所以当我看到“2025 年是智能体之年”这样的说法时,我感到非常担忧。
我有点觉得,这将是一个“智能体的十年”,而且会持续相当长一段时间。我们需要人类在循环中。我们需要谨慎行事。这是软件,我们得认真对待。
我经常思考的另一个类比是钢铁侠战衣。我一直很喜欢钢铁侠,我认为它在很多方面正确地描绘了技术及其发展。我喜欢钢铁侠战衣的地方在于,它既是增强设备,也是一个 Agent。在部分电影中,钢铁侠战衣具有高度自主性,可以飞来飞去寻找 Tony。这就是自主程度滑块的体现:我们可以构建增强设备,也可以构建 Agent。我们两者都想要一些。但在现阶段,我认为在处理有价值的 LLM 时,更应该是构建钢铁侠的战衣,而不是钢铁侠机器人。
与其说是构建炸裂的自主 Agent 演示,不如说是构建部分自主产品。这些产品拥有定制的 GUI 和 UI、UX,我们这样做的目的是让人类的生成-验证循环变得非常非常快,同时我们也未忽视这项工作原则上可以实现自动化的事实。你的产品中应该有一个自主程度滑块,你应该思考如何滑动这个滑块,让你的产品逐渐变得更加自主。我认为这类产品中存在大量机遇。
我想提一下,稍微切换一下话题,谈谈另一个我认为非常独特的维度。不仅存在一种允许自主性和软件的新型编程语言,而且如我所言,它是用英语编程的,这是一种自然界面。突然间,每个人都成了程序员,因为每个人都会说英语这样的自然语言。这让我感到极其乐观和非常有趣,也是完全前所未有的。过去,你需要花 5 到 10 年学习才能做某事。现在情况不同了。
我不知道是否有人听说过 Vibe Coding。

这条推文某种程度上引入了这个概念,但我听说它现在成了一个大型网络 Meme。有趣的故事是:我在推特上活跃了大约 15 年,至今仍不清楚哪条推文会爆红,哪条会无人问津。我以为这条推文会是后者。不知这是否只是一时之念,但它成了全网 Meme,我也说不清原因,但猜想它触动了大家心弦,为人们感受到却难以言表的东西命了名。现在甚至有了维基百科页面等等。
是的,这现在就像是一项重大贡献。Hugging Face 的 Tom Wolf 分享了这个我超爱的美好视频。这些孩子在进行氛围编程。我觉得这视频充满正能量,太喜欢了。看到这样的视频,你怎么会对未来感到悲观?未来是美好的。实际上,我认为这终将成为软件开发的入门途径。我对这代人的未来并不悲观。是的,我太爱这个视频了。
因为太有趣,我也尝试了氛围编程。当你想要构建某个超定制化的、看似不存在的东西,又想在周六之类的时间随性发挥时,氛围编程太棒了。我构建了这个 iOS 应用,其实不会 Swift 编程,但很震惊自己能做出一个超级基础的应用,它确实简单。但我喜欢它只需一天就能完成,当天就能在手机上运行。这太神奇了,我无需花五天学习 Swift 就能入门。
我还通过 Vibe Coding 构建了名为 MenuGen 的应用,你可以在 menugen.do 试用。我有个痛点:在餐厅看菜单时,很多菜品不认识,需要图片参考,但不存在这样的服务。于是我想:我要 Vibe Coding。操作流程是:访问 menugen.do,拍摄菜单照片,MenuGen 生成图片,注册即赠 5 美元额度。

因此,这是我生活中的主要成本中心。目前这是个负收入应用,我在 MenuGen上亏了很多钱。但 MenuGen 的奇妙之处在于:Vibe Coding 部分其实很简单。
真正的难点是落地实现:添加身份验证、支付功能、和域名配置、Vercel部署等。这些都不属于 Vibe Coding,而是我在浏览器里手动点击操作。这是极度枯燥的苦差,又花了一周。有趣的是,我几小时就在笔记本上做出 MenuGen Demo,但实现真实部署却花了一周。原因就是:这实在太烦人了。
为智能体重构世界,AI 成了互联网的“新人类”
例如,为网页添加 Google 登录功能——我知道这很简单——但有大量类似 Clerk 库的集成指南。太疯狂了!它指示我:访问这个 URL,点击下拉菜单,选择这个,跳转到那个页面,再点击那个… 就像在教我怎么操作。计算机在指挥我该做什么,那你来做啊!为什么是我做?搞什么鬼?我必须跟着指令做,太荒谬了。
因此,我演讲的最后部分聚焦于:我们能直接为智能体构建吗?我不想做这些工作,智能体能代劳吗?
好的,简而言之:数字信息的新消费和操作者出现了。过去只有人类通过图形界面或计算机通过接口(APIs)操作,现在有了全新事物。智能体是计算机,却像人类灵魂。互联网存在人类灵魂,它们需要与软件基础设施交互——我们能为其构建吗?例如,你可以在域名放置 robots.txt 文件,指导网络爬虫在网站的行为规范。
同样,你可以创建 llm.txt 或 lens.txt 文件,用简单 Markdown 告诉 LLMs 该域名的主题。相比解析网页 HTML(极易出错且困难),这对 LLM 更易读。直接与 LLM 沟通是值得的。
大量文档是为人类编写的,包含列表、粗体和图片等元素,但 LLM 无法直接理解。我看到 Vercel、Stripe 等服务商正将文档专门适配 LLM,Markdown 对 LLM 极其友好。例如在 YouTube 上制作精美动画的 3Blue1Brown。
是的,我爱这个库。他开发了 Manim,我也想自己做一个。面对冗长的 Manim 文档,我直接复制给 LLM,描述需求后,它直接编写出我想要的动画。太神奇了!让文档对 LLM 可读将释放巨大潜力,应大力推广。

我还想强调:你不能止步于此。仅转为 Markdown 格式不够,还需修改内容。比如文档中的”点击”指令对 LLM 无效,Vercel 正将所有“点击”替换为 curl 命令,让 LLM Agent 可执行。这很有趣。当然还有 Anthropic 的模型上下文协议——直接与作为数字信息操作者的智能体沟通的协议。我对此非常看好。我也喜欢各种辅助工具,它们以 LLM 友好格式摄取数据。
更强大的如 Devin:不仅能处理原始文件,还会分析 GitHub 仓库并生成专属文档页,对 LLM 输入极有帮助。这类通过修改网址让 LLM 可访问的工具非常实用,应大量涌现。还需说明:未来LLM 定能直接浏览界面(甚至现在已能操作点击)。但主动优化信息访问仍很有价值,因为直接操作成本高且困难。大量软件(非活跃仓库/基础设施)不会被适配,我们需要工具支持。其他软件则应在中间点相向而行。
总之,现在入行太棒了。
我们需要重写海量代码,专业人士将编写海量代码。LLM 像公共事业,也像晶圆厂,但尤其像操作系统——不过处于类似 1960 年代的早期阶段。它们是需学习协作的有缺陷的“人类灵魂”,为此需调整基础设施。构建 LLM 应用时,我描述了高效使用 LLM 的方法和工具,如何快速迭代创建部分自主产品。当然还需为智能体编写大量代码。
总之,如钢铁侠战衣的比喻:未来十年滑块将右移,我充满期待,迫不及待与各位共建未来。谢谢!


(文:特工宇宙)