Karpathy 谈软件 3.0 时代: AI 如何重新定义编程的未来

前特斯拉AI总监,AI大佬 Andrej Karpathy 在最新演讲中揭示了软件发展的革命性变化

在科技发展的历史长河中,很少有技术能够在如此短的时间内彻底改变一个行业的基础架构。

然而,人工智能正在做到这一点。

Andrej Karpathy 在演讲中,为我们描绘了一个令人震撼的图景:软件正在经历70年来最根本的变化,我们正站在"软件3.0时代"的门槛上。

为了方便大家阅读,本文是对该演讲的翻译、整理和总结

软件演进的三次革命

从手工编程到神经网络的跨越

Karpathy 将软件的发展历程划分为三个截然不同的时代。

软件1.0时代

是我们最熟悉的世界------程序员使用Python、C++等编程语言,一行行地编写明确的指令,构建起我们今天数字世界的骨架。

所有的逻辑都来源于人类的智慧,代码被整齐地存放在GitHub这样的代码仓库中。

软件2.0时代

伴随着深度学习的兴起。在这个时代,软件的核心不再是人类编写的指令,而是神经网络的"权重"。

程序员不再直接"写"程序,而是通过精心构建数据集和优化器,去"寻找"能够解决问题的程序------也就是训练完成的神经网络模型。

Hugging Face平台就像是软件2.0时代的GitHub,汇集着无数的AI模型。

Karpathy在特斯拉工作期间,亲眼见证了软件2.0如何逐步"吞噬"传统的C++代码。

在自动驾驶系统的开发中,感知、融合、规划等复杂任务逐渐被整合进更大、更强韧的神经网络中,传统代码被一行行删除。

软件3.0:自然语言成为编程语言

然而,真正的革命发生在软件3.0时代。大型语言模型(LLM)的出现创造了一种全新的计算实体。如果说过去的神经网络像是功能固定的专用机器,那么LLM就像是一台可编程的通用计算机。

最令人惊叹的是,这台新计算机的编程语言竟然是人类的自然语言------英文、中文、或任何我们日常使用的语言。我们通过"提示词"来指挥这台新计算机,这意味着编程的门槛瞬间消失,数十亿会说话的人一夜之间都成为了潜在的"程序员"。

LLM:新时代的操作系统

多重身份的技术巨兽

Karpathy 用了一系列精妙的比喻来解析LLM在技术生态中的定位。

首先,他很赞同LLM确实像吴恩达所说的"新时代的电力"------它们通过API像电网一样输送智能。用户按需付费,要求低延迟、高可用性和一致的质量。

同时,LLM也具有半导体制造业的特征。

训练一个大型模型需要巨额资本投入,拥有复杂的技术路线图和研发秘密。有些公司采用"Fabless"模式,使用Nvidia的GPU但不制造硬件;而像Google这样的公司则拥有自己的TPU,类似于Intel的自有制造模式。

Karpathy 认为,最贴切的比喻是 操作系统 。当前的LLM生态正如个人电脑的早期历史:有OpenAIGoogle Gemini这样的封闭系统(类似WindowsMac OS),也有以Llama为代表的开源生态(类似Linux)。

在这个新操作系统中,LLM本身是CPU,上下文窗口是内存(RAM),它们协调着内存和计算来解决问题。我们目前与ChatGPT的对话,就像在1960年代通过文本终端与大型机交互------我们还处在"时间共享"的云端时代,个人计算的革命尚未真正到来。

技术扩散的逆转

有趣的是,LLM的普及模式完全颠覆了传统技术的扩散路径。通常,新技术首先被政府和大企业采用,然后才扩散到消费者。但LLM却直接面向普通用户------它们帮助我们煮蛋、写邮件、解决日常问题,而政府和企业反而在采用上显得滞后。

与"有瑕疵的天才"共事

超能力与认知缺陷并存

要有效利用LLM,我们必须理解它们的本质。Karpathy将LLM比作"有瑕疵的天才"------它们拥有如电影《雨人》主角般的超凡记忆力,能记住互联网上海量的知识,甚至可以背下整本电话簿。

但同时,LLM也存在明显的认知缺陷:

  • 幻觉问题:会编造事实,缺乏足够的自我认知
  • 锯齿状智能:在某些领域超越人类,却在其他领域犯下人类绝不会犯的低级错误(比如坚持9.11大于9.9,或认为strawberry中有两个R)
  • 顺行性遗忘症:如同电影《记忆拼图》的主角,每次对话结束记忆就归零,无法从交互中持续学习

理解这些特性至关重要,因为我们需要设计一种既能发挥其长处又能规避短处的工作流程。

打造"钢铁人战甲"而非全自动机器人

部分自主应用的兴起

基于对LLM特性的深刻理解,Karpathy 提出了一个核心开发哲学:现阶段的目标不应该是创造全自主的AI代理,而是打造"半自主的应用程序",就像托尼·斯塔克的钢铁人战甲。

成功的半自主应用,如代码编辑器Cursor和搜索工具Perplexity,都具备几个共同特点:

智能的上下文管理:自动收集所有相关信息,喂给LLM处理。

多模型协调 :在后台调度不同功能的LLM分工合作。Cursor就同时使用嵌入模型处理文件、聊天模型进行对话、差异应用模型修改代码。

专用的UI/UX:设计高效的可视化界面让人类快速验证AI的输出。人类的视觉系统是"高带宽"的,图像化的差异对比远比阅读纯文字快速。

