乐于分享
好东西不私藏

【GPT谈】AI Coding之后,软件开发会变成资本密集型产业吗?

【GPT谈】AI Coding之后,软件开发会变成资本密集型产业吗?

AI Coding之后,软件开发会变成资本密集型产业吗?

这几年,AI Coding发展得很快。

最开始,它更像是程序员手边的一种新工具:代码补全、生成函数、解释报错、搜索资料。程序员仍然是软件生产的主体,AI主要做的是提高程序员的劳动效率。

但现在情况正在发生变化。随着大模型和Agent的发展,AI已经不只是帮助程序员写某一段代码,而是开始能够理解较完整的任务,自主修改代码、运行测试、分析错误,再继续修改,甚至连续完成过去需要程序员亲自执行的一系列开发工作。

于是,一个比“AI会不会取代程序员”更值得讨论的问题出现了:

AI Coding改变的,究竟只是程序员的劳动效率,还是软件本身的生产方式?

如果过去软件企业扩大生产能力,主要依靠增加程序员;而未来扩大生产能力越来越依靠模型、算力、Agent和自动化系统,那么软件生产中生产资料与直接劳动之间的关系,就可能发生变化。

这也正是本文真正想讨论的问题。

从提高劳动效率,到承担生产职能

要理解这种变化,首先需要区分两种不同的情况。

如果AI只是让程序员写得更快,那么变化主要发生在劳动生产率上:程序员仍然直接完成软件生产,只不过使用了更好的工具。

但如果AI开始独立完成过去由程序员直接执行的编码、测试、调试等环节,那么事情就不再只是“劳动者使用了更好的工具”,而是生产资料开始承担部分原本属于直接劳动的生产职能。

这不是“AI替代了全部程序员”,而是过去由劳动者直接承担的一部分生产职能,开始被固定到机器化的生产资料中。

这其实是理解AI Coding最重要的转折点。

当然,这并不意味着软件工程中的全部复杂性都会消失。软件工程长期以来就不存在一种能够一次性解决所有问题的“银弹”。AI可以降低代码编写、测试和调试等工作的成本,却不能因此消灭现实中的业务规则、系统约束和不断变化的需求。

因此,AI能够写代码,并不能直接推出AI能够替代全部软件工程劳动。

商用软件工程示例

但反过来也一样:软件仍然复杂,并不能否认AI正在承担其中越来越多的具体生产职能。

真正需要观察的不是AI能不能消灭全部软件劳动,而是它究竟能够接管软件生产中的多少直接劳动。

当机器开始进入知识生产

从更长的历史尺度看,这种变化并不是完全陌生的。

工业化以来,机器化生产不断把原本由劳动者直接执行的一部分生产动作固定到生产资料中。机器并没有因此让劳动立刻消失,但它改变了劳动在生产过程中的位置:越来越多的生产能力不再只存在于劳动者的直接操作中,而是被固定在机器体系里。

过去这种变化主要发生在物质生产领域,而AI开始进入的是知识生产。

程序员过去需要自己阅读代码、理解需求、寻找问题、设计实现方案、编写测试,再根据运行结果不断修改。现在,其中一部分过程可以交给AI完成。

因此,AI的特殊之处并不是它第一次“替代劳动”,而是它开始进入过去主要由人的知识、经验和判断承担的劳动过程。

具身智能

同时也必须看到,AI本身并不是脱离劳动产生的。

GPU和数据中心需要劳动,模型研发需要劳动,数据处理需要劳动,算法、软件基础设施和训练流程同样都是过去劳动的成果。AI模型本身也凝结了大量此前已经发生的社会劳动。

发生变化的是,这些过去劳动形成的知识和生产能力,可以进一步沉淀为模型、数据、软件和基础设施,并在新的生产过程中反复发挥作用。

原本存在于劳动者个人技能中的一部分生产能力,开始越来越多地以机器化、系统化的形式存在。

因此,问题已经不再只是“程序员使用了什么工具”,而是:

软件生产中,究竟有多少生产职能由劳动者直接承担,又有多少开始由生产资料承担?

这也正是政治经济学能够介入这个问题的地方。

软件生产的资本有机构成正在发生变化吗?

马克思主义政治经济学讨论资本构成时,并不是简单地统计企业拥有多少机器、多少程序员,而是关注资本在生产过程中的不同构成。

预付资本中,用于购买生产资料的部分是不变资本,用 (c) 表示;用于购买劳动力的部分是可变资本,用 (v) 表示。资本有机构成,则涉及资本的技术构成和价值构成之间的关系,通常以 (c/v) 作为分析的形式。

简单来说,它所关注的是一个问题:

