—— 一篇关于软件开发范式三次跃迁的深度解读
编者按:本文基于 Andrej Karpathy 2017年发表于 Medium 的原文《Software 2.0》,以及2025年6月在 YC 创业学校的最新演讲,梳理了软件范式从"人类写代码"到"神经网络权重即代码",再到"提示词就是代码"的三次跃迁。这不是技术预言,而是正在发生的事实。

摘要
2017年,一篇文章改变了无数工程师对"写代码"的认知。
Andrej Karpathy 在 Medium 上写道:
“Neural networks are not just another classifier, they represent the beginning of a fundamental shift in how we write software. They are Software 2.0.”
八年后的2025年,他在 YC 创业学校的演讲台上又补了一句:
“Software is changing. Again.”
这一次,连"训练数据"都不是主角了——提示词,才是新时代的代码。
一、那篇改变工程师认知的文章
1.1 Software 2.0 的核心命题
2017年的 Karpathy 是特斯拉的 AI 总监。他在原文里做了一个当时看起来激进的断言:
Software 1.0:人类用 Python、C++ 逐行写指令,精确控制程序行为。Software 2.0:人类收集数据、标注行为约束,让反向传播在"程序空间"里自动搜索最优解——神经网络的权重,才是真正的代码。
他的逻辑很清晰:大量现实问题里,"收集数据+定义理想行为"的难度,远远低于"显式编写对应程序"的难度。
当时 AlphaGo 刚刚击败李世石,WaveNet 语音合成、BERT 还没出现。但 Karpathy 已经看出了方向。
1.2 他预言了哪些领域的范式转移?
原文列举了7个领域正在发生的转变:
| 视觉识别 | ||
| 语音识别 | ||
| 机器翻译 | ||
| 游戏 AI | ||
| 语音合成 | ||
| 机器人控制 | ||
| 数据库索引 |
这里有一句 Karpathy 最喜欢引用的冷笑话:
1985年,Fred Jelinek(IBM语音识别负责人)说:“Every time I fire a linguist, the performance of the speech recognizer goes up.”
四十年后,这个玩笑成了现实。
1.3 Software 2.0 的六大工程优势
原文归纳了神经网络作为"代码"的6个工程优势。
截图 1:Software 2.0 六大优势
| 计算同质性 | |
| 易于硅基落地 | |
| 恒定运行时间 | |
| 恒定内存占用 | |
| 高可移植性 | |
| 高敏捷性 |
二、Software 3.0:提示词就是代码
2.1 2025年的演讲台上,Karpathy 说了什么
在 YC 创业学校的演讲里,Karpathy 提出了 Software 3.0 的核心命题:
“The hottest new programming language is English.”
Software 2.0 的"代码"是神经网络权重,由梯度下降写成。Software 3.0 的"代码"是自然语言提示词,由人类直接写成。
截图 2:三代软件范式核心差异

2.2 LLM 是新的操作系统
Karpathy 在演讲中做了一个类比,令人印象深刻:
LLM 不是商品,是操作系统。
他的类比如下:
- LLM 模型
≈ CPU(执行核心运算的处理器) - 上下文窗口
≈ RAM(临时工作内存) - 工具调用(Tool Use)
≈ 系统调用 - Agent 工作流
≈ 进程调度器 - 提示词
≈ 源代码
截图 3:LLM 就是新的操作系统

这个类比的意义在于:选错 LLM,就像 1990 年代选错操作系统——差异将长期存在,生态迁移成本极高。
2.3 LLM 的心理学:能力与局限
但 Karpathy 也清醒地指出了 LLM 的认知特征:
超能力:
百科全书级别的知识广度 少样本学习与类比推理 涌现能力(在训练数据之外的任务上表现出意外能力)
致命弱点:
- 幻觉
(Hallucination):自信地说错话 - 顺行性遗忘
(Anterograde Amnesia):每次对话后记忆清零,无法跨会话学习 - 不确定性感知薄弱
:不擅长说"我不知道"
他的结论是:LLM 是一个极其聪明但有特殊认知缺陷的存在——就像一个博览群书、过目不忘,但每天早上醒来会忘记昨天的人。
三、Agent重写软件的三个信号
光说理念不够。Karpathy 的论断落地了吗?
看三个产品信号。
截图 4:Agent 重写软件的三个信号

