软件又一次站在了十字路口。这一次,说话即编程。

旧金山——2017年,一位名叫安德烈·卡帕西(Andrej Karpathy)的年轻人工智能研究员坐在特斯拉的办公室里,观察着一件奇怪的事情:他身边越来越多的代码不是人类写的,而是神经网络从数据中"学"出来的。他把这个发现写成了一篇文章,标题只有两个词——"Software 2.0"。
那篇文章后来成了硅谷被引用最多的技术论文之一。八年之后,卡帕西又来了。这一次,他在Y Combinator的AI创业学校登台,宣布了一个新的时代:Software 3.0。
"英语是最热门的新编程语言。"他说。
这句话听起来像是一句营销口号,但卡帕西不是那种喊口号的人。他曾是OpenAI的创始成员,曾是特斯拉自动驾驶团队负责人,后来又创办了自己的AI教育公司Eureka Labs。当他谈论软件范式的更迭时,整个行业都会安静下来倾听。
三层地层
要理解Software 3.0,得先理解卡帕西对软件历史的"考古学"。
Software 1.0是我们熟悉的世界:程序员坐在键盘前,用Python、C++或JavaScript一行一行地写下指令。代码即逻辑,逻辑即控制。从Fortran到Linux内核,从Excel宏到Twitter的后端,人类半个多世纪以来一直这样编写软件。
Software 2.0是卡帕西在2017年识别出的转变。在这个范式中,程序员不再直接写指令——他们定义目标、准备数据,然后让优化算法在神经网络的权重空间中搜索出"程序"。特斯拉的自动驾驶系统就是一个典型例子:没有人手写"遇到红灯停车"的规则;数百万英里的驾驶数据通过反向传播,将这些知识编码进了数十亿个浮点数之中。
Software 3.0则是今天正在发生的剧变。在这个范式中,你甚至不需要定义架构或准备数据——你只需要说话。用自然语言描述你想要什么,大语言模型(LLM)便会生成代码、调用工具、完成任务。Prompt(提示词)成了新的源代码。
卡帕西在新演讲中展示了一张图,表明这三种范式正在共存、叠加,但趋势清晰:"Software 3.0正在吞噬Software 1.0和2.0,"他说,"大量软件将被重写。"
但这不是故事的全部。Latent Space的Shawn "swyx" Wang注意到了一个关键的变体:Software 1+2=3。在Prompt中嵌入代码片段——让Agent在自然语言指令中混合传统代码和神经网络调用——产出的结果远超纯Prompt。swyx认为,这个变体正是过去两年里"AI工程师"远超"提示词工程师"的根本原因。纯说话是不够的,还得会写代码。
四个比喻
卡帕西不仅定义了范式,还为LLM在技术基础设施中的位置找到了四个精准的比喻。
LLM像电力(Utility)。 通用基础设施,即插即用。任何系统接入LLM后立刻获得语言能力;再配上记忆,就获得上下文感知;再加上工具调用,就获得行动能力。这像极了电力普及的逻辑——一旦接上电网,你的工厂就获得了动力。
LLM像晶圆厂(Fab)。 训练一个大语言模型的成本高达数亿美元,周期长达数月,只有极少数玩家有能力和资本这样做。但产出的"芯片"——训练好的模型——被所有人使用。就像台积电的晶圆厂,门槛极高,但产出的价值渗透到每一部手机。
LLM像操作系统(OS)。 上下文窗口是文件系统,多轮对话是进程管理,工具调用和MCP协议是驱动程序,Skills和插件是应用程序。你甚至可以把不同Agent框架之间的竞争理解为一场新的"操作系统战争"。
LLM还像分时主机(Timeshare Mainframe)。 当前的大模型主要运行在云端,用户通过API作为"瘦客户端"访问——这几乎是1960年代计算模式的复刻。但卡帕西在另一篇文章《Power to the People》中指出了一个反常现象:LLM可能是第一种先在云端普及、再走向个人设备的前沿技术。Apple的MLX框架和Exolabs的工作正在孕育"个人计算v2"的早期信号——就像当年大型机走向个人电脑一样,LLM可能也会从云端走向每个人的笔记本。
双生态:新一场"Windows vs Linux"
卡帕西的演讲还隐含着另一个结构性的张力:开源与闭源的并存。
一方面,GPT-4、Claude、Gemini等闭源模型在性能、稳定性和用户体验上树立标杆,依托庞大的专有基础设施和精调能力驱动商业产品。另一方面,Llama、Qwen、Gemma等开源模型强调自由、定制和本地控制,让开发者和组织将系统适配到独特需求。
这种分叉像极了Software 1.0时代的Windows vs Linux。闭源模型可能主导商业市场,但开源模型将支撑研究、本地隐私和特定领域系统——在医疗、金融、国防等受监管行业,可审计性和可解释性可能与能力本身同等重要。两种生态互补而非对立,通过张力共同推动进步。
"人灵"与锯齿状智能
但卡帕西不是一个盲目的乐观主义者。事实上,他对当前大语言模型的诊断几乎堪称冷静到冷酷。
他将LLM称为"人灵"(people spirits)——对人类的随机模拟,具有某种涌现的"心理学"。这个类比不是赞美,而是一种警告:这些"人灵"有着奇怪的认知缺陷。
第一个缺陷,他称之为"锯齿状智能"(Jagged Intelligence)。
大语言模型可以解出复杂的数学竞赛题,却可能在"9.11和9.9哪个大"这种问题上犯错。它们的能力分布不像人类那样平滑——人类的认知能力通常是从低到高协调发展的——而是参差不齐,忽高忽低,令人难以预测。
"有些事情做得极其出色,按人类标准来看;而另一些事情则以灾难性的方式失败,同样按人类标准来看,"卡帕西写道,"而且你并不总是能提前知道哪个是哪个。"
这不仅是偶然的bug。卡帕西认为,核心缺陷是LLM缺乏"认知自我意识"(cognitive self-knowledge)——它们不知道自己不知道什么。解决方案不是简单地扩大模型规模,而是需要更成熟的后训练方法。
顺行性遗忘症与缺失的学习范式
第二个缺陷更加根本:"顺行性遗忘症"(Anterograde Amnesia)。
卡帕西用一个电影类比来解释:大语言模型就像电影《记忆碎片》(Memento)中的主角——训练结束后,它们就无法再形成新的长期记忆。每次对话都从零开始,所有经验都随着上下文窗口的关闭而消散。ChatGPT的Memory功能被他评价为"原始的、粗糙的实现"。
但这不仅是缺陷的描述,卡帕西还提出了一个大胆的假说:我们正在缺失一整个学习范式。
他画出了一张新的学习分类表:
- ✦预训练 → 知识(改变权重)
- ✦微调(SL/RL) → 习惯性行为(改变权重)
- ✦系统提示词学习 → 记笔记(改变文本,而非权重)
人类学习不仅依靠改变神经突触权重,还依靠一种更高效的方式——记笔记。你遇到一个问题,找到解决方案,然后用明确的语言把它记下来以备后用。卡帕西认为,LLM应该能为"自己写一本关于如何解决问题的大书"——不是通过梯度下降修改权重,而是通过文本编辑修改自己的系统提示词。
"这比RL更高效,"他解释道,"因为知识引导的review阶段是一个比reward scaler维度高得多的反馈通道。"
如果这个假说成立,它可能催生一种全新的模型训练方法——不是让模型更大,而是让模型更善于给自己写规则。
钢铁侠战衣与自主性滑块
如果说诊断是冷静的,那么卡帕西开出的药方则充满了工程上的实用主义。
他喜欢用"钢铁侠战衣"(Iron Man Suit)来比喻理想的AI产品。战衣在两个维度上延伸人类能力:增强(Augmentation)——赋予穿戴者力量、工具和感知;以及自主性(Autonomy)——战衣有时能自主行动,无需穿戴者发号施令。
关键在于,这种自主性不是非黑即白的开关,而是一个"自主性滑块"(Autonomy Slider)。用户应该能根据场景灵活调节AI的自主程度。
他以人们熟悉的工具举例:在代码编辑器Cursor中,从Tab(自动补全)到Cmd+K(行内编辑)到Cmd+L(对话)再到Cmd+I(智能体模式),自主性逐步递增。在Perplexity中,从搜索到研究再到深度研究,也是一条滑动的光谱。特斯拉的自动驾驶从L1到L4,同样是这个逻辑。
这个框架的核心洞察是:在"生成-验证"的循环中,我们需要的是部分自主性,而非完全自主。原因很简单——在可预见的未来,AI的能力仍有巨大缺口。
"**Demo是works.any(),产品是works.all()**,"卡帕西说。一个演示只需要成功一次就能震撼人心,但一个产品必须每一次都可靠工作。他回忆起2014年乘坐Waymo原型车的经历——全程零干预,他当时以为自动驾驶已经"到了"。然而从那次演示到真正的商业产品,中间还有漫长的路要走。
氛围编程与为智能体而建
演讲中最引人注目的部分之一是卡帕西关于"氛围编程"(Vibe Coding)的亲身实践。
他讲述了自己用AI构建一个名为MenuGen的应用的过程。在初始阶段,AI的帮助让他飞速推进——代码瞬间就能跑起来。但这种速度红利很快消失了。原因不是AI不够聪明,而是现实世界的软件基础设施并不是为AI设计的。
构建一个Web应用意味着要和一系列混乱的服务打交道——身份认证、数据库托管、部署管线——这些工具的设计初衷是让人类专家保持就业,而不是让AI能够轻松操作。
卡帕西特别提到了一个对比:Clerk(一个身份认证服务)的文档对AI极不友好,而Vercel则因为积极适配AI读取而受到他的赞扬。一个简单的例子是llms.txt文件——因为HTML对大语言模型来说并不容易解析,将文档转换为纯文本格式能显著提升AI的使用效率。Vibe Coding现已拥有自己的Wikipedia页面——它从一个玩笑变成了一个正式的词条。
他的结论是一个新的分类法。数字信息的消费者过去只有两类:人类(通过图形界面)和计算机(通过API)。现在出现了第三类:智能体(Agents)——它们本质上是计算机,却以类人的方式消费信息。
"工具制造商必须意识到,出现了一类全新的数字信息消费者和操控者,"卡帕西说。
他特别提到了像Gitingest和Cognition的DeepWiki这样的"上下文构建器"(Context Builders),它们的工作就是将互联网上对人类友好的信息转化为对AI友好的格式。
从写代码到调试行为
Christos Theodoropoulos在他对卡帕西演讲的深度分析中指出,Software 3.0改变的不仅是工具,更是工程师的思维方式。
传统软件工程的核心是确定性逻辑——代码写什么,机器就做什么。Software 3.0的核心是概率编排——程序员指定目标,而非路径;模型推断出实现方式。这种转变带来四个根本性的变化:
从代码复用到模型复用。 软件模块变成了模型API,权重和提示词是参数。
从调试语法到调试行为。 工程师追踪的不再是行号,而是推理链和提示词交互。你需要的是"提示词调试器"和"语义差异工具"。
从软件验证到结果保证。 质量保证从"能编译吗?"变成"行为安全吗?"
从人写代码到人机协作编程。 你描述需求,LLM提出实现方案,你批评、修正、对齐意图——每一轮迭代都在增加双方的相互理解,形成一个共同适应的学习循环。
Theodoropoulos的结论是:这个时代最好的工程师可能不是写最多代码的人,而是设计最好对话的人。
工程落地的第一张蓝图
卡帕西的演讲描绘了愿景,但真正让Software 3.0落地的,是工程师们的实践。
韩国Toss Tech的工程师们将卡帕西的洞察翻译成了可操作的设计模式。他们将Claude Code理解为一个Harness(套具)——连接裸模型和真实世界的基础设施层,并将Agent架构映射到了经典的分层设计:
Slash命令是Controller(路由用户意图),子Agent是Service Layer(执行具体业务逻辑),Skills是单一职责的可插拔组件。Token管理则成了新的内存约束——就像传统程序员操心RAM一样,Software 3.0的工程师操心的是上下文窗口的预算。
Addy Osmani提出了一个他称之为"棘轮"(Ratchet)的工程原则:每当Agent犯了一个错误,就把修复方案永久写入系统提示词或Hook中——棘轮只进不退,质量基线只升不降。好的系统提示词中的每一行,都应该能追溯到一次具体的、历史上的失败。
这不是抽象的理论。有人用这个方法把Karpathy为Claude Code提出的4条核心规则扩展到了12条,在30个代码库的测试中,Claude的错误率从41%降到了11%,再进一步降到了约3%。系统提示词学习不是未来的假说——它正在发生。
这是智能体的十年
演讲的最后,卡帕西将所有线索汇聚成一个判断:
"这是智能体的十年。"
不是AGI 2027的宏大叙事,不是闪耀却不可靠的演示。而是部分自主性、定制化的图形界面、可调节的自主性滑块。是记住Software 3.0正在吞噬Software 1.0和2.0。是改进生成器与验证器之间的循环。以及最重要的一句话——
为智能体而构建。
在硅谷的历史上,每隔大约十五年就会出现一次范式迁移——从大型机到个人电脑,从桌面到移动互联网,从云计算到AI。卡帕西的Software 3.0叙事本质上是这个长弧线的最新一章。但与他2017年的Software 2.0文章不同的是,这一次他不仅描述了一个技术趋势,他还给出了具体的建筑蓝图。
过去,从确定性逻辑到概率编排,从写代码到设计对话,从调试行号到追踪推理链——每一次转变都重新定义了"程序员"这个词的含义。在Software 3.0的世界里,编程不再是告诉机器"怎么做",而是告诉机器"做什么"——然后设计一套足够好的验证机制,确保机器真的做到了。
就像钢铁侠战衣从来不是一蹴而就的一样——托尼·斯塔克也是在一次次迭代中才把它造出来的——Software 3.0的世界也不会在一夜之间降临。但地基已经打下了,而卡帕西的这场演讲,很可能就是那张蓝图的第一页。
Sources:
- ✦Andrej Karpathy on Software 3.0: Software in the Age of AI — Latent Space[^1]
- ✦Andrej Karpathy: Software Is Changing (Again) — YC Startup Library[^2]
- ✦Software 2.0 — Andrej Karpathy (Medium)[^3]
- ✦Full Transcript — The Singju Post[^4]
- ✦Software 3.0: Redefining the Foundations of Programming — Christos Theodoropoulos[^5]
- ✦What's Software 3.0? — Florent Daudens / Hugging Face[^6]
- ✦Embracing the Software 3.0 Era — Toss Tech[^7]
- ✦Agent Harness Engineering — Addy Osmani[^8]
- ✦Key Takeaways — Dulandias.com[^9]
- ✦Software 3.0: Software is Changing Again — Medium[^10] ---
- ✦[^1]: Andrej Karpathy on Software 3.0: Software in the Age of AI — Latent Space https://www.latent.space/p/s3 https://www.latent.space/p/s3
- ✦[^2]: Andrej Karpathy: Software Is Changing (Again) — YC Startup Library https://www.ycombinator.com/library/MW-andrej-karpathy-software-is-changing-again https://www.ycombinator.com/library/MW-andrej-karpathy-software-is-changing-again
- ✦[^3]: Software 2.0 — Andrej Karpathy (Medium) https://karpathy.medium.com/software-2-0-a64152b37c35 https://karpathy.medium.com/software-2-0-a64152b37c35
- ✦[^4]: Full Transcript — The Singju Post https://singjupost.com/andrej-karpathy-software-is-changing-again/ https://singjupost.com/andrej-karpathy-software-is-changing-again/
- ✦[^5]: Software 3.0: Redefining the Foundations of Programming — Christos Theodoropoulos https://medium.com/data-science-collective/software-3-0-redefining-the-foundations-of-programming-409cf24e6c96 https://medium.com/data-science-collective/software-3-0-redefining-the-foundations-of-programming-409cf24e6c96
- ✦[^6]: What's Software 3.0? — Florent Daudens / Hugging Face https://huggingface.co/blog/fdaudens/karpathy-software-3 https://huggingface.co/blog/fdaudens/karpathy-software-3
- ✦[^7]: Embracing the Software 3.0 Era — Toss Tech https://toss.tech/article/harness-for-team-productivity-eng https://toss.tech/article/harness-for-team-productivity-eng
- ✦[^8]: Agent Harness Engineering — Addy Osmani https://x.com/addyosmani/article/2053231239721885918 https://x.com/addyosmani/article/2053231239721885918
- ✦[^9]: Key Takeaways — Dulandias.com https://dulandias.com/2025/07/software-is-changing-again-key-takeaways-from-andrej-karpathys-talk-at-yc-ai-startup-school/ https://dulandias.com/2025/07/software-is-changing-again-key-takeaways-from-andrej-karpathys-talk-at-yc-ai-startup-school/
- ✦[^10]: Software 3.0: Software is Changing Again — Medium https://medium.com/superagentic-ai/software-3-0-software-is-changing-again-and-again-af0c5cce786e https://medium.com/superagentic-ai/software-3-0-software-is-changing-again-and-again-af0c5cce786e
夜雨聆风