Andrej Karpathy: 软件正在改变 (Again)
会议: 安德烈·卡帕西在旧金山举行的 AI 创业学校上的主题演讲。 日期: 2025年6月19日 主题: AI时代的软件范式转变
I. 核心观点:软件范式演进
Karpathy指出,软件正在经历70年来最根本的变革,并在过去几年中快速经历了两次重大转变。
软件1.0 (Software 1.0):
- 定义: 传统的人类编写的显式代码 (如C++代码) [01:42]。
- 特点: 指令明确,逻辑硬编码。
软件2.0 (Software 2.0):
软件3.0 (Software 3.0):
II. LLMs作为新型计算范式与生态系统
Karpathy将LLMs视为一种新型的计算机或操作系统,并进行了多维度类比。
LLMs的“公用事业”属性 (Utilities):
LLMs的“晶圆厂”属性 (Fabs):
- 高资本投入: 训练LLMs需要巨大的资本投入 [08:00]。
- 技术树与研发: 核心技术和研发秘密集中在少数LLM实验室内部。
- 类比: 使用Nvidia GPU训练模型类似“无晶圆厂”模式;谷歌自建TPU并训练模型则类似“英特尔”模式,拥有自己的“晶圆厂”。
LLMs的“操作系统”属性 (Operating Systems - 最强类比):
- 复杂生态系统: LLMs不再是简单的商品,而是日益复杂的软件生态系统 [09:12]。
- 市场格局: 类似于Windows/macOS (闭源) 和Linux (开源) 的模式,LLM领域也存在少数闭源提供商和类似Llama生态系统的开源替代方案 [09:32]。
- 内部结构类比: LLM本身类似CPU,上下文窗口(context window)类似内存,LLM负责协调内存和计算以解决问题 [10:16]。
- 应用部署: LLM应用(如Cursor)可以在不同LLM(如GPT、Claude、Gemini)上运行,类似于应用可以在Windows、Linux、Mac上运行 [10:53]。
- 1960年代计算时代: 当前LLM计算昂贵且集中于云端,通过分时(time-sharing)访问 [11:02]。个人计算革命尚未到来,但Mac mini等设备可能预示着早期迹象 [11:39]。
- GUI缺失: 目前与LLM的交互(如ChatGPT)更像是通过终端与操作系统对话,通用的图形用户界面(GUI)尚未被发明 [12:24]。
技术扩散方向的“反转” (Flipped Diffusion):
III. LLMs的“心理学”与局限性
Karpathy将LLMs比作“人的精神”(people spirits)或“人的随机模拟”(stochastic simulations of people),并分析了它们的特点和认知缺陷。
超能力:
认知缺陷:
- 幻觉 (Hallucinations): 经常虚构信息。
- 锯齿状智能 (Jagged Intelligence): 在某些问题解决领域表现超人,但在其他领域会犯人类不会犯的基本错误(如9.11大于9.9,或strawberry有两个R) [16:20]。
- 顺行性遗忘症 (Anterograde Amnesia): LLMs不会像人类一样通过睡觉巩固知识或随时间积累上下文和专业知识。上下文窗口是其“工作记忆”,需要直接编程 [16:43]。他推荐电影《记忆碎片》和《50次初恋》来理解这种特性 [17:15]。
- 易受攻击性: 容易受到提示注入(prompt injection)攻击,可能泄露数据 [17:44]。
IV. LLM时代的机会与挑战
Karpathy探讨了如何利用LLMs的超能力并规避其缺陷,以及未来的发展方向。
部分自主应用 (Partial Autonomy Apps):
- 趋势: 许多软件将变得部分自主,而不是完全自主 [21:30]。
- 理想LLM应用的属性:
人机协作与“牵制”AI (Keeping AI on the Leash):
- 核心目标: 加速人类验证与AI生成之间的循环(generation-verification loop) [22:10]。
- 加速验证: GUI通过利用人类的视觉处理能力,使得审核AI生成的内容更快、更愉快 [22:34]。
- 限制AI的自主性: AI代理不应被赋予过高自主权,因为生成过大的代码修改(如10,000行diff)会成为人类审核的瓶颈 [22:53]。
- 具体提示 (Concrete Prompts): 编写更具体、清晰的提示能提高AI输出的准确性,减少验证失败和反复修改 [24:41]。
- 教育应用案例: 在教育领域,通过设计可审核的课程内容和明确的教学大纲,可以有效“牵制”AI,防止其“迷失在森林中” [25:05]。
“钢铁侠战衣”类比 (Iron Man Suit Analogy):
自然语言编程与“Vibe Coding”:
为AI代理构建 (Building for Agents):
V. 总结与展望
- 黄金时代: 当前是进入软件行业的绝佳时机,大量代码需要重写,专业人士和“Vibe Coder”都将发挥作用 [38:16]。
- LLMs的本质: LLMs兼具公用事业、晶圆厂和操作系统的特性,但仍处于早期阶段(类似于1960年代的操作系统) [38:25]。
- 与“有缺陷的人类精神”共事: 我们必须学会与这些拥有超能力但存在认知缺陷的“人类精神”合作 [38:42]。
- 调整基础设施: 需要调整基础设施以适应LLMs,构建部分自主产品,并通过工具加速人机协作循环 [38:48]。
- 未来十年:自主性提升: 在未来十年,自主性滑块将持续向右移动,产品将变得更加自主。