信号一:GitHub Copilot 从"补全"变"自主"
GitHub Copilot 的 Agent Mode 已经可以:
理解整个代码库的上下文(不只是当前文件) 自主规划修复路径(拆解任务 → 修改代码 → 运行测试 → 验证结果) 跨文件、跨函数地做端到端修改
这不再是"你写我补全"。这是**“你说需求,我来实现”**。
信号二:Claude Code 的终端原生设计
Anthropic 的 Claude Code 专门为终端工作流设计:
# Claude Code 的典型工作流$ claude "帮我找出这个 API 为什么返回 500 错误并修复"# Claude 会自动:# 1. 读取错误日志# 2. 分析相关代码文件# 3. 提出修复方案# 4. 等待你确认后执行修改Claude Code 的核心设计哲学是 Human-in-Loop(人类在环):AI 执行,人类始终保有最终控制权。
它的三个前提:
AI 有能力完成任务 人类信任 AI 的判断 - 任何关键操作,人类随时可以叫停
信号三:Devin 的"自主软件工程师"实验
Cognition Labs 的 Devin 是目前走得最远的一个实验:
接受工程任务后,自主规划、执行、测试、提交代码 通过 Slack 向人类汇报进展 支持多个 Devin 实例并行处理不同子任务
Devin 的 SWE-bench 测试成绩(解决真实 GitHub Issue 的能力)已经从最初的 13.86% 提升到超过 40%。
这不是完美——但方向清晰。
四、这道可靠性鸿沟,还要多久跨过去
Software 3.0 面临的最大挑战,不是能力,是可靠性。
截图 5:Agent 可靠性鸿沟

一个 Agent 在演示里成功完成任务:99% 的成功率,听起来很高。
但放到生产环境:
如果一个 Agent 执行 100 步操作,每步成功率 99%,整体成功率只有 36.6% 要达到工业级可靠性(99.999%),每一步的错误率必须降低 1000 倍以上
Karpathy 称之为"Agent 的十年"——不是三年,是十年。
五、对开发者意味着什么
最后回到最实际的问题:这一切和写代码的人有什么关系?
截图 6:开发者技能树正在被重构

技能迁移表
| 精通提示工程(Prompt Engineering) | |
| 理解模型能力边界与局限 | |
| AI 输出审查(验证而不是编写) | |
| 人机协作设计与 Agent 工作流编排 | |
| 成为 AI 的"技术总监" |
Karpathy 的四条建议
- 别抵触 Vibe Coding
:允许自己不阅读每一行 AI 生成的代码,相信系统,但要知道在哪里叫停 - 培养"审查者思维"
:你的价值不在于能写出代码,而在于能快速判断 AI 生成的代码是否正确 - 主动暴露在失败里
:把 Agent 放到真实任务中,不断观察它在哪里失败,这是提升你"驾驭 AI"能力的最快路径 - 真正理解代码的人,能更好地引导 AI 写代码
——这不是"写代码的人会消失",而是"不理解代码的人会消失"
六、Vibe Coding:一个新词,一种新关系
最后谈谈 Karpathy 在2025年最具争议的提法:Vibe Coding(氛围编程)。
截图 7:Vibe Coding vs 传统编程

他的描述是:
“You fully give in to the vibes, forget that the code even exists.”
你全情投入,忘记代码本身的存在。
传统开发:你写每一行代码,你理解每一行逻辑。Vibe Coding:你描述方向,AI 生成实现,你验证结果。
这不是"偷懒"。这更像是从砌砖工人变成了建筑师。
砌砖的技能不再是核心瓶颈——对建筑的理解,才是。
结论
软件三次跃迁的线索其实一直很清晰:
- Software 1.0
:人类是编译器,把逻辑翻译成代码 - Software 2.0
:人类是策展人,把期望翻译成数据 - Software 3.0
:人类是导演,把意图翻译成提示词
Karpathy 在2017年说对了。他在2025年又说了同样的话。
不同的是,这一次的演变快得多。
附录:关键术语表
| Software 2.0 | |
| Software 3.0 | |
| LLM OS | |
| Agent | |
| Human-in-Loop | |
| Vibe Coding | |
| Prompt Engineering | |
| Hallucination | |
| Anterograde Amnesia | |
| SWE-bench | |
| RLHF |
关于本文
主要参考资料:
Andrej Karpathy,《Software 2.0》,Medium,2017年11月 Andrej Karpathy,YC 创业学校演讲《Software is Changing Again》,2025年6月 Anthropic,Claude Code 官方文档,docs.anthropic.com Cognition Labs,Devin SWE-bench 报告,2024-2025
编译:Ice AGI编译说明:本文综合上述资料整理,保留关键英文术语原貌,技术论断均有一手来源支撑。
“The hottest new programming language is English.”
“最热门的新编程语言,是英语。”
夜雨聆风