第一时间捕获有价值的信号
本文译自 The rise of industrial software。这篇文章深刻探讨了 AI 编程如何带来软件生产的工业革命——从手工艺制造转向大规模生产,并分析了这一转变对软件行业的深远影响,包括一次性软件的兴起和杰文斯悖论的再现。
工业软件的兴起
在其历史的大部分时间里,软件一直更接近手工艺而非制造:昂贵、缓慢,并且由对技能和经验的需求主导。AI 编程正在改变这一点,通过提供更便宜、更快且越来越与人类专业知识脱节的生产路径。
我之前曾写过关于 AI 编程如何成为当今从业者的陷阱,提供通往不完整解决方案的捷径,代价是可持续开发实践所需的理解。但是,当我们集体解决当前工具集的缺点时,很明显我们正在进入一个软件生产日益自动化的世界。
当软件的生产经历一场_工业革命_时,软件会发生什么?
软件作为一次性商品
传统上,软件生产一直很昂贵,费用主要由高技能和专业化劳动力的劳动力成本驱动。这种劳动力也构成了可能的生产规模的瓶颈,使软件成为有效生产的有价值商品。
任何领域的生产工业化都试图同时解决这两个限制,通过使用流程自动化来减少对人力劳动的依赖,既降低成本,又允许更大的生产规模和弹性。这种变化将人类角色降级为监督、质量控制和工业流程的优化。
这种变化的一阶效应是高质量、可用产品供应链的颠覆。劳动力被脱媒,进入门槛降低,竞争加剧,变化率加速。所有这些效应今天都开始显现,传统软件行业正在努力应对这些后果。
这种工业化的二阶效应是启用以大规模生产低质量、低成本产品的额外方式。其他领域的例子包括:
- 印刷流程的工业化导致了平装类型小说
- 农业的工业化导致了超加工垃圾食品
- 数字图像传感器的工业化导致了用户生成视频
就软件而言,生产的工业化正在产生一类新的软件制品,我们可以称之为_一次性软件_:在没有持久的所有权、维护或长期理解期望的情况下创建的软件。
倡导者可能将其称为_氛围编码软件_,而怀疑者总是会谈论_AI 垃圾_。无论其优点如何,很明显这类软件的经济学完全不同,因为每个软件输出由于其易于可重复性而具有更少的经济价值。这种缺乏感知价值可能会诱使你将这一趋势视为一时的风尚,但这将是不明智的。要理解为什么,我们需要考虑以前稀缺商品商品化的历史先例。
杰文斯悖论与垃圾的成瘾性
杰文斯悖论是一个最近被广泛引用的古老经济理论。这一观察可以追溯到 19 世纪,指出煤炭消耗效率的提高将导致成本降低,推动更高的需求,并最终导致总体煤炭消耗更高。
这在今天是相关的,因为我们看到 AI 计算需求同样激增:随着模型在 Token 预测方面变得更高效,需求正在激增并导致更大的消耗。同样的效应会波及软件开发本身吗?更低的努力成本推动更高的消耗和产出?历史表明会这样。
考虑农业的工业化。在 20 世纪初,科学进步预计将消除饥饿并迎来丰富、营养食品的时代。相反,饥饿和饥荒持续存在。2025 年,即使在农业过剩的国家,也有 3.18 亿人经历严重饥饿。与此同时,在最富裕的国家,工业食品系统产生了不同种类的丰富:美国的成人肥胖率为 40%,并且糖尿病危机正在加剧。超加工食品被广泛认为是有害的,但绝大多数美国人每天都在食用它们。
工业系统可靠地创造了向过度、低质量商品的经济压力。这不是因为生产者粗心,而是因为一旦生产足够便宜,垃圾就是最大化销量、利润和覆盖范围的东西。结果不是最好东西的丰富,而是最易消耗东西的过度生产。而且我们确实在消费它们。
我们对 AI 垃圾的胃口可能同样无法满足。我们迄今为止看到的采用曲线与一次性软件生产真正成为主流时发生的情况相比可能相形见绌。如果软件的民主化反映了智能手机启用的无处不在的照片、视频和音频捕获的影响,我们可能会看到用户生成的软件以社交媒体规模创建、共享和丢弃。如果发生这种情况,新颖性和奖励的反馈循环将推动软件输出的爆炸式增长,使过去半个世纪的开发看起来相比之下显得古朴。
传统软件会存活吗?
当然,超加工食品不是镇上唯一的游戏。主要是为了应对工业化的有害影响,对健康、可持续食品生产的需求正在蓬勃发展。软件是否也可能通过”有机软件”运动的发展来抵制机械化?如果我们看看其他行业,我们会看到,即使是工业化程度最高的行业,作为产出光谱的一部分,也仍然受益于小规模、人类主导的生产。
例如,在工业化之前,服装主要由专业工匠生产,通常通过行会和体力劳动协调,资源在当地收集,创造耐用织物的专业知识积累了多年,并经常在家庭中传承。工业化完全改变了这一点,原材料被洲际运输,织物在工厂大规模生产,服装由机器组装,所有这些都导致了当今快速、一次性、剥削性时尚的世界。然而手工服装仍然存在:从定制西装到针织围巾,小规模、缓慢生产纺织品仍然有一席之地,原因从定制合身、财富信号、产品耐用性,到作为消遣享受工艺本身。
那么,人类编写的软件可能会被限制在模仿高级时装或手工针织品的利基市场吗?如果软件是实物产品,其中工业化可能导致可重用组件的大规模生产,情况可能就是这样。但软件是一种无形商品,与其他工业化领域不同,它具有组件重用的悠久历史,这是商品本身性质所固有的。创新不仅限于像服装那样更好或更便宜的现有产品版本,还包括解决方案空间的增长,更类似于蒸汽机如何启用可重用机器部件、启用生产线、启用汽车等。
因此,软件开发历史上的技术进步机制不仅是工业化,还有创新。研究和开发很昂贵,但提供了随着时间推移获得更大价值的唯一途径。
创新与工业化根本不同,因为它不专注于更有效地复制今天已经存在的东西。相反,它通过发现和解决新问题、在之前的基础上构建以及交付以前不可能存在的能力来前进。工业化_然后_介入并提供规模和商品化,为下一轮创新可以构建的基础提供基础。这两种力量的相互作用就是我们称之为_进步_的东西。
进步的无尽循环
大型语言模型是软件的蒸汽机时刻。它们崩溃了以前完全依赖稀缺人力劳动的一类工作的成本,并在这样做时解锁了产出的非凡加速。
但请记住,蒸汽机不是凭空出现的。风车和水车在涡轮机之前几个世纪就存在了。机械化不是从煤炭和钢铁开始的;它只是达到了一个拐点,在那里自动化、规模和资本一致以推动经济转型。同样,软件长期以来一直在工业化:通过可重用组件(开源代码)、可移植性(容器化、云)、民主化(低代码/无代码工具)、互操作性(API 标准、包管理器)以及许多其他方式。
因此,我们正在进入软件的工业革命,不是作为破裂的时刻,而是作为巨大加速的时刻。工业化不会取代技术进步,但它将大大加速新思想的吸收和新能力的商品化。反过来,创新更快地解锁,因为在新技术之上构建的成本下降得更快。进步的循环继续,但在大规模自动化时代,轮子比以往任何时候都旋转得更快。
那么,开放的问题不是工业软件是否会主导,而是那种主导对周围生态系统做了什么。以前的工业革命将它们的成本外部化到看起来无限直到不再无限的环境上。软件生态系统没有什么不同:依赖链、维护负担、随着产出规模扩大而复合的安全面。技术债务是数字世界的污染,在它窒息依赖它的系统之前是不可见的。在大规模自动化时代,我们可能会发现最困难的问题不是生产,而是管理。谁维护没有人拥有的软件?