软件 3.0 时代:人工智能驱动的编程范式变革

引言

2025 年 6 月 17 日,前特斯拉 AI 总监、OpenAI 联合创始人 Andrej Karpathy 在旧金山 Y Combinator AI Startup School 的演讲中,深入探讨了人工智能时代软件开发的根本性变革。他提出了“软件 3.0”的概念,标志着编程范式的又一次重大转型。本文基于 Karpathy 的演讲内容,分析软件从 1.0 到 3.0 的演进,探讨大型语言模型(LLMs)如何重塑软件开发,以及这一变革对未来技术生态和行业参与者的深远影响。

软件的演进:从 1.0 到 3.0

Karpathy 将软件发展的历史划分为三个阶段,每一阶段都代表了一种全新的编程范式:

  1. 软件 1.0:传统编程
    软件 1.0 是传统编程的代名词,开发者使用 Python、C++ 等语言直接编写明确指令,计算机按照这些指令逐行执行。这种方式在过去 70 年主导了软件开发,GitHub 上的代码库是其典型代表。Karpathy 提到,GitHub 就像一张软件 1.0 的地图,记录了无数为特定任务编写的代码。

  2. 软件 2.0:神经网络编程
    Karpathy 在 2017 年首次提出“软件 2.0”概念,指通过神经网络权重进行编程。开发者不再直接编写代码,而是通过设计数据集和运行优化器来训练神经网络。例如,Hugging Face 上的模型库(如 Flux 图像生成器)成为软件 2.0 的“GitHub”。在特斯拉自动驾驶项目中,Karpathy 观察到大量 C++ 代码(软件 1.0)被神经网络(软件 2.0)取代,神经网络逐渐“吞噬”传统代码,显著提高了效率。

  3. 软件 3.0:提示即程序
    软件 3.0 是 Karpathy 提出的最新范式,以大型语言模型为核心。开发者通过自然语言提示(prompt)“编程”,这些提示本质上是英文指令,取代了传统的代码编写。Karpathy 强调,LLMs 是一种新型计算机,提示成为新的编程语言。这种方式极大地降低了编程门槛,使非技术人员也能通过描述需求创建软件。例如,一个简单的英文提示可以实现情感分类,而无需编写复杂代码。

软件 3.0 的核心特征

1. 自然语言编程

软件 3.0 的核心在于用自然语言(尤其是英语)作为编程语言。Karpathy 指出,这是一种“前所未有的”变革,因为每个人都能用母语描述需求,从而成为程序员。他在演讲中提到自己的一条推文:“我们现在用英语编写计算机程序”,这引发了广泛共鸣。这种编程方式不仅改变了开发流程,还使软件开发更加普惠。

2. LLMs 作为新型操作系统

Karpathy 将 LLMs 类比为操作系统,认为它们不仅是工具,而是复杂的软件生态系统。LLMs 的上下文窗口类似内存,模型本身像 CPU,协调计算与数据以解决问题。类似传统操作系统(如 Windows 或 Linux),LLMs 有封闭源代码(如 OpenAI、Gemini)和开源替代品(如 Llama 生态)。他进一步指出,LLMs 的计算模式类似于 20 世纪 60 年代的“时间共享”系统,集中在云端,通过 API 提供按需访问。

3. 部分自主与人机协作

Karpathy 强调,软件 3.0 时代的关键是“部分自主”应用,而非完全自主的 AI 代理。他以钢铁侠战衣为喻,提出理想的 AI 工具应像增强人类能力的“战衣”,而非完全独立的机器人。例如,编程工具 Cursor 通过集成 LLMs 管理上下文、协调多次模型调用,并提供图形界面(GUI)供人类审核代码变更。这种“自主滑块”允许开发者根据任务复杂性调整 AI 的自主程度,从而在效率与可靠性之间取得平衡。

4. 软件基础设施的适配

Karpathy 指出,当前软件基础设施(如 GUI 和文档)是为人类设计的,LLMs 难以直接访问。他建议为 LLMs 创建专门的接口,如用 markdown 格式的文档替换传统网页文档,或用类似 robots.txtlm.txt 文件为 LLMs 提供网站元信息。他还提到 Vercel 和 Stripe 等公司已开始提供 LLMs 可读的文档格式,用 curl 命令替代“点击”指令,以适配 AI 代理的需求。

