完整演讲视频
观看Andrej Karpathy在Y Combinator的完整演讲,深入了解Software 3.0的核心理念
演讲时长:约45分钟
建议全屏观看以获得最佳体验
软件开发范式演进
从手写代码到神经网络,再到自然语言编程的历史性转变
Software 1.0
传统手写代码
程序员直接编写指令,如C++代码。特斯拉自动驾驶系统中的大量传统代码就属于这一范式。
if (obstacle_detected) {
apply_brakes();
}
Software 2.0
神经网络权重
通过优化器训练数据集生成神经网络权重。在特斯拉开发中,神经网络逐渐"吞噬"了大量C++代码功能。
model = CNN(input_shape=(224,224,3))
model.fit(training_data, labels)
Software 3.0
自然语言提示
使用英语等自然语言编程LLM。现在我们正在用英语编程计算机,每个人都是程序员。
prompt = "分析这段文本的情感倾向"
result = llm.generate(prompt + text)
软件范式演进图
手写代码] --> B[Software 2.0
神经网络] B --> C[Software 3.0
LLM提示] A -.->|被吞噬| B B -.->|被吞噬| C style A fill:#3b82f6,stroke:#1e40af,color:#fff style B fill:#8b5cf6,stroke:#7c3aed,color:#fff style C fill:#06b6d4,stroke:#0891b2,color:#fff
反常识洞察
Karpathy分享的颠覆性观点和深刻见解
LLM是新的"电力"
当顶级LLM宕机时,全球会出现"智能褐化",就像电网电压不稳一样。我们对这些模型的依赖程度已经成为集体智能的基础设施。
LLM的"心理学"
LLM像《雨人》一样拥有超人记忆,但也像《记忆碎片》主角一样患有"顺行性遗忘症",无法自然积累经验。
编码变成"容易的部分"
AI使核心代码编写变得快速,但"落地"(部署、认证、支付等)却成为极其缓慢和困难的部分。
技术扩散方向颠倒
传统技术先被政府和企业采用,但LLM却首先在消费者中普及,政府和企业反而滞后。
"自主性滑块"设计
未来产品应内置自主性调节功能,用户可根据任务复杂性调整AI的自主程度。
人类成为瓶颈
AI可以瞬间生成海量内容,但人类需要仔细验证,因此必须"牵住AI的缰绳"。
"我们现在正在用英语编程计算机,每个人都是程序员。"
— Andrej Karpathy 论自然语言编程"应该构建钢铁侠战衣(增强人类能力),而非钢铁侠机器人(完全自主代理)。"
— 关于人机协作的正确方向实践案例
Karpathy的亲身实践和开发经验
"氛围编程"iOS应用
尽管不会Swift,Karpathy用一天时间通过LLM构建了基础iOS应用并在手机上运行。
关键洞察: LLM成为"软件开发的入门级毒品"
Menu Genen应用
核心代码几小时完成,但部署、认证、支付等"落地"工作却耗费了额外一周时间。
关键洞察: 软件开发瓶颈从编码转向运维
特斯拉Autopilot
见证了Software 2.0如何"吞噬"Software 1.0,神经网络逐渐取代大量C++代码。
关键洞察: 新编程范式会逐步取代旧范式
未来十年展望
人类与AI在软件领域协作的演变方向
核心发展趋势
部分自主应用兴起
产品将内置"自主性滑块",用户可调节AI自主程度
生成-验证循环优化
AI负责生成,人类负责验证,通过GUI加速验证过程
为AI代理构建基础设施
软件将不仅为人类设计,还要为AI代理优化
人机协作模式演进
"这是代理的十年,我们需要构建更像钢铁侠战衣而非钢铁侠机器人的产品。"
— Andrej Karpathy 对未来AI发展的总结相关资源
深入了解Software 3.0的更多资源
🎧 音频播客
NotebookLM基于演讲内容生成的音频播客,提供了另一种学习方式