什么是 Software 3.0?
Software 3.0 代表了 Andrej Karpathy 对软件开发下一次演变的愿景,其中提示成为程序,自然语言作为主要编程接口。建立在 Software 1.0(传统编程)和 Software 2.0(神经网络)之上,Software 3.0 将大型语言模型视为将人类意图转换为可执行代码的基础设施工具,从根本上改变了我们构思、构建和维护软件系统的方式。
软件开发的格局正在经历根本性转变。著名 AI 研究员和前特斯拉 AI 总监 Andrej Karpathy 最近在 YC AI Startup School 2025 上展示了他对”Software 3.0”的愿景,概述了人工智能如何重塑编程和软件架构的本质。
演变:从 1.0 到 3.0
Karpathy 的框架建立在他早期的 Software 2.0 概念之上,其中神经网络和机器学习模型开始取代传统的手写算法。现在,Software 3.0 代表了下一次进化飞跃,其中提示成为程序,自然语言作为主要编程接口。
演变可以理解为:
- Software 1.0:具有明确指令的传统编程
- Software 2.0:神经网络和机器学习模型
- Software 3.0:LLM 驱动的开发,英语成为最热门的编程语言
关于这种转变特别引人注目的是,Software 3.0 并没有完全取代其前身。相反,我们看到了一种拼凑共存,其中”Software 3.0 正在吞噬 1.0/2.0”,导致我们处理软件开发方式的根本性重写。
理解 LLM 作为基础设施
Karpathy 提供了几种关于我们应该如何在软件栈中思考大型语言模型的引人注目的类比:
LLM 作为公用事业
就像我们对电力或水基础设施不加思索一样,LLM 正在成为为现代应用程序提供动力的无形基础。它们正在从实验性工具转变为我们可靠依赖的基本公用事业。
LLM 作为制造厂(Fabs)
类似于半导体制造,LLM 代表使无数下游应用程序成为可能的大规模基础设施投资。构建这些”fabs”的复杂性和成本意味着只有少数参与者可以创建它们,但许多人可以从它们的输出中受益。
LLM 作为操作系统
也许最有趣的是,LLM 开始作为一种新型操作系统运行——管理资源、提供 API,并作为人类意图和计算执行之间的接口。
分时悖论
虽然 LLM 最初类似于昂贵的分时主机,但它们表现出技术采用模式的异常逆转。AI 能力没有从企业向下渗透到消费者,而是变得越来越容易为个人所用,暗示着”个人计算 v2”的未来。
人工智能的心理学
Karpathy 最有洞察力的贡献之一是他将 LLM 描述为”人类精神”——人类认知的随机模拟,表现出新兴的心理属性。然而,这种模拟有两个重大限制:
锯齿状智能
当前的 LLM 显示一种奇特的智能形式,既不是统一能力的,也不是可预测限制的。它们可以解决复杂的数学问题,同时在看似简单的任务上失败,如比较 9.11 和 9.9。这种”锯齿状智能”创造了开发者必须小心导航的不可预测的失败模式。
挑战不仅仅是技术的——它是关于培养何时以及 LLM 如何成功或失败的直觉。与人类智能不同,人类智能往往在相关任务之间更均匀分布,LLM 显示不遵循直觉模式的巨大性能变化。
前向性失忆
LLM 遭受一种数字失忆症,在训练阶段之外无法巩固长期学习。就像《记忆碎片》中的主角一样,它们对训练数据有完美的回忆,但无法通过持续的交互建立持久的知识或关系。
这个限制指向 AI 发展中缺失的范式——Karpathy 称之为”系统提示学习”。我们不需要将所有知识烘焙到模型权重中的机制,而是需要 LLM 维护和更新自己解决问题策略的机制,本质上允许它们”为自己写书”关于如何处理不同的挑战。
为部分自主设计
前进的道路不是通过在 2027 年实现完全的人工通用智能(AGI),而是通过深思熟虑地实施部分自主。Karpathy 使用钢铁侠套装作为隐喻——理想的 AI 系统应该提供增强(增强人类能力)和选择性自主(在适当时采取独立行动)。
自主滑块概念
成功的 AI 产品实施了 Karpathy 所说的”自主滑块”——允许用户为其上下文选择适当 AI 独立性级别的机制:
- Cursor:Tab → Cmd+K → Cmd+L → Cmd+I(代理模式)
- Perplexity:搜索 → 研究 → 深入研究
- Tesla Autopilot:1 级到 4 级自主
这种渐进方法承认不同的任务和用户需要不同的人类控制和 AI 自主平衡。
生成 - 验证循环
有效人机协作的核心是快速生成 - 验证循环。这个循环运行得越快,伙伴关系就越有效:
- 改进验证:使人类轻松快速地验证 AI 输出
- 改进生成:将 AI 系统保持在”紧 leash”上以确保质量和一致性
弥合演示 - 产品差距
Karpathy 演讲中最令人清醒的洞察之一是令人印象深刻的 AI 演示和可靠产品之间的持续差距。他用 2014 年乘坐 Waymo 原型的经历说明了这一点——尽管演示期间零干预,但花了数年时间才开发出真正可靠的自动驾驶汽车。
关键洞察:“演示是 works.any(),产品是 works.all()“——演示需要有时工作,产品需要总是工作。
AI 辅助开发的现实
Karpathy 使用”vibe coding”(使用 AI 快速原型应用程序)的经验揭示了当前 AI 开发工具的承诺和限制。虽然 AI 可以显著加速初始开发,但在处理现代软件依赖和部署要求的复杂网络时,生产力增益通常会消失。
2025 年 Web 开发的现实是”为专家开发者而不是 AI 代理设计的服务的不连贯混乱”。这为工具制造商重新设计其产品以适应新类别的数字消费者创造了关键机会:
- 人类(GUIs)
- 计算机(APIs)
- 代理(表现得像人类的计算机)
像 Vercel 这样的公司已经在调整其文档和 API 以更适合代理,而其他公司在这次转型中落后。
为未来构建
Software 3.0 的影响远远超出了个人生产力改进。我们正目睹软件构思、开发和维护方式的根本性转变。早期认识到这种转变的组织和开发者将在 AI 驱动的未来获得显著优势。
在 Software 3.0 时代构建的关键原则:
为代理设计:认识到 AI 代理代表需要与传统人类用户或程序化 API 不同接口和交互模式的新类别用户。
实施自主滑块:为用户提供对 AI 自主性级别的细粒度控制,允许他们为其特定上下文和舒适度选择适当的平衡。
优化生成 - 验证循环:专注于使 AI 输出易于快速验证和确认,实现快速迭代和改进。
构建部分自主,而不是完全 AGI:与其追求完全的人工通用智能,不如专注于 AI 可以提供有意义增强和选择性自主的特定领域。
准备软件重写:承认”大量软件将被重写”,因为 Software 3.0 原则变得越来越广泛采用。
结论
Software 3.0 代表的不仅仅是一套新工具——它是人类意图和计算执行之间关系的根本性重新想象。随着提示成为程序,自然语言成为代码,我们进入了一个人类创造力和软件实现之间的障碍继续消失的时代。
未来属于那些可以驾驭 LLM 的心理怪癖、设计有效的人机协作模式,并构建优雅处理从令人印象深刻的演示到可靠产品过渡的系统的人。与其等待完美的 AGI,机会在于深思熟虑地实施增强人类能力同时保持适当人工监督的部分自主。
Software 3.0 的时代不是即将到来——它已经在这里。问题是我们在这次转变中是乘客还是飞行员。
Frequently Asked Questions
Software 3.0 与以前的软件开发范式有什么区别?
Software 1.0 依赖程序员编写的明确指令,而 Software 2.0 引入了从数据学习的神经网络。Software 3.0 将提示转换为程序,使自然语言成为主要编程接口。关键区别是将 LLM 视为基础设施公用事业而不仅仅是工具,实现软件开发的基本重写,其中通过 AI 系统将自然语言表达的人类意图转换为可执行代码。
LLM 在 Software 3.0 中如何作为基础设施运行?
Karpathy 建议将 LLM 视为像电力或水一样的公用事业——为现代应用程序提供动力的无形基础。它们也类似于半导体制造厂(fabs)——使无数下游应用程序成为可能的大规模基础设施投资。也许最强大的是,LLM 正在成为一种新型操作系统,管理资源、提供 API,并作为人类意图和计算执行之间的接口。
LLM 中的”锯齿状智能”是什么,为什么它很重要?
锯齿状智能指的是当前 LLM 中不可预测的性能变化——它们可以解决复杂的数学问题,同时在看似简单的任务上失败,如比较 9.11 和 9.9。这创建了不遵循直觉模式的不可靠失败模式,与人类智能不同,人类智能往往在相关任务之间更均匀分布。开发者必须培养何时 LLM 会成功或失败的直觉,并设计适当处理这些锯齿状能力的系统。
什么是自主滑块,为什么它们很重要?
自主滑块是允许用户为其上下文选择适当 AI 独立性级别的机制。示例包括 Cursor 从标签完成通过代理模式的进展、Perplexity 的搜索通过深入研究模式,以及 Tesla 从 1 到 4 级的自主级别。这些渐进方法承认不同的任务和用户需要不同的人类控制和 AI 自主平衡,使产品能够有效地服务于不同的用例。
生成 - 验证循环如何改进人机协作?
生成 - 验证循环是 AI 产生输出和人类验证它的快速循环。这个循环运行得越快,伙伴关系就越有效。改进验证意味着使人类轻松快速地验证 AI 输出,而改进生成意味着将 AI 系统保持在”紧 leash”上以确保质量。这种快速迭代实现了比尝试完全自主操作更有成效的人机协作。
AI 演示和 AI 产品之间的区别是什么?
Karpathy 的关键洞察是”演示是 works.any(),产品是 works.all()“——演示需要有时工作,而产品需要总是工作。令人印象深刻的演示经常隐藏生产中出现的可靠性挑战。演示和产品之间的差距可能是数年,正如 Waymo 的 2014 年原型所示,显示零干预但花了数年时间才发展成可靠的服务。构建可靠的 AI 产品需要解决边缘情况并实现一致的性能。
开发者应该如何为 AI 代理与人类用户设计?
代理代表与人类(使用 GUIs)和计算机(使用 APIs)并列的新类别数字消费者。代理需要为表现得像人类的系统设计的接口——可编程访问、结构化文档、清晰的 API,以及可预测的交互模式。像 Vercel 这样的公司已经在调整文档和 API 以适合代理,而其他公司在向 AI 可消费接口的转型中落后。
“vibe coding”揭示了 AI 的什么当前限制?
“Vibe coding”(使用 AI 快速原型应用程序)显示了承诺和限制。虽然 AI 显著加速初始开发,但在处理现代软件的复杂依赖和部署要求时,生产力增益通常会消失。当前的 Web 开发是”为专家开发者而不是 AI 代理设计的服务的不连贯混乱”,揭示了工具制造商需要为 AI 时代重新设计产品并减少阻碍 AI 辅助开发的复杂性的需求。
我是 Vinci Rufus,探索 AI 时代软件开发的转变,以及它对程序员、产品和未来技术意味着什么。我撰写关于 AI 研究的实际影响,如 Andrej Karpathy 的 Software 3.0 愿景,以及如何构建有效的 AI 增强开发工作流。在 Twitter @areai51 上关注我,或在 vincirufus.com 阅读更多内容。