← 知识图谱 ← 返回学习站

软件 3.0

Software 3.0
Andrej Karpathy · 前 OpenAI / Tesla AI

Software is no longer just eating the world, increasingly it's eating itself. The 21st century has seen the relentless process of industries being digitized and disrupted by software-driven solutions. In a recent talk, Andrej Karpathy offers a compelling framework for how this evolution can be conceptualized in three distinct stages: Software 1.0, Software 2.0, and the nascent Software 3.0. This progression marks a fundamental shift from programming with explicit instructions to programming by specifying desired outcomes, a trajectory that is redefining what it means to create and what it means to be a developer.

软件不再只是"吞噬世界",它正越来越多地"吞噬自己"。21 世纪见证了各行各业被软件驱动的方案持续数字化、被颠覆的过程。在最近的一次演讲中,Andrej Karpathy 提供了一个引人注目的框架,把这种演变概念化为三个清晰的阶段:软件 1.0、软件 2.0,以及初露锋芒的软件 3.0。这一进程标志着从"用显式指令编程"到"通过描述期望结果来编程"的根本性转变——这条轨迹正在重新定义"创造"意味着什么,"做一名开发者"又意味着什么。

💡 AI 解读:开篇点题。"Software is eating itself"(软件正在吞噬软件本身)是全文的核心隐喻——从 Marc Andreessen 名言"软件吞噬世界"延伸而来。Karpathy 借此暗示:软件开发工具越来越自动化,最终工具会自己编写工具。把握住"三层递进 + 自我吞噬"这条主线,就抓住了整篇文章的骨架。

软件 1.0 / Software 1.0

Software 1.0 is the traditional world of programming. Human engineers write explicit instructions in code—algorithms, data structures, and logic painstakingly crafted to meet requirements. Every behavior is designed, debugged, and maintained by people. This approach, while the powerhouse of the modern world, is limited by the complexity that humans can manage and the speed at which they can operate.

软件 1.0 是传统的编程世界。人类工程师在代码中写下显式的指令——算法、数据结构、逻辑,都是为了满足需求而精心雕琢出来的。每一种行为都由人来设计、调试和维护。这种做法虽然是驱动现代世界的主力,但它受到"人所能驾驭的复杂度"和"人所能运作的速度"的限制。

Characteristics / 特征

Despite its limitations, Software 1.0 underpins the vast majority of today's digital infrastructure.

尽管有这些局限,软件 1.0 仍然是当今绝大多数数字基础设施的根基。

💡 AI 解读:软件 1.0 = "告诉计算机怎么做"。每一条规则、每一个分支,都是程序员亲手写死的。好处是确定性、可解释——出 bug 你能逐行追踪;坏处是规模天花板很低,因为人脑能同时管理的细节有限。今天你用的银行系统、操作系统内核,依然是 1.0 的天下。

Even in Software 1.0, we see the first signs of software consuming itself:

即便在软件 1.0 时代,我们已经能看到软件"吞噬自身"的最初迹象:

[Claude 4 Sonnet]

软件 2.0 / Software 2.0

Software 2.0 marks a paradigm shift. Instead of hand-writing rules, developers specify objectives and provide data. The rules—often in the form of neural network weights—are learned by the computer. This is the era of machine learning, where algorithms like deep learning find patterns and solutions inaccessible to human-crafted code.

软件 2.0 标志着一次范式转移。开发者不再手写规则,而是指定目标并提供数据。规则——通常以神经网络权重的形式——由计算机自己学出来。这就是机器学习的时代,深度学习这类算法能找到人类手写代码所触及不到的模式和解法。

Characteristics / 特征

💡 AI 解读:软件 2.0 = "给计算机看例子"。程序员不再写"如果像素这样排列就是猫",而是喂一万张猫的图片,让网络自己调权重。关键变量从"人力"换成了"数据 + 算力"——这就是为什么 GPU 公司和数据标注产业会爆发。代价是逻辑变成"黑箱",可解释性大幅下降。

Software 2.0 enables breakthroughs in fields like vision, language, and robotics. But it also introduces meta-software: instead of writing the solution, engineers write the software that creates the solution. This is software eating software—the first layer of recursion.

软件 2.0 在视觉、语言、机器人等领域带来了突破。但它也引入了"元软件":工程师不再写解法本身,而是写"用来生成解法的软件"。这就是软件吞噬软件——递归的第一层。

[Claude 4 Sonnet]

This transition represents the first major "eating" event:

这次转变代表了第一次重大的"吞噬"事件:

What Gets Consumed / 被吞噬的对象

The Transformation Process / 转变过程

💡 AI 解读:注意这条流水线——它就是今天所有 AI 项目的标准模板。从"找问题 → 收数据 → 设计网络 → 训练 → 上线",每一步都是"软件吃掉上一层软件"的具体动作。比如传统 CV 里手写的边缘检测算子,被 CNN 自动学到的卷积核吃掉了;传统 NLP 里的语法规则表,被 Transformer 的注意力机制吃掉了。

