人工智能编程正在推动软件开发进入一个工业化时代,其核心特征是能够更快速、低成本地生产软件,且不依赖于人类的专业技能。这一转变类似于农业或印刷业的工业化,很可能导致大量一次性、低质量的“可丢弃软件”泛滥。虽然这会加速创新和产出,但也带来了巨大的生态挑战,特别是如何管理和维护这个日益庞大、自动化的软件系统,以及随之产生的“技术债务”问题。
从手艺到工业化
在过去,软件开发更像是一门手艺:成本高、速度慢,并且高度依赖开发人员的技能和经验。而人工智能编程正在改变这一切,它开辟了更便宜、更快速的生产路径,并逐渐摆脱了对人类专业知识的依赖。
随着软件生产的自动化程度越来越高,我们正在进入一个软件的工业革命时代。
“可丢弃软件”的诞生
任何领域的工业化,其目的都是通过自动化来减少对人力的依赖,从而降低成本、扩大生产规模。这一过程的直接影响是颠覆了高质量产品的供应链,降低了行业门槛,加剧了竞争。
然而,工业化还有一个次生效应:它使得大规模生产低质量、低成本的产品成为可能。
- 工业化印刷 催生了廉价的通俗小说。
- 工业化农业 催生了超加工垃圾食品。
- 数字图像传感器 催生了海量的用户自制视频。
在软件领域,生产的工业化正在催生一类新的产品,我们可以称之为 可丢弃软件 (disposable software)。这类软件被创造出来时,就没有人指望会去长期拥有、维护或理解它。
为什么低质量产品会泛滥?
你可能会认为这种趋势只是昙花一现,但这并不明智。经济学中的 杰文斯悖论 (Jevons paradox) 可以解释为什么会这样。这个理论指出,某种资源(如煤炭)的使用效率提高后,其成本会降低,从而刺激更高的需求,最终导致总消耗量反而增加。
我们正在软件开发中看到同样的效应:开发成本的降低正在驱动更高的软件消费和产出。
工业化体系总是会创造出一种趋向于过剩、低质量商品的经济压力。这并非因为生产者粗心大意,而是因为一旦生产成本足够低,能实现销量、利润和覆盖面最大化的,恰恰是“垃圾产品”。
就像工业化农业没有消除饥饿,反而在富裕国家造成了肥胖危机一样,软件工业化带来的可能不是最好的软件产品的极大丰富,而是最易于消费的软件产品的过度生产。
传统软件能存活吗?
当然,超加工食品并非市场上唯一的选择,人们对健康、可持续食品的需求也在增长。那么,软件领域是否也会出现一场“有机软件”运动来抵制机械化生产呢?
答案是肯定的。即使在工业化程度最高的领域,小规模、人工主导的生产依然有其一席之地。例如,尽管快时尚主导了服装业,但手工制作的衣服(如定制西装或手织围巾)仍然存在,以满足定制、彰显身份或享受手艺乐趣等需求。
因此,人类编写的软件可能会被限制在类似高级时装或手工艺品的 niche 市场。
然而,软件与实体产品不同。软件的进步不仅包括工业化(更高效地复制现有事物),还包括创新(发现并解决新问题,创造前所未有的能力)。
工业化为创新提供了基础,而创新反过来又为下一轮工业化提供了新的对象。这两种力量的相互作用,就是我们所说的进步。
进步的无限循环与新挑战
大型语言模型是软件领域的“蒸汽机时刻”,它极大地降低了一类工作的成本,从而释放了惊人的生产力。
我们正在进入一场软件的工业革命,但这更像是一次巨大的加速,而非断裂。工业化不会取代技术进步,而是会加快新思想的吸收和新能力的商品化。反过来,创新的成本也下降得更快,进步的齿轮以前所未有的速度旋转。
**技术债务**是数字世界的污染,在它扼杀所依赖的系统之前,它通常是无形的。
因此,未来的关键问题不再是生产,而是管理和维护。在一个大规模自动化的时代,最困难的问题可能是:
谁来维护那些无人认领的软件?