AI无法取代软件工程师的真相
AI · TECH · EFFICIENCY
AI无法取代软件工程师的真相
科技动态 · 智能提效社
关于人工智能会抢走我们饭碗的忧虑,这两年几乎就没停过。与其被那些含糊其辞的警告搞得人心惶惶,不如找一个最直接的窗口来观察真相:软件工程行业。这里是人工智能能力发展的最前沿,技术普及速度快得惊人。如果AI真要大规模取代人类,这里应该最先看到迹象。
但现实情况恰恰相反。我们调查了大量关于人工智能导致软件工程师大规模裁员的新闻报道,发现这些故事往往只是表面文章。一个很典型的例子是金融科技公司Block。今年2月,它宣布裁员4000人,创始人杰克·多西公开说,这是因为人工智能带来了全新的工作方式,让团队可以变得更小。听起来很符合人们对AI的想象,但随访揭露了另一面:公司在疫情期间人员扩张了三倍多,正承受着巨大的财务压力。内部有数据科学家直言,AI带来的生产力提升极其有限,所谓的AI赋能更像是被硬塞给每个人的任务。她甚至拒绝了75%的留任加薪,选择离开。这背后,更像是一次借AI之名的成本削减。
类似的故事还有不少。Snap在今年4月裁员约1000人,CEO在备忘录里将主要原因指向了人工智能,还说公司65%的新代码都是AI生成的。但现实是,Snap上市以来年年亏损,股价大跌,面临来自激进投资者的巨大降本压力。更耐人寻味的是,这次裁掉的150个岗位集中在增强现实部门,而不是全公司范围内所有可能被AI影响的编程岗位。这种结构性的裁员,根本不是技术替代的典型模式。
如果说前两家公司是主动用AI来包装裁员,那么软件巨头Intuit的经历则提供了一个反向证据。今年5月,Intuit宣布裁员3000人,恰逢公司公布与几家头部AI公司的合作。媒体迅速将二者挂钩,描绘成一幅AI驱动的转型图景。但这一次,CEO亲自澄清,明确表示裁员与人工智能毫无关系,针对的是沟通成本高昂的冗余管理层。
我们并不是在刻意挑选反面案例。其实,在我们追踪的每一篇关于AI导致软件工程裁员的报道中,都发现了与表面叙事相悖的真相。用人工智能来粉饰裁员,已经成为一个普遍现象。一项调查显示,59%的美国招聘经理承认,在解释招聘冻结或裁员时,他们会刻意强调人工智能,因为相比于承认公司财务吃紧,这个说法对投资人和其他利益相关者好听得多。商业分析公司Forrester的首席分析师也透露,当问到那些宣称要进行AI裁员的公司是否已经准备好了成熟的技术来接替岗位时,十有八九答案是没有,他们甚至还没开始做。
更能说明问题的数据来自《哈佛商业评论》的一项全球高管调查。结果显示,21%的高管出于对人工智能的预期进行了大规模裁员,另有39%进行了轻中度的预期性裁员。而真正因为实际部署了人工智能而大规模裁员的,仅有可怜的2%。这高达十倍的差距,清晰地说明了一个问题:高管们和普通人一样,很容易被AI取代就业的叙事带偏,从而做出基于恐慌而非现实的决策。
一个更有力的证据来自美国的《工人调整和再培训通知法案》。2025年3月,纽约州要求企业在申报大规模裁员时,必须勾选是否与人工智能相关。在整整第一年里,160多家公司提交了通知,竟没有一家勾选人工智能选项。后来州劳工部证实,截至当年5月下旬,仅有一家咖啡胶囊公司勾选了该选项,涉及46名员工。在纽约州约25000名被裁工人中,受AI影响的比例仅为千分之二左右。这个数据几乎是对AI引发大规模裁员论调的致命一击。
退一步说,即使我们不看裁员这个片面指标,去观察整体就业趋势,结论也类似。美联储经济学家的一项研究汇集了全美数据,发现软件工程师的就业人数仍在增长。但相比于如果没有ChatGPT的假设情况,其年增长率确实放缓了大约3个百分点。不过,这项研究无法捕捉到自主创业的人群,而越来越多的证据表明,人工智能让创业变得更加容易,一部分放缓的招聘可能被创业热潮消化了。真实的行业图景可能比研究报告显示的更健康。
在深入探讨为什么工程师不会被取代之前,我们需要先承认,确实存在两种间接由AI引发的失业,但这和AI直接替代工程师是两码事。第一种情况,是AI彻底摧毁了对某种产品的市场需求。比如作业帮网站Chegg和技术问答社区Stack Overflow,它们都因为用户可以直接向ChatGPT提问而裁员。AI没有直接去做员工的工作,而是消灭了市场对他们工作的需求。这很像一百年前,电梯操作员是自动化浪潮中唯一彻底消失的职业,但更多职业,比如电报员,是因新技术变得无关紧要而消亡。
另一种看似AI裁员的故事,其实发生在那些兜售AI的公司身上。当IBM或SAP宣布因AI裁员时,更准确的说法是,它们将员工编制从传统部门重新分配到了增长最快的AI业务线。这不过是围绕新商业机会进行的常规企业重组,而非技术对劳动力的排挤。
那么,为什么软件工程师这个岗位本身不会被AI取代?许多科技公司高管喜欢炫耀AI编写的代码比例,这助长了一种简单粗暴的想法:一旦AI能写所有代码,程序员就失业了。但幸运的是,这种想法完全搞错了重点。编写代码从来就不是软件开发流程的瓶颈。早在2019年,一项针对微软6000名开发者的研究就发现,开发人员实际写代码的时间少得惊人,根据不同的研究,只占总时间的9%到61%。随着编程智能体普及,越来越多的技术博客指出,即使让AI承包绝大部分代码编写,对整体生产力的提升依然微乎其微。
如果写代码不是瓶颈,那什么才是?调查指向开会或调试等事务。这引出了更深层的问题:开发人员在那些会议上究竟在干什么?调试难道不会随着技术进步而自动化吗?要洞察真正的瓶颈,我们必须理解软件工程师自己眼中那些无法被自动化的工作。
深入分析后会发现,真正的瓶颈在于三件事:第一,决定并明确要开发什么;第二,验证并对交付的成果负责;第三,开展前两项工作所必需的、人类对代码库、业务逻辑和宏观环境的深刻洞察。我们可以把软件工程师的工作想象成一个决策-执行-交付的三明治。人工智能极大地压缩了中间的执行层,但上下两层基本纹丝不动。
在决策层,团队必须明确需求规范,这个过程耗时之长、权衡之复杂,远超想象。它需要通盘考虑用户需求、市场信号、内部优先级,甚至法律合规。强行压缩这一层,后续将带来无尽痛苦。AI的能力会提升,可以委派给它的决策类型会增加,但这并不会让决策层变薄。因为一旦某个决策可以交给AI,它就不再是核心竞争力,人类的决策价值会向更高维度迁移,这个过程没有上限。
在交付层,人类团队必须对最终成果承担全部责任。也许未来某天,团队会未经充分测试就直接上线关乎企业命脉的核心代码,但在今天,人工智能的不可靠性让这种行为无异于自杀。即使未来技术壁垒不再,我们也可以通过共同的规范、法律和政策,集体选择将最终责任保留在人类手中。这比试图遏制技术发展本身,是一种更可控、更具韧性的应对路径。在这种愿景下,软件工程师未来的角色,会有点像起重机操作员,AI承担认知重活,人类的核心工作是监督智能体,确保一切在掌控之中。
决策-执行-交付这个三明治被挤压,并不是AI带来的全新趋势。早在二十多年前,美国劳工统计局就已经将程序编写和软件工程分开统计。程序员更多只负责执行,而软件工程师则管理着更大的版图。这导致纯粹的编程岗位一直在萎缩,薪酬也更低。人工智能只是加速了这一早已存在的趋势,进一步贬低了纯粹技术性技能的价值。一篇名为《编写代码 vs. 交付代码》的最新论文,通过观察10万名开发者也证实了这一点:AI让编写的代码行数暴增八倍,几乎将执行层压缩到极致,但这仅带来30%的发布版本增加,有力地证明了在决策和交付层的人类瓶颈依然坚固。
很多人之所以对软件工程的变化程度感到混乱,是因为将两种截然不同的实践混为一谈。一种是真正意义上的氛围编程,用户向AI下达指令后不加监督,不审查代码,甚至不具备审查能力,除非程序崩溃,否则不评估结果。这与大多数工程师使用AI的方式天差地别。专业工程师将AI视为工具,始终掌握核心控制权,并对最终输出负责。业界正用智能体工程这个词来准确描述这种实践。
随着智能体工程成为常态,工程师们发现,监督AI智能体其实出人意料地耗费心力。有知名开发者记录说,由于要不断监督智能体,他在上午11点前就筋疲力尽了。一项记录了开发者与编程智能体交互的开源数据集显示,AI生成的代码只有44%最终被保留,通过氛围编程方式提交的代码,引入安全漏洞的概率是纯人工编写的九倍。而且用户最核心的诉求其实是理解现有代码,而非生成新代码。这些证据都指向一个坚如磐石的结论:企业绝不可能通过雇用毫无资质的氛围编程型码农来取代软件工程师,并指望他们交付商业级软件。
基于这个三明治模型,软件工程师的岗位不仅不会消失,市场需求甚至可能迎来一波激增。当技术带来生产力跃升,使得软件的生产成本变得更低廉时,人们会购买远比以前更多的软件。这是因为软件具有极高的价格弹性。而AI又不能直接取代工程师,因此对更多软件的渴求,最终会衍生出对更多软件工程师的需求。历史一直在沿着这个轨迹发展,美国的程序员就业人数已从1950年近乎为零,暴增至如今的数百万人。不同于农业,人类消耗的卡路里总量相对恒定,而我们生产的软件总量已经翻了百万倍。一辆现代化汽车的车载电脑里,运行的代码就高达上亿行。
如果人类对代码的需求存在天花板,那我们也还远远没摸到边。随着AI降低编程门槛,人们正源源不断地为工作或娱乐创造出各式各样的小工具,这在过去是成本上完全不划算的。不过,这并不意味着科技巨头会变得更庞大。事实上,今天绝大多数软件工程师任职于非软件类企业内部,并且这个比例未来可能进一步攀升。
一些预测认为,技术的平民化会让市场对专业软件工程技能的需求下滑。他们认为,未来懂法律的人写法律软件,会比懂软件工程的人写得更好。但我们对这种想法表示怀疑。它实际上跌入了同一个误区:把氛围编程等同于智能体工程,把单纯的执行层当作整个决策-执行-交付三明治。回顾编程史,从FORTRAN到SQL,每逢新技术诞生,总会有人高呼人人皆可编程的时代到来了,但这种期许从未真正实现。真正的门槛从来不是学习枯燥的语法,而是是否具备足够成熟的专业判断力,能在做出正确抉择的同时,承担起应有的责任。
归根结底,人类投入到引导计算机执行新任务上的时间只会越来越多。这可能需要软件开发技能、人工智能素养以及行业垂直领域知识的深度融合。至于今天的软件工程师是否能成为最适应这些新角色的人群,仍有待历史检验。但可以确定的是,正如软件工程经典著作《人月神话》的作者弗雷德·布鲁克斯在40年前那篇名篇《没有银弹》中所指出的,人工智能或任何其他技术,只能削减软件的次要复杂度,而无法攻克其本质复杂度——明确定义软件的正确运行逻辑这件极度烧脑的硬核工作。这个判断,在今天依然成立。
智能提效社 每天分享AI工具测评与效率提升干货 让AI成为你的效率引擎 关注我,每天一个AI干货 — AI · TECH · EFFICIENCY —