在生产过程中,资本越来越多地表现为生产资料,还是越来越多地表现为直接购买劳动力?

所有生产中的运作要素包含有形或无形都是生产要素

把这个问题放回软件行业,就会出现一个很有意思的变化。

传统软件生产扩大生产能力,很大程度上需要增加程序员。即使企业拥有服务器、开发工具等生产资料,真正完成软件设计、编码、测试和调试的主体仍然是劳动者。

而AI Coding进一步发展以后,扩大软件生产能力可能越来越依赖模型、算力、Agent和自动化系统。

如果过去一个开发任务需要程序员直接完成大量编码、测试和调试,而未来其中相当一部分可以由AI系统完成,那么生产资料在软件生产中承担的生产职能就在增加,而直接劳动所承担的职能则相对减少。

从这个意义上说,AI Coding正在使软件生产出现资本有机构成提高的趋势。

但这里有一个非常重要的限定:生产资料承担更多职能,并不意味着每一家软件企业都必须自己购买更多机器。

例如,一个小型软件公司完全可以通过API调用第三方模型。它可能没有GPU,没有数据中心,也没有自己的基础模型,但程序员的部分工作确实已经由模型承担。

所以,“使用AI”与“企业自身拥有更多固定资本”并不是一回事。

这意味着,软件生产的资本有机构成变化,不能简单理解为“每一家软件企业都变得更重资产”。更准确的理解是:

软件生产越来越依赖由机器化生产资料承担的生产职能。

至于这些生产资料究竟由软件企业自己掌握,还是由上游模型企业、云计算企业和基础设施企业提供,则是另一个问题。

也正因为如此,AI带来的变化可能呈现出一种特殊的产业结构:上游的模型训练、算力和数据中心高度资本密集,而下游的软件企业仍然可以保持相对轻资产。整个软件生产体系可能更加依赖资本密集型的上游生产资料,却不意味着每一家软件公司都变成传统意义上的资本密集型企业。

因此,与其现在就宣布“软件行业已经变成资本密集型产业”,不如说:

AI正在推动软件生产的资本有机构成提高,但这种变化在整个软件产业中究竟达到什么程度,仍然需要实践和历史发展来检验。

资本有机构成提高,程序员就会失业吗?

如果生产资料承担了更多原本由程序员完成的工作,那么一个自然的问题就是:程序员是不是就会越来越少?这里不能简单地从技术进步直接推出就业结果。

AI提高生产率以后,至少存在两种方向相反的力量。

一方面是劳动替代。

假设过去开发一个软件需要10名程序员,而AI使同样的软件只需要3名程序员,那么在需求不变的情况下,企业对直接劳动的需求确实会下降。

但另一方面,生产率提高也可能扩大软件需求。

如果开发软件的成本大幅下降,过去因为成本太高而无法开发的软件就可能进入市场;原本只有大企业承担得起的软件系统,也可能被更多中小企业使用;新的应用场景也可能出现。

假设原来市场上只有100个软件项目,因为开发成本下降,最终出现了1000个项目,那么即使每个项目所需要的程序员减少,整个软件产业仍然可能扩大。

因此:

单位软件产品所需要的劳动减少,并不等于软件产业所需要的劳动总量必然减少。

这里存在的是两种力量的共同作用:一方面,AI替代部分直接劳动;另一方面,生产率提高又可能降低软件成本、扩大软件需求。最终哪一种力量更强,不能仅仅从AI技术本身得出结论。

因此,比“AI会不会让程序员失业”更准确的问题是:

软件生产率增长的速度,与软件需求扩张的速度,究竟谁更快?

如果前者长期快于后者,那么软件劳动的相对需求就可能持续下降;如果后者足够强,新的软件需求又可能吸收相当一部分被释放出来的劳动。

所以目前可以作出的判断,不是“程序员必然失业”,而是一个更一般的判断:

软件产业可以继续增长,而软件就业未必以同样的速度增长。

这意味着,AI带来的影响可能首先表现为软件产出与直接劳动之间的脱钩,而不一定表现为软件产业整体规模立即下降。

即使就业总量不确定,劳动本身也会发生变化

就业总量的问题是一回事,劳动结构则是另一回事。

AI更容易承担那些能够被明确描述、标准化并反复验证的生产职能。过去需要程序员亲自完成的部分编码、测试和调试工作,可能逐渐转化为对AI生产过程的组织、监督和验证。

这并不意味着剩余劳动就一定更“高级”,也不能据此简单判断哪一种程序员会被保留下来。因为随着生产资料能力的提高,今天仍然需要劳动者承担的生产职能,未来同样可能被机器化。