可调节的自主性 :提供一个"旋钮"让用户根据任务复杂度调整AI的介入程度。在Cursor中,你可以选择简单的Tab补全,也可以让AI修改整个代码库。

人机协作的黄金法则

成功的AI应用遵循一个基本循环:人类生成指令 → AI执行 → 人类验证。这个循环越快,生产力就越高。为了加速这个过程,需要:

  1. 加速验证:利用GUI和可视化,让人类的"视觉GPU"快速处理信息
  2. 保持AI在控制范围内:避免产生过大的变更(比如10,000行代码的差异),因为人类仍然是验证的瓶颈

Karpathy以自己在Waymo的经历为例提醒大家:即使在2013年就能完美演示自动驾驶,但解决最后1%的长尾问题却花了超过十年。同样,实现真正的AI代理也将是一段漫长的旅程。

"Vibe Coding":人人都是程序员

编程门槛的彻底消失

软件3.0时代最激动人心的变化之一,就是自然语言成为了编程语言。这催生了"Vibe Coding"现象------通过自然语言进行编程,无需深入学习传统编程语言。

Karpathy分享了自己的亲身体验:尽管不会Swift编程,他却在一天内完成了一个iOS应用并在手机上运行。这种体验让他深深震撼------过去需要花费数天学习Swift基础的工作,现在几乎瞬间就能上手。

他还开发了一个名为MenuGen的应用(menu.app),功能是为餐厅菜单生成图片。有趣的是,编写核心代码只花了几个小时,但处理支付、身份验证、部署等DevOps工作却耗费了一整周。这揭示了一个重要问题:虽然编程变得简单,但系统集成仍然复杂。

新挑战:为AI代理重新设计软件

这种体验让Karpathy意识到,我们需要开始为一种全新的"数字物种"------AI代理------设计软件。传统上,数字信息只有两种消费者:人类(通过GUI)和计算机(通过API)。现在我们有了第三种:AI代理,它们像"互联网上的人类精神"。

为了让AI代理更好地工作,我们需要:

专门的文档格式:就像网站有robots.txt指导搜索引擎,我们可能需要lms.txt来指导LLM。将文档转换为LLM易读的Markdown格式,把"点击这里"这样的指令转换为代理可执行的curl命令。

代理友好的工具:开发各种小工具,将为人类设计的网页或程序库转换成适合LLM读取的格式。比如将GitHub仓库转换为单一文本文件的Git Ingest工具,或者Deep Wiki这样的智能分析工具。

重写软件的时代

前所未有的机遇

Karpathy 的演讲揭示了一个令人振奋的现实:我们正站在一个需要重构、重写、重新想象几乎所有软件的时代。从底层的操作系统概念,到上层的应用交互模式,再到信息本身的呈现方式,都在经历剧烈变动。

这为新一代的开发者、设计师和思想家创造了巨大的机遇:

  • 大量软件需要重写:适应AI时代的新需求
  • 新的编程范式:需要掌握1.0、2.0、3.0三种编程方式
  • 编程门槛降低:让更多人参与到软件创造中
  • 全新应用类别:半自主应用的广阔空间

十年发展路径

Karpathy 预测,未来十年我们将逐步推动"自主性滑块"从左向右移动------从人类增强的"钢铁人战甲"模式,逐步迈向更高的自主性。但这个过程需要谨慎和耐心,因为我们处理的是复杂的软件系统,需要确保安全性和可靠性。

结语:拥抱变化的时代

正如 Karpathy 所说,这是一个"进入行业的绝佳时机"。软件正在经历70年来最根本的变化,这种变化的规模和速度都是前所未有的。

对于每一个技术从业者来说,理解这种变化并积极适应至关重要。我们不仅要学会与AI协作,更要学会为AI设计,为这个人机共存的新时代构建更好的工具和系统。

这不仅仅是技术的进步,更是人类与机器关系的重新定义。在这个充满挑战与机遇的时代,每个人都有机会成为这场伟大变革的参与者和推动者。


软件3.0时代已经到来,问题不是我们是否准备好了,而是我们如何更好地拥抱这个变化。正如Karpathy所展望的,这将是一个需要新一代开发者、设计师和思想家共同参与构建的未来。

相关推荐
说私域2 分钟前
基于定制开发开源AI智能名片S2B2C商城小程序源码的立减/立得类活动创新设计与应用研究
人工智能·开源
您的通讯录好友27 分钟前
TechGPT2部署
linux·人工智能·python·大模型·techgpt
whaosoft-14334 分钟前
51c视觉~3D~合集4
人工智能
思绪漂移1 小时前
工业缺陷检测的计算机视觉方法总结
人工智能·计算机视觉·缺陷检测
HongDoNi1 小时前
opencv--day01--opencv基础知识及基础操作
人工智能·opencv·计算机视觉
赴3351 小时前
机器学习 KNN 算法,鸢尾花案例
人工智能·机器学习·sklearn·knn·鸢尾花
WSSWWWSSW1 小时前
认识自我的机器人:麻省理工学院基于视觉的系统让机器了解自身机体
人工智能·机器人
z are2 小时前
PyTorch 模型开发全栈指南:从定义、修改到保存的完整闭环
人工智能·pytorch·python
CareyWYR2 小时前
每周AI论文速递(250721-250725)
人工智能
Better Rose2 小时前
2025年“创新杯”(原钉钉杯) A题 建模思路
人工智能·数学建模·钉钉