软件 3.0 的机遇与挑战

机遇

  1. 编程民主化
    软件 3.0 让每个人都能通过“氛围编码”(vibe coding)快速构建应用。Karpathy 分享了自己用 LLMs 在一天内创建 iOS 应用和网页应用(如 menu.app)的经历,证明了自然语言编程的潜力。这种方式特别适合快速原型开发和个性化需求。

  2. 重写软件生态
    Karpathy 认为,软件 3.0 将“吞噬”部分软件 1.0 和 2.0 的功能,大量传统代码将被重写为提示驱动的程序。这为开发者提供了重新设计产品和服务的机会,尤其是在教育、编码和创意工具领域。

  3. 新型工具与生态
    新的工具正在涌现,如 GitHub 的“fetch”功能将代码库转化为 LLMs 可读的文本,Devon 的深度 wiki 为代码库生成文档。这些工具降低了 LLMs 访问和理解数据的难度,推动了更广泛的应用。

挑战

  1. 认知缺陷与可靠性
    Karpathy 将 LLMs 比喻为“人类的静态模拟”,它们拥有百科全书式知识,但也存在“幻觉”(生成错误信息)和缺乏自我认知的问题。例如,LLMs 可能错误地认为 9.11 大于 9.9,或无法像人类一样积累长期专业知识。

  2. 安全与控制
    LLMs 容易受到提示注入攻击,存在数据泄露风险。Karpathy 建议通过 GUI 和人工审核来控制 AI 输出,确保可靠性。他强调,人类必须在生成-验证循环中快速迭代,以弥补 LLMs 的不足。

  3. 基础设施适配的复杂性
    尽管 markdown 文档和 curl 命令等适配措施有所帮助,但彻底改造现有软件基础设施仍需时间。例如,Karpathy 提到在部署 menu.app 时,DevOps 任务(如身份验证和支付集成)耗时远超编码本身,凸显了基础设施适配的复杂性。

软件 3.0 的未来展望

Karpathy 认为,软件 3.0 仍处于早期阶段,类似 20 世纪 60 年代的计算环境。未来十年,自主滑块将逐渐向更高级的自主性滑动,但完全自主的 AI 代理仍需时间。他鼓励开发者专注于构建部分自主产品,通过定制化 GUI 和审核机制优化人机协作。

他还预测,LLMs 将改变技术的传播方向。传统技术(如电力、互联网)通常从政府和企业扩散到消费者,而 LLMs 则反其道而行之,率先服务于普通用户(如帮助“煮鸡蛋”),随后才被企业和政府采纳。这种“自下而上”的传播模式为初创企业和个人开发者提供了巨大机会。

结论

Andrej Karpathy 的演讲揭示了软件 3.0 时代的到来——一个以大型语言模型为核心、提示即程序的编程范式。这不仅是技术的进步,更是软件开发哲学的变革。通过自然语言编程、部分自主应用和适配基础设施,软件 3.0 将重塑行业格局,为新进入者提供了前所未有的机会。然而,LLMs 的认知缺陷和基础设施适配的挑战提醒我们,成功的软件 3.0 产品需要在人类与 AI 之间找到平衡。

正如 Karpathy 所言:“这是一个进入行业的最佳时机。”无论是学生、开发者还是创业者,软件 3.0 都为我们打开了一扇通往未来的大门。让我们共同探索如何在这台“新型计算机”上编程,创造出属于这个时代的钢铁侠战衣。

No comments

公司简介

 

自1996年以来,公司一直专注于域名注册、虚拟主机、服务器托管、网站建设、电子商务等互联网服务,不断践行"提供企业级解决方案,奉献个性化服务支持"的理念。作为戴尔"授权解决方案提供商",同时提供与公司服务相关联的硬件产品解决方案。
备案号: 豫ICP备05004936号-1

联系方式

地址:河南省郑州市经五路2号

电话:0371-63520088

QQ:76257322

网站:800188.com

电邮:该邮件地址已受到反垃圾邮件插件保护。要显示它需要在浏览器中启用 JavaScript。