人工智能时代的软件 By Andrej Karpathy
全文整理自:Karpathy于2025年6月17日在YC的分享,视频如下,文字内容适当经过压缩,配图均出自演讲材料
整理人:@晓辉博士 + AI
Loading...
很高兴今天能在这里和大家探讨人工智能时代的软件。我了解到在座的许多人是学生,包括本科生、硕士生、博士生等,即将步入职场。我认为现在是一个非常独特且有趣的时期,进入这个行业。
根本原因在于,软件正在再次发生变化。软件在过去70年里没有发生如此根本性的变化,但在最近几年里,它已经快速地改变了两次。因此,有大量的工作需要完成,大量的软件需要编写和重写。
Github地图发现的软件变化
如果我们把这看作是软件的地图,这是一个非常酷的工具,叫做 GitHub 地图,它展示了所有已编写的软件,这些都是计算机执行数字任务的指令。如果我们放大来看,这里是各种不同的代码库,所有这些都是已编写的代码。几年前,我观察到软件正在发生变化,出现了一种新型软件,我将其称为“软件2.0”。
软件演进:从1.0到3.0
软件1.0
传统的编程方式,您为计算机编写的代码。这是我们熟悉的GitHub上的代码库,所有这些都是已编写的计算机执行数字任务的指令。
软件2.0
基本上是神经网络,特别是神经网络的权重。您不是直接编写这些代码,更多的是调整数据集,然后运行优化器来创建神经网络的参数。Hugging Face基本上就是软件2.0领域的GitHub。
软件3.0
神经网络通过大型语言模型变得可编程。您的提示现在是编程大型语言模型的程序,这些提示是用英语编写的,这是一种非常有趣的编程语言。
三种编程范式的对比
如果您要进行情感分类,可以编写一些Python代码来实现,或者训练一个神经网络,再或者直接提示大型语言模型。这里有一个少样本提示的例子,您可以想象通过改变它来以稍微不同的方式编程计算机。
我们现在有软件1.0和软件2.0。我想我们正在看到,GitHub上的代码不仅仅是代码了,其中还夹杂着大量的英文。因此,我认为一种新型代码的类别正在不断增长。
这不仅是一种新的编程范式,更令我惊讶的是,它是用我们的母语——英语编写的。几年前,当我意识到这一点时,我发了一条推文:"我们现在竟然可以用英语来编程计算机了。"
软件2.0如何"吞噬"自动驾驶系统
在特斯拉工作时,我们正在开发自动驾驶系统,并试图让汽车实现自动驾驶。当时自动驾驶系统中存在大量的C++代码(软件1.0),其中还有一些神经网络用于图像识别。
随着时间的推移,当我们改进自动驾驶系统时,神经网络的能力和规模都在增长,此外,所有的C++代码都被删除了,许多最初用软件1.0编写的功能都被迁移到了软件2.0。
举例来说,将来自不同摄像头和不同时间的信息进行拼接的工作都是由神经网络完成的,我们因此能够删除大量的代码。软件2.0堆栈几乎是字面意义上地"吞噬"了自动驾驶的软件堆栈。
我们有三种完全不同的编程范式,我认为如果您即将进入这个行业,精通所有这些范式是非常好的主意,因为它们各有优缺点。您可能希望用软件1.0、2.0或3.0来编写某些功能,您是要训练神经网络,还是仅仅提示大型语言模型?
大型语言模型作为公用事业、实验室和操作系统
现在我想谈谈大型语言模型(LLM),以及如何理解这种新范式及其生态系统。这种新型计算机是什么样的?它的生态系统又如何?
我被Andrew Ng多年前说过的一句话所震撼:"人工智能是新的电力。"我确实认为这句话捕捉到了一些非常有趣的东西,即大型语言模型现在确实具有公用事业的特性。
公用事业特性
大型语言模型实验室投入大量资本来训练模型,相当于建设电网,然后通过API提供智能服务,按量付费,如按百万token付费。
实验室特性
构建大型语言模型所需的资本支出非常大,技术树正在迅速发展,研发秘密集中在大型语言模型实验室。
操作系统特性
大型语言模型不仅是简单商品,而是日益复杂的软件生态系统,有闭源提供商和开源替代品,类似于Windows/macOS与Linux的关系。
大型语言模型的公用事业特性
大型语言模型实验室,如OpenAI、Gemini、Anthropic等,投入大量资本支出(CAPEX)来训练大型语言模型。这相当于建设电网。然后,他们通过API向我们所有人提供智能服务,这需要运营支出。
这种服务通过按量付费的方式进行,例如我们按百万token付费。我们对这种API有许多类似公用事业的需求,例如低延迟、高正常运行时间、一致的质量等。
在电力领域,您会有一个转换开关,可以将电力来源从电网切换到太阳能、电池或发电机。在大型语言模型领域,我们可能有OpenRouter,可以轻松地在不同类型的大型语言模型之间切换。
我认为还有一点非常有趣,当最先进的大型语言模型宕机时,这就像是全球范围内的"智能停电",就像电网电压不稳定时一样,整个星球都会变得更"笨"。我们对这些模型的依赖程度越高,这种影响就越显著,而且我认为这种依赖还会继续增长。
大型语言模型的实验室特性
大型语言模型不仅具有公用事业的特性,我认为它们也具有实验室的一些特性。这是因为构建大型语言模型所需的资本支出非常大,不仅仅是建造一些发电站。您正在投入巨额资金,而且我认为技术树正在迅速发展。
因此,我们生活在一个深度技术树、研发秘密集中在大型语言模型实验室的世界里。但是,我认为这个类比也有点模糊,因为正如我所提到的,这是软件,而软件的防御性较弱,因为它具有很强的可塑性。
您可以进行许多类比,例如4纳米工艺节点可能类似于具有特定最大浮点运算能力的集群。当您使用英伟达GPU并且只进行软件开发而不进行硬件设计时,这就像是非实验室fabless模式。
但如果您也构建自己的硬件并在TPU上进行训练,如果您是谷歌,那就像是英特尔模式,您拥有自己的实验室。
大型语言模型的操作系统特性
不仅仅是简单商品
大型语言模型不仅仅是电力或水,不是那种从水龙头流出的商品。它们现在是日益复杂的软件生态系统,所以它们不仅仅是像电力这样的简单商品。
类似操作系统生态
这个生态系统正在以非常相似的方式形成:您有少数闭源提供商,如Windows或macOS,然后有一个开源替代品,如Linux。对于大型语言模型也是如此,我们有少数几个相互竞争的闭源提供商,然后LLaMA生态系统目前可能是一个接近Linux的替代品。
日益复杂的系统
现在还处于早期阶段,因为这些只是简单的大型语言模型,但我们开始看到它们将变得更加复杂。这不仅仅是大型语言模型本身,还包括所有工具的使用和多模态,以及所有这些如何协同工作。
大型语言模型作为新型操作系统
当我之前意识到这一点时,我尝试将其勾勒出来,在我看来,大型语言模型就像是一种新的操作系统。大型语言模型是一种新型计算机,它就像CPU的等效物,上下文窗口就像内存,然后大型语言模型正在协调内存和计算,利用所有这些能力来解决问题。
因此,从这个角度来看,它确实非常像操作系统。大型语言模型协调各种资源,管理上下文窗口中的信息,并执行复杂的计算任务,就像传统操作系统管理硬件资源一样。
这种新型操作系统的独特之处在于它能够理解和生成自然语言,这使得人类与计算机之间的交互变得更加直观和自然。它不仅仅是执行预定义的指令,还能理解上下文、推理和创造性地解决问题。
大型语言模型与早期计算时代的类比
分时系统类比
我们现在仿佛处于20世纪60年代的计算时代,大型语言模型的计算成本对于这种新型计算机来说仍然非常昂贵。这使得大型语言模型必须集中在云端,而我们都只是通过网络与它交互的瘦客户端。
云端批处理
使用分时系统是合理的,我们都在云端运行计算机时,只是批处理的一个维度。这与当时计算机的形态非常相似,操作系统都在云端,所有数据都通过流式传输,并且进行批处理。
个人计算的早期迹象
个人计算革命尚未发生,因为它在经济上不划算。但我认为有些人正在尝试,事实证明,Mac mini等设备非常适合某些大型语言模型,因为如果您进行批量推理,这完全是内存密集型的。
终端界面与图形用户界面(GUI)
我还要提到一个类比:每当我直接通过文本与ChatGPT或其他大型语言模型交流时,我感觉就像通过终端与操作系统对话一样,它就是文本,是直接访问操作系统。
我认为目前还没有真正发明出一种通用的图形用户界面(GUI)。ChatGPT应该有一个GUI吗?除了文本气泡之外,还有什么不同吗?当然,我们稍后会提到的一些应用程序确实有GUI,但如果我没理解错的话,目前还没有一个适用于所有任务的通用GUI。
在某些方面,大型语言模型与早期的计算和操作系统有所不同,而且方式相当独特。我们可能需要为这种新型计算范式开发全新的交互模式,而不仅仅是套用传统计算机的界面设计。
大型语言模型颠覆技术传播方向
传统技术传播路径
电力、密码学、计算、飞行、互联网、GPS等许多新的变革性技术,通常政府和企业是第一批用户,因为它们是新的且昂贵的,然后才逐渐普及到消费者。
大型语言模型传播路径
大型语言模型的情况正好相反。它们首先被普通消费者用于日常任务,如"如何煮鸡蛋"之类的查询,而企业和政府在采用所有这些技术方面都落后了。
这种颠覆性的传播方向可能说明了我们希望如何使用这项技术,以及首批应用程序在哪里。这是一种全新的技术传播模式,它使得技术民主化的速度前所未有地快。
大型语言模型的总结特性
复杂操作系统
大型语言模型是复杂的操作系统,它们类似于20世纪60年代的计算,我们正在重新进行计算。
分时系统
它们目前通过分时系统提供,并像公用事业一样分发。用户通过云端访问这些强大的计算资源。
普遍可及
新的、前所未有的是,它们不在少数政府和企业手中,而是在我们所有人手中,因为我们每个人都有一台计算机,而且它都是软件。
迅速传播
ChatGPT就像瞬间、一夜之间被传输到我们数十亿人的计算机上,这种传播速度和规模是前所未有的。
现在是我们进入这个行业并给他们编程的时候了!
大型语言模型的心理特性
在编程大型语言模型之前,我们必须花一些时间思考它们是什么,我特别喜欢谈论它们的心理。我喜欢将大型语言模型视为一种"类人精神"。它们是人类的随机模拟,而这里的模拟器恰好是一个自回归Transformer。
Transformer是一种神经网络,它以token为单位进行处理,每次处理一个"块",每个"块"的计算量几乎相等。这个模拟器当然涉及到一些权重,我们将其拟合到互联网上所有可用的文本数据。最终,您会得到这样一种模拟器,因为它是在人类数据上训练的,所以它具有一种类似人类的涌现心理。
大型语言模型的认知特性
1
百科全书般的知识
大型语言模型拥有百科全书般的知识和记忆,它们可以记住比任何单个个体人类多得多的东西,因为它们阅读了如此多的内容。这让我想起了电影《雨人》,其中达斯汀·霍夫曼饰演一位患有自闭症的学者,他拥有近乎完美的记忆力。
2
认知缺陷
它们会经常产生幻觉,编造一些东西,并且对自我知识没有很好的内部模型。它们表现出不稳定的智能,在某些问题解决领域它们会表现出超人般的水平,但随后又会犯下基本上任何人类都不会犯的错误。
3
顺行性遗忘症
大型语言模型不会像人类同事那样随着时间的推移学习和巩固知识。上下文窗口实际上就像工作记忆,您必须直接编程工作记忆,因为它们不会默认变得更聪明。这类似于电影《记忆碎片》和《初恋50次》中的情况。
4
安全限制
大型语言模型很容易上当受骗,它们容易受到提示注入攻击,可能会泄露您的数据等等。因此,还有许多其他与安全相关的考虑因素。
平衡超能力与认知缺陷
所以,长话短说,您必须同时思考这个拥有超能力但又存在许多认知缺陷和问题的事物。我们如何编程它们,如何克服它们的缺陷并享受它们的超能力呢?
这就像是在与一个既有超凡能力又有明显局限性的合作伙伴一起工作。我们需要设计系统和工作流程,既能利用大型语言模型的强大能力,又能弥补它们的不足,确保最终产出的质量和可靠性。
这种平衡需要深入理解模型的工作原理、限制和能力,以及创造性地设计交互模式和验证机制。只有这样,我们才能充分发挥大型语言模型的潜力,同时避免其固有的陷阱。
设计具有部分自主性的大型语言模型应用
现在我想谈谈如何使用这些模型的机会,以及一些最大的机会。我最感兴趣的是我称之为"部分自主性应用"的东西。例如,以编程为例,您当然可以直接使用ChatGPT,然后复制粘贴代码、错误报告等,获取代码并复制粘贴所有内容。
但为什么要这样做呢?为什么要直接与操作系统交互呢?拥有一个专门的应用程序会更有意义。因此,我认为你们中的许多人都在使用Cursor,我也在使用。Cursor就是您想要的那种工具,您不会想直接使用ChatGPT。
我认为Cursor是一个很好的早期大型语言模型应用的例子,它具有许多我认为在所有大型语言模型应用中都有用的特性。它提供了一个专门为编程任务设计的界面,同时集成了大型语言模型的能力,使编程过程更加高效。
大型语言模型应用的关键特性
上下文管理
大型语言模型基本上会处理大量的上下文管理,自动维护和更新相关信息,使用户不必手动管理复杂的上下文。
模型协调
它们会协调对大型语言模型的多次调用。以Cursor为例,其底层有用于所有文件的嵌入模型、实际的聊天模型以及用于代码差异的模型,所有这些都为您进行了协调。
专用图形界面
一个非常重要但可能并未完全被重视的特性是应用程序特定的图形用户界面(GUI)及其重要性。
文本很难阅读、解释和理解,而且您也不想直接通过文本执行某些操作。因此,最好是看到一个差异,例如红色和绿色的变化,您可以看到哪些内容被添加,哪些被删除。通过 Command + Y 接受或 Command + N 拒绝会容易得多,我不需要手动输入。因此,GUI 允许人类审计这些易出错系统的工作,并加快速度。
自主性滑块
我想指出的最后一个特性是我称之为"自主性滑块"的东西。例如,在Cursor中,您可以进行Tab补全,您主要负责。您可以选择一段代码,然后按Command+K更改该段代码。您可以按Command+L更改整个文件,或者您可以按Command+I,它会完全自主地在整个仓库中执行任何操作。
这就是完全自主的代理版本。因此,您可以控制自主性滑块,并根据手头任务的复杂性,调整您愿意放弃的自主性程度。这种灵活性使得用户可以在不同情境下选择最适合的自主程度。
自主性滑块的概念可以应用于各种大型语言模型应用,让用户根据任务的复杂性和重要性来决定AI应该有多大的自主权。这种设计既保留了人类的控制权,又充分利用了AI的能力。
Perplexity:另一个成功的LLM应用案例
再举一个相当成功的大型语言模型应用的例子——Perplexity。它也具有我刚才在Cursor中指出的一些非常相似的特性。它打包了大量信息,协调了多个大型语言模型,并且有一个GUI允许您审计其部分工作。
例如,它会引用来源,您可以想象检查它们,它还有一个自主性滑块。您可以进行快速搜索,也可以进行研究,或者进行深度研究,并在10分钟后回来。所有这些都是您赋予工具的不同程度的自主性。
Perplexity通过结合搜索引擎和大型语言模型的能力,创造了一种新型的信息获取体验。它不仅提供答案,还提供来源和背景,使用户能够验证信息的准确性,同时根据需要调整搜索的深度和广度。
部分自主软件的未来
软件的自主化转变
我想我的问题是,我觉得很多软件都会变得部分自主。我正在思考这会是什么样子,对于你们中许多维护产品和服务的人来说,你们将如何使你们的产品和服务部分自主化?
关键设计问题
大型语言模型能否看到人类能看到的一切?大型语言模型能否以人类能做到的所有方式行动?人类能否监督并参与到这项活动中,因为这些系统是易出错的,尚未完美。
界面的重新设计
在Photoshop中,差异会是什么样子?现在许多传统软件都有各种开关和各种东西,这些都是为人类设计的,所有这些都必须改变,并变得对大型语言模型可访问。
人机协作:生成与验证循环
我想强调的是,对于许多大型语言模型应用,我不确定它是否得到了应有的关注,那就是我们现在正在与人工智能合作,通常它们负责生成,而我们人类负责验证。让这个循环尽可能快地进行符合我们的利益,这样我们就能完成大量工作。
我认为有两种主要方式可以做到这一点:第一,您可以大大加快验证速度。我认为GUI在这方面极其重要,因为GUI利用了我们大脑中的计算机视觉GPU。阅读文本是费力的,而且不好玩,但看东西很有趣,它就像一条通往大脑的高速公路。
第二,我想说的是,我们必须"牵着"(leash)人工智能。我认为很多人对AI Agent过于兴奋,但对我来说,收到一个包含10,000行代码的差异(diff),这并没有什么用。我仍然是瓶颈,即使这10,000行代码是瞬间生成的,我仍然需要确保它没有引入错误,并且它正在做正确的事情。
人工智能辅助编程的最佳实践
小增量工作
在我自己的工作中,我总是害怕出现过大的差异。我总是以小的增量块进行操作,我想确保一切都良好,我想让这个循环非常非常快地进行。
具体明确的提示
如果您的提示模糊不清,那么人工智能可能无法完全按照您的意愿行事,在这种情况下,验证将失败。如果验证失败,您将不得不重新开始。因此,花更多时间使您的提示更具体会更有意义。
快速验证循环
我倾向于处理小块的、单一的具体事物。我认为你们中的许多人可能正在开发与大型语言模型协作的类似方式,使验证过程尽可能高效。
AI辅助教育:课程创建与交付
在我自己的工作中,我也对人工智能和大型语言模型背景下的教育是什么样子很感兴趣。我认为我大量思考的是如何"牵着"人工智能。我不认为仅仅去聊天并说"嘿,教我物理"就能奏效。我认为这行不通,因为人工智能会迷失方向。
所以对我来说,这实际上是两个独立的应用程序。例如,有一个应用程序是为教师创建课程的,然后有一个应用程序是接收课程并将其提供给学生的。在这两种情况下,我们现在都有一个中间产物——课程,它是可审计的,我们可以确保它良好,我们可以确保它一致。
这是"牵着"人工智能的一种方式,我认为它成功的可能性要大得多,而且人工智能不会迷失方向。通过将过程分为课程创建和课程交付两个独立的步骤,我们可以在每个阶段应用适当的控制和验证,确保教育内容的质量和一致性。
自动驾驶:部分自主性的先例
我想提及的另一个类比是,我对部分自主性并不陌生,我在特斯拉为此工作了五年。自动驾驶也是一个部分自主性产品,它具有许多特性,例如仪表盘上就有自动驾驶的GUI,它会显示神经网络看到了什么。我们也有自主性滑块,在我任职期间,我们为用户完成了越来越多的自主任务。
我第一次驾驶自动驾驶汽车是在2013年,我有一个在Waymo工作的朋友,他邀请我一起在帕洛阿尔托开车。我们坐上那辆车,在帕洛阿尔托的高速公路和街道上行驶了大约30分钟,整个过程非常完美,没有任何人工干预。
那是2013年,距今已有12年了。这让我很震惊,因为当时我有了这次完美的驾驶体验,完美的演示,我觉得自动驾驶即将到来。但12年过去了,我们仍在研究自主性,我们仍在研究驾驶代理。即使现在,我们也没有真正解决这个问题。
因此,我认为软件确实很棘手,就像驾驶一样棘手。所以当我看到"2025年是Agent之年"这样的说法时,我非常担心。我觉得,这是"Agent的十年",这将需要相当长的时间。我们需要人类参与其中,我们需要谨慎行事,这是软件,我们应该认真对待。
钢铁侠类比:增强与代理
我经常思考的另一个类比是钢铁侠战衣。我一直很喜欢钢铁侠,我认为它在很多方面都非常准确地预示了技术将如何发展。我喜欢钢铁侠战衣的原因是,它既是一种增强,托尼·斯塔克可以驾驶它,它也是一个Agent。在一些电影中,钢铁侠战衣非常自主,可以自行飞行并找到托尼等等。
所以,这就是自主性滑块。我们可以构建增强功能,也可以构建代理,我们希望两者兼顾。但在现阶段,我认为,在使用易出错的大型语言模型时,您应该更多地构建钢铁侠战衣,而不是钢铁侠机器人。
也就是说,少一些炫目的自主Agent演示,多一些部分自主性产品。这些产品拥有定制的图形用户界面和用户体验设计,目的是让人类进行生成和验证的循环尽可能快,但我们并没有忽视原则上自动化这项工作的可能性,并且您的产品中应该有一个自主性滑块。
氛围编程:人人都是程序员
现在我想稍微转换一下话题,谈谈另一个我认为非常独特的维度。不仅出现了一种新的编程语言,它允许软件实现自主性,而且正如我所提到的,它是用英语编程的,这是一种自然的界面。突然之间,每个人都成了程序员,因为每个人都会说自然语言,比如英语。
这对我来说是极其看好和非常有趣的,而且也是前所未有的。过去,您需要花费五到十年的时间学习才能在软件领域有所作为,但现在情况不再如此。我不知道有没有人听说过"氛围编程"(vibe coding),这条推文就是它的起源,但我听说它现在已经成为一个主要的梗。
关于这个有一个有趣的故事:我玩Twitter大概有15年了,但直到现在我仍然不知道哪条推文会火,哪条会默默无闻。我当时以为这条推文会是后者,我不知道,它只是我洗澡时的一些想法,但它却成了一个彻头彻尾的梗。我真的无法判断,但我想它触动了人们的心弦,并为每个人都能感受到但又无法用言语表达的东西命名。
氛围编程:让编程变得普及
Hugging Face的Tom Wolf分享了一段我非常喜欢的视频,这些孩子正在进行氛围编程。我觉得这是一个非常治愈的视频,我爱这个视频。你怎么能看到这个视频,然后对未来感到悲观呢?未来是美好的。
我认为这最终会成为软件开发的"入门毒品"。我不是一个对未来感到悲观的人。我尝试过氛围编程,因为它很有趣。当您想构建一些超级定制的、似乎不存在的东西,并且您只是想随意尝试一下,比如在一个周六,氛围编程就非常棒。
所以我构建了这个iOS应用程序,我实际上不会用Swift编程,但我非常震惊,我竟然能够构建一个超级基础的应用程序。我不会解释它,它真的很傻,但这就像是一天的工作量,当天晚些时候它就在我的手机上运行了。我当时想:"哇,这太棒了!"我不需要花五天时间阅读Swift才能上手。
Menu Genen:氛围编程的实际应用
我还用氛围编程开发了另一个应用程序,叫做Menu Genen,它已经上线了,您可以在menu.app上尝试。我当时遇到的问题是,我去餐馆看菜单,但完全不知道那些菜是什么,我需要图片。但这种应用不存在,所以我想:"嘿,我要用氛围编程把它做出来。"
所以,这就是它的样子,您访问menu.app,然后拍下菜单的照片,Menu Genen就会生成图片。每个人注册时都会获得5美元的免费积分,因此这对我来说是一个巨大的成本中心,它目前是一个负收入的应用程序,我在Menu Genen上损失了巨额资金。
但这个应用程序展示了氛围编程的力量,它让我能够快速实现一个想法,而不必深入学习所有相关的编程语言和框架。这种快速原型开发和实现的能力是氛围编程带来的最大优势之一。
氛围编程的挑战:从原型到产品
编码不是最大挑战
对我来说,Menu Genen最吸引人的地方在于,氛围编程部分的代码实际上是制作Menu Genen最简单的部分。大部分的困难在于我试图让它变得真实,以便您可以进行身份验证、支付、拥有域名和部署。
DevOps的复杂性
这真的很难,所有这些都不是代码。所有这些DevOps的工作都是我在浏览器中点击完成的,这非常慢,又花了一周时间。所以,Menu Genen的演示版在我的笔记本电脑上几个小时就搞定了,但为了让它变得真实,我花了一周时间,这真的很有趣。
集成的烦恼
例如,如果您尝试为您的网页添加Google登录,这个Clerk库提供了大量的说明,告诉我如何集成它,这太疯狂了!它告诉我:"去这个URL,点击这个下拉菜单,选择这个,去那个,点击那个。"它就像一个计算机在告诉我应该采取哪些行动,你来做啊!
为Agent构建:面向未来的数字基础设施
因此,我认为我演讲的最后一部分将重点关注:我们能否为Agent构建?我不想做这些工作,Agent能做这些吗?
我们需要思考如何构建适合AI Agent操作的数字基础设施,使它们能够执行那些繁琐、重复的任务,特别是那些涉及多个系统集成和配置的工作。这需要我们重新思考软件和服务的设计方式,使其不仅适合人类使用,也适合AI Agent使用。
这种转变将需要新的接口标准、协议和工具,使AI Agent能够无缝地与各种系统交互,执行复杂的任务流程,而无需人类的持续干预。这不仅会提高效率,还会释放人类的时间和注意力,让我们专注于更具创造性和战略性的工作。
为AI Agent设计数字基础设施
新的信息使用者
粗略地说,我认为数字信息的使用者和操作者出现了一个新的类别。过去只有人类通过图形用户界面(GUI)或计算机通过应用程序接口(API)进行操作,现在我们有了一个全新的事物,Agent。
LM.txt文件
您可以在您的域名上放置lm.txt文件,这是一个简单的Markdown文件,它告诉大型语言模型这个域名是关于什么的。这对于大型语言模型来说非常易读,比直接解析HTML更有效。
AI友好文档
目前有大量的文档是为人类编写的,所以您会看到列表、粗体字和图片,这些都不能被大型语言模型直接访问。Vercel和Stripe等公司正在将他们的文档专门针对大型语言模型进行转换,以Markdown格式提供。
AI友好文档的实际应用1
也许我个人经验中的一个简单例子是,你们中有些人可能知道Three Blue One Brown,他在YouTube上制作了精美的动画视频。我喜欢他编写的Manim库,我也想制作自己的动画。Manim有详细的文档,但我不想阅读它,所以我将整个文档复制粘贴到大型语言模型中,并描述了我想要什么,它就直接工作了!
大型语言模型直接为我编写了一个动画,完全符合我的要求。我当时想:"哇,这太棒了!"所以,如果我们能让文档对大型语言模型可读,那将解锁巨大的使用潜力,我认为这很棒,应该更多地发生。
AI友好文档的实际应用2
我想指出的另一件事是,不幸的是,这不仅仅是将您的文档转换为Markdown格式那么简单,那只是容易的部分。我们实际上必须更改文档,因为任何时候您的文档中出现"点击"这样的词,这都是不好的,大型语言模型目前无法原生执行此操作。
例如,Vercel正在将所有"点击"替换为等效的curl命令,您的语言模型代理可以代表您执行这些命令。我认为这非常有趣。当然,Anthropic也有一个模型上下文协议,这也是另一种直接与代理对话的方式,将它们视为数字信息的新消费者和操作者。
为AI Agent提供更好的数据访问
URL转换工具
当我访问GitHub仓库,比如我的nanoGPT仓库时,我无法将其提供给大型语言模型并询问有关它的问题,因为它是一个GitHub上的人类界面。所以,当您将URL从GitHub更改为get.ingest时,它实际上会将所有文件连接成一个巨大的文本,并创建目录结构等等。
DeepWiki
也许更戏剧性的例子是DeepWiki,它不仅仅是这些文件的原始内容,这是来自Devin的,而且Devin基本上会对GitHub仓库进行分析,并为您的仓库构建完整的文档页面。您可以想象,这对于复制粘贴到您的大型语言模型中会更有帮助。
未来大型语言模型绝对有可能,这甚至不是未来,而是现在,它们将能够四处浏览并点击东西等等。但我仍然认为,让大型语言模型更容易访问所有这些信息是非常值得的,因为这仍然相当昂贵,而且困难得多。所以我确实认为,许多软件会有一个长尾效应,它们不会适应应用程序,因为这些不是像实时播放器那样的仓库或数字基础设施,我们将需要这些工具。
总结:我们正处于大型语言模型的1960年代——是时候开始构建了
重写代码的时代
现在是进入这个行业的绝佳时机。我们需要重写大量的代码,这些代码将由专业人士和程序员编写。
新型操作系统
这些大型语言模型有点像公用事业,有点像晶圆厂,但它们尤其像操作系统。现在还处于早期阶段,就像操作系统的1960年代。
类人灵魂people spirit
这些大型语言模型有点像那些易犯错的"类人灵魂",我们需要学会如何与它们合作。为了正确地做到这一点,我们需要调整我们的基础设施。
自主性滑块
回到钢铁侠战衣的类比,我认为在未来十年左右,我们将看到我们将把滑块从左向右滑动。这将非常有趣,我迫不及待地想和大家一起构建它。
获得更多AI动态和最新进展,欢迎关注
联系方式:[email protected]
视频号、抖音、小红书:
@晓辉博士