Software 3.0
Software 3.0
定义
Software 3.0 是 Karpathy 对 LLM 时代软件形态的命名:人类不再只通过显式代码编程,也通过 prompt、上下文、工具、示例、记忆、instructions 来“编程”LLM。LLM 像一个解释器,context window 则成为新的程序介质。
它延续 Karpathy 早期的 Software 1.0 / 2.0 框架:
| 阶段 | 核心程序形态 | 人类主要工作 |
| Software 1.0 | 显式代码 | 写逻辑、调 bug、维护系统 |
| Software 2.0 | 神经网络权重 | 设计数据、目标函数、训练流程 |
| Software 3.0 | 上下文 + 工具 + LLM 执行 | 设计任务上下文、工具边界、反馈回路、guardrails |
为什么重要
Software 3.0 把“写程序”的对象从源代码扩展到整个 agent 执行环境。安装脚本、研究流程、代码修改、资料整理、知识库维护等任务,都可以被写成自然语言和结构化上下文,让 agent 读取环境、尝试操作、观察错误并迭代完成。
这与 Agentic-Engineering 的关系很直接:Agentic Engineering 是 Software 3.0 在工程生产中的组织方式;Context-Engineering 则是 Software 3.0 的核心编程技术。
操作清单
Karpathy 在 Sequoia Ascent 2026 中给出的 workflow 可压缩成:
define the context
define the tools
define the feedback loop
define the guardrails
let agents work
preserve human understanding
这个清单把 Software 3.0 和普通 prompt 区分开来:不是“给模型一句话”,而是给 agent 一个可执行系统。
Verifiability 原则
传统软件更擅长自动化“能被精确 specify 的任务”;LLM/RL/agent 系统更擅长自动化“能被 verify 的任务”。因此 Software 3.0 的高杠杆区域通常满足:
- 有清晰输入输出或验收标准。
- agent 可以运行工具得到反馈。
- 失败可以被测试、指标、diff、loss、lint 或人工审查发现。
- 改进可以被保留,退化可以被回滚。
这解释了为什么 AutoResearch、coding agents、测试驱动开发、repository exploration 等任务会率先受益。
风险
- 上下文即程序,也会有 bug:过期 instructions、冲突规则、缺失边界都可能导致 agent 漂移。
- verification bottleneck:如果任务不可验证,agent 可能显得流畅但不可依赖。
- 理解外包风险:用户可以外包产出,但不能外包理解;否则无法评估 agent 的结果。
相关
- Agentic-Engineering:Software 3.0 的工程组织形态。
- Harness-Engineering:让 agent run 更可靠的约束和工具层。
- AI-Self-Improvement-Lab:可把 Software 3.0 的原则用于 agent 自我改进实验。