因此,更值得关注的不是“程序员会不会全部消失”,而是:

劳动者在软件生产过程中的位置正在发生什么变化。

过去,程序员直接生产软件;未来,越来越多程序员可能是在组织、约束、验证和管理一个由人和AI共同构成的生产过程。这意味着AI改变的不只是劳动数量,也可能改变劳动本身的组织方式。

而这恰恰与前面的资本有机构成问题联系起来:如果越来越多生产职能被生产资料承担,那么直接劳动在整个生产过程中的相对地位也会发生变化。

生产资料越来越重要,那么由谁掌握?

到这里,还可以继续追问一个不同的问题。

资本有机构成讨论的是:

生产过程中越来越依赖什么?

而资本集中进一步追问的是:

这些越来越重要的生产资料掌握在谁手里?

这两个问题不能混为一谈,但前者的发展可能使后者变得更加重要。

如果未来的软件生产越来越依赖基础模型、算力、数据中心和各种自动化平台,那么能够掌握这些生产资料的企业,就可能在整个软件生产体系中占据更加重要的位置。

一个普通软件企业可以不拥有GPU、不训练自己的大模型,而是通过API和云服务使用这些生产资料。从企业自身来看,它仍然可能是一家轻资产的软件企业;但从整个社会的生产过程来看,它的生产能力已经越来越依赖上游高度集中的生产资料。

于是,一个新的产业结构可能逐渐形成:

少数企业掌握模型、算力和基础设施,更多企业通过这些平台获得软件生产能力。

这并不意味着这种集中已经形成,更不能直接推导出它未来一定会达到什么程度。开源模型、技术进步、市场竞争以及新的基础设施形态,都可能改变这种格局。

过去,一个大型软件企业扩大投资,很大程度上意味着招聘更多程序员,因此投资能够通过就业进一步带动住房、餐饮、商业服务等地方经济。

而如果扩大软件生产能力越来越依赖模型和算力,那么同样规模的投资未必带来同样规模的就业。一个数据中心可以拥有巨额资本投入,却不一定需要与同等规模的软件园区相同数量的劳动者。这意味着,资本沉淀的地方与劳动者聚集的地方,可能出现更明显的分离。

不过,这些是生产方式变化可能带来的社会后果,而不是判断软件生产是否出现资本有机构成提高的直接依据。

所以,软件开发真的会变成资本密集型产业吗?

现在可以回到文章最开始的问题。如果所谓“资本密集型产业”,指的是钢铁、石化、电力这类主要依靠巨额物质生产设备扩大生产能力的产业,那么我们还不能简单地说软件开发会变成这样的产业。

软件仍然具有很强的知识劳动属性,很多软件企业也完全可能通过调用第三方模型和云服务保持相对轻资产。

但如果真正的问题是:

软件生产是否越来越依赖机器化生产资料,并使生产资料相对于直接劳动所承担的生产职能不断提高?

那么答案就更加明确,AI Coding正在把过去由程序员直接承担的一部分编码、测试、调试以及其他生产职能,逐渐转移到模型、Agent、算力和自动化系统中。

因此,可以说:AI Coding正在推动软件生产的资本有机构成提高。

同样,劳动替代和需求扩张会同时发生,软件劳动本身也会重新组织,而这些力量最终如何作用,需要现实的发展来回答。

所以,更准确的结论应该是:

AI Coding可能正在推动软件生产从一种高度依赖直接知识劳动的生产方式,向一种更加依赖机器化生产资料的生产方式转变。

这种转变最终会达到什么程度,不能仅凭今天的技术能力提前宣布。

真正的问题可能已经不再只是程序员

如果把时间尺度再拉长一些,AI Coding真正值得关注的问题也许会变得更加清楚。

今天的AI模型、数据、软件和算力,本身都是大量过去社会劳动的成果。随着技术发展,越来越多知识、经验和生产能力可能被固定为新的生产资料。如果生产越来越依赖这些生产资料,那么它们的所有权和控制权也会越来越重要。

于是问题就从:AI能不能写代码?

变成:谁掌握这些新的生产资料?

再进一步:

当生产越来越社会化,而作为生产资料的知识、模型、算力和基础设施又越来越集中时,生产力的发展会怎样反过来影响生产关系?

这个问题,我们不能替历史提前作答。

但能够确定的是,AI正在改变软件生产的技术条件;能够从理论上分析的是,这种变化正在使软件生产中生产资料与直接劳动的关系发生改变;至于这种变化最终会把软件产业带向哪里,则仍然需要实践本身给出答案,而这或许才是AI Coding真正值得讨论的地方。