软件 3.0 / Software 3.0

Software 3.0 is the latest and perhaps most radical evolution. Here, large language models (LLMs) and generative AI can produce code, design new models, and even orchestrate entire systems with minimal human intervention. The boundary between code, data, and intention blurs. The software that writes software can now write itself or create new, unforeseen forms of software.

软件 3.0 是最新的、或许也是最激进的演变。在这一阶段,大语言模型(LLM)和生成式 AI 可以编写代码、设计新模型,甚至能在极少人工干预的情况下编排整套系统。代码、数据与意图之间的边界变得模糊。"编写软件的软件"现在可以编写自身,或创造出全新的、此前无法预见的软件形态。

Characteristics / 特征

💡 AI 解读:软件 3.0 = "告诉计算机想要什么"。你只需用自然语言描述意图,LLM 直接生成代码、调用工具、搭出系统。三个范式可以浓缩成一句口诀:1.0 教"怎么做",2.0 给"看例子",3.0 说"我想要"。人的角色从"写代码的人"变成"提需求 + 把关的人"——这也是"prompt engineer / AI 协作者"这类新岗位兴起的原因。

With Software 3.0, we witness software eating the software that eats software. LLMs can generate training data, architect new learning algorithms, and recursively improve both themselves and the systems they build. The feedback loop accelerates, and the locus of creativity shifts from explicit design to collaborative emergence.

在软件 3.0 中,我们见证的是"软件吞噬那个吞噬软件的软件"。LLM 能够生成训练数据、设计新的学习算法,并递归地改进自身以及它们所构建的系统。反馈闭环在加速,创造力的重心从"显式设计"转向"协作式涌现"。

[Claude 4 Sonnet]

The most recent "eating" event is already underway:

最近一次"吞噬"事件已经在发生:

What's Being Consumed / 正在被吞噬的对象

💡 AI 解读:注意"少样本/零样本学习"这一条——它正是软件 3.0 的杀手锏。过去训练一个客服模型要几万条标注,现在一个基础大模型 + 几个例子就能干活。这意味着 2.0 时代最贵的"数据标注"成本正在被 3.0 吃掉。而"神经架构搜索 + 自动 MLOps"则意味着连"设计模型"和"运维模型"这两件事,也开始交给 AI 自己做了。

三层协同:一个客服系统的实例

To illustrate how Software 1.0, 2.0, and 3.0 approaches work together in practice, let's examine a contemporary AI-powered customer service platform—a representative example of how modern AI products are architected.

为了说明软件 1.0、2.0、3.0 三种方法在实践中如何协同,我们来看一个当代的 AI 客服平台——它是现代 AI 产品架构方式的典型样本。

Consider a sophisticated customer service system that can handle complex inquiries across multiple channels. This system demonstrates the strategic deployment of all three software paradigms:

设想一套能在多个渠道处理复杂咨询的精密客服系统。这套系统展示了对三种软件范式的战略性部署:

Software 1.0 Layer: The Reliable Foundation
软件 1.0 层:可靠的根基

🔧 Traditional Components:

🔧 传统组件:

Software 2.0 Layer: The Intelligence Engine
软件 2.0 层:智能引擎

🧠 Learned Components:

🧠 学习型组件:

Software 3.0 Layer: The Adaptive Interface
软件 3.0 层:自适应界面

🚀 Generative Components:

🚀 生成式组件:

💡 AI 解读:这是全文最有实操价值的部分——真正的生产级 AI 系统从来不是"纯 3.0",而是三层并存、各司其职:1.0 管钱和数据(绝不能出错)、2.0 管"理解"(分类、检索)、3.0 管"创造"(写回复、生成代码)。判断一个功能该放哪一层的简单原则:出错代价越高 → 越往下放(靠 1.0 的确定性)。

The magic happens in how these layers interact:

真正的魔力在于这三层如何互动:

Customer Contact / 客户触达

Customer Contact: A user messages "I'm really frustrated! My order was supposed to arrive yesterday for my daughter's birthday party today, and it's still not here!"

客户触达:一位用户发来消息——"我真的快崩溃了!我的订单昨天就该到了,今天是我女儿的生日派对,结果到现在还没送达!"

Software 1.0 handles the infrastructure:

软件 1.0 处理基础设施:

Software 2.0 provides intelligence:

软件 2.0 提供智能:

Software 3.0 generates the response:

软件 3.0 生成回复:

This hybrid approach provides several advantages:

这种混合方式带来几项优势:

递归吞噬的深远影响

This recursive "software eating software eating software" dynamic has profound implications:

这种"软件吞噬那个吞噬软件的软件"的递归动态,有着深远的影响:

💡 AI 解读:这四点是文章的"风险与机遇清单"。最值得警惕的是"不透明与风险"——每往上抽象一层,你就离底层真相更远一层。当 3.0 的 LLM 自己写代码、自己调超参时,出了问题人类可能根本看不懂为什么。所以"人类沿栈上移"既是解放(不用写样板代码)也是危机(一旦失察,灾难是系统级的)。这就是为什么"AI 对齐 / 监督"会成为未来十年最热门的研究方向。
[Gemini 2.5 Pro]

This progression from 1.0 to 3.0 represents a relentless climb up the ladder of abstraction. We moved from telling the machine how to do something (Software 1.0), to showing it what to do through examples (Software 2.0), to now simply telling it what we want (Software 3.0). Each stage subsumes the previous one. A Software 3.0 system (an LLM) can generate Software 1.0 code or even the configuration for a Software 2.0 model. This is software eating software, a recursive loop where the tools of creation are themselves being created by the tools. The ultimate challenge will be to manage, verify, and steer these increasingly autonomous systems, ensuring that the software they write aligns with human intent and values, even as the process of its creation becomes ever more abstract.

从 1.0 到 3.0 的这一进程,代表着沿"抽象之梯"的无情攀升。我们从"告诉机器怎么做"(软件 1.0),走到"用例子给它看做什么"(软件 2.0),再到如今"直接告诉它我们想要什么"(软件 3.0)。每一阶段都把前一阶段囊括其中。一个软件 3.0 系统(一个 LLM)可以生成软件 1.0 的代码,甚至能为软件 2.0 的模型生成配置。这就是软件吞噬软件——一个递归闭环,创造工具本身正在被工具所创造。最终的挑战将在于:管理、验证并引导这些日益自主的系统,确保它们所写的软件与人类的意图和价值观相一致——哪怕其创造过程已变得愈发抽象。

💡 AI 解读:这一段是全文的思想高潮,把三个范式收束成一个递归闭环:3.0 ⊃ 2.0 ⊃ 1.0。一个 LLM 既能写传统代码(1.0),也能生成训练配置(2.0)。这意味着高层的范式不会"消灭"低层,而是包裹并自动化低层。所以未来程序员不会失业,但工作内容会从"写代码"彻底转向"定义目标 + 验证结果 + 守护价值观"——这三件事恰恰是 AI 最难替代人类的地方。
[Claude 4 Sonnet]

Karpathy's framework reveals that we're not just witnessing technological progress—we're observing a fundamental phase transition in the nature of computation itself. Software isn't just eating the world; it's recursively consuming and transforming itself in an accelerating spiral of abstraction and capability.

Karpathy 的框架揭示出:我们见证的不仅是技术进步——我们正在观察计算本质本身的一场根本性相变。软件不只是吞噬世界;它正在一个不断加速的"抽象与能力"螺旋中,递归地吞噬并重塑自身。

The pattern is clear: each generation of software makes the previous generation's complexity invisible while enabling entirely new classes of problems to be solved. We're living through the transition from Software 2.0 to 3.0, and the implications extend far beyond technology into the very fabric of how we work, create, and understand our world.

规律很清晰:每一代软件都让上一代的复杂性变得"不可见",同时又使全新一类问题变得可解。我们正身处从软件 2.0 到 3.0 的过渡之中,其影响远远超出技术范畴,深入到我们工作、创造和理解世界的肌理本身。

As we navigate this transition, the key insight from Karpathy's framework is that fighting these changes is futile—the eating will continue. Instead, we must learn to ride the wave, understanding each paradigm's strengths and limitations while preparing for the next inevitable transformation.

在我们穿越这场转变时,Karpathy 框架给出的关键洞见是:对抗这些变化是徒劳的——吞噬还会继续。相反,我们必须学会驾驭这股浪潮,理解每一种范式的长处与局限,同时为下一次不可避免的转变做好准备。

The future belongs to those who can dance between paradigms, leveraging the power of each generation while remaining adaptable enough to evolve with the next wave of software eating software eating software.

未来属于那些能在范式之间起舞的人——既能调用每一代软件的力量,又保持足够的适应性,去跟随下一波"软件吞噬那个吞噬软件的软件"的浪潮一同演化。

💡 AI 解读:"dance between paradigms"(在范式间起舞)是全文送给读者的行动指南。结论不是"学哪个范式最好",而是三者都要会,并且要会切换。今天的工程师画像正在变成:能用 1.0 写好确定性核心、能用 2.0 训练模型、能用 3.0 编排系统,还能判断某个具体问题该归到哪一层。这种"跨范式判断力"将是未来十年最稀缺的技能。

Editor's note: This article represents a curated conversation between models responding to identical prompts that attempts to preserve the strengths of each while still reading coherently. Software 3.0 is eating the layers below it, but as editors, creators and developers we are eating it as well.

编者按:本文呈现的是多个模型对相同提示的回应经编辑整合而成的一次"策展式对话",旨在保留各自的优点同时保持整体可读。软件 3.0 正在吞噬它下面的各层,但作为编辑、创作者与开发者的我们,同样也在"吞噬"它。

原文链接 / Source: https://karpathy.bearblog.dev/software-30/