AI是否导致前端“失去的十年”重演?
本文探讨AI对程序员工作的去技能化影响,类比前端开发在过去十年中因框架普及而经历的专业性下降,分析技术变革对劳动力市场和技能价值的冲击。
AI是否会导致前端“失去的十年”重演?Mauro Bieg于2026年5月23日AI对程序员工作的影响,对我们很多前端开发人员来说都很熟悉——因为它以前发生过。让我们首先通过去技能化的视角来看前端和代理编码的转变,然后通过更高层次的抽象来看这两个变化。
最后,我们将看看之前的变化,比如从Stack Overflow复制粘贴的出现,以及包豪斯运动如何应对日益增长的工业化。去技能化就像人工智能现在正在对编程进行去技能化一样,JavaScript框架在过去十年中也对前端开发进行了去技能化。
作为一个从HTML/CSS和一点PHP开始的人,后来用了Ruby on Rails,然后是瑞士一家主要报纸的前端团队负责人(当时是Next.js),我亲眼目睹了这种转变。而且不必相信我的话!我并不是第一个这么说的人。
Alex Russell称之为前端“失去的十年”。什么是去技能化?来自维基百科:去技能化是一个行业或经济体中,熟练劳动力因引入由半熟练或非熟练工人操作的技术而被淘汰的过程。这节省了成本[...]并降低了进入门槛,削弱了[工人]的议价能力。
让我们看看这如何应用于前端,然后应用于代理编码。
前端的去技能化很多程序员可能不知道这一点,但前端曾经是一项高度专业化的技能,需要了解语义HTML、CSS、各种浏览器的差异、可访问性、渐进增强、网络性能、界面设计和用户测试——仅举几例。
为了区分他们正在做的事情与已经变成的“前端”,如今这种神秘技艺的实践者经常将其称为“前端的前端”。前端的去技能化是引入了框架和其他工具,这些工具将浏览器视为纯粹的编译目标——就像任何其他应用运行时一样(例如JVM或iOS)。
然后,你只需加载Shadcn单选按钮这个庞然大物,而不需要了解底层的HTML、涉及不同浏览器的任何微妙之处、页面加载性能和可访问性。正如上面的维基百科引用所指出的,这为企业“节省了成本”,因为他们可以轻松地让任何通用程序员在前端工作。
不幸的是,通常“全栈开发人员”并不是深入了解前端和后端的人,而是一个通才,只知道足够多的知识来摆弄JavaScript框架同时完成这两件事。这使得企业可以轻松地在不同项目之间切换程序员。同一个通才甚至还可以用React Native和Electron开发原生应用!
完成维基百科的引用:这“降低了进入门槛”(这是我一直珍视的事情),但它也“削弱了工人的议价能力”。AI正在使编程去技能化目前程序员所经历的事情似乎与Web开发人员已经经历过的非常相似。手工编写代码的熟练工作正在“被由半熟练或非熟练工人操作的技术引入所淘汰”。
我们仍然不知道在这场转型结束时,与代理AI打交道的工人需要具备什么技能,以及我们将达到什么价格点——无论是对于劳动力还是本地和远程LLM。但现在已经很清楚,企业绝对会使用这项技术来节省成本并削弱工人的议价能力。
深深的失落感就像一个多世纪前被装配线工人取代的工匠一样,我们感到深深的失落感。我们为我们花了半辈子时间磨练的技能不再受到市场的重视而感到悲伤。我们对新流程导致工作质量下降感到难过,而且很多人似乎并不关心。
在更高的抽象层次上运行当然,看待“去技能化”的另一种方式是认为这只是使用自动化提高效率。哪个工程师不喜欢自动化呢?毕竟这是我们工作的重要组成部分!
在这个框架中,引入的新技术只是在更高的抽象层次上工作,允许操作它的人专注于更大的图景,而不必担心不重要的细节。但具体哪些细节被认为“不重要”是一个非常重要、有时甚至是主观的决定。最终,细节总是会泄露出来。
“现代”前端:一座漏洞百出的抽象塔抽象以性能为代价是很常见的。但由于现在的计算机速度非常快,我们通常愿意牺牲一些运行时性能来提高开发人员的生产力(垃圾收集就是一个例子)。对于中等负载下的高性能服务器来说,这是一个非常明智的权衡。
但网络速度较慢的手机则是另一回事。通过使用React等重型客户端JavaScript框架以及该生态系统中的许多包,你可以抽象掉低端手机或慢速网络上的可访问性和性能等内容。实际上,你选择不去想这些事情,你选择不关心它们。
代理编码:一种不确定的抽象通过使用代理AI来编码功能或修复错误,你可以在更高的抽象层次上描述更改,比手工编写所有代码写的单词更少。AI将通过查看其训练数据和周围上下文来填充你省略的细节——有时猜得很好,有时则不然。
你是否觉得这有用,在很大程度上取决于你对编码时什么重要的看法。但与以前的编程抽象相比,代理编码是一个非常泄漏的抽象。它不像编译器那样具有确定性,输入或模型的微小变化可能会产生非常不同的结果。这导致人们将AI与“初级工程师”进行比较,因为这些也不是确定性的。
但当然,一个区别是人们有能力学习,而不必无休止地调整他们的AGENTS.md或SKILL.md文件。LLM作为Stack Overflow复制粘贴的延伸因此,到目前为止,我发现的使用LLM的最佳类比是Google搜索过去的行为方式。
这是我们所有人在某个时候都必须学习的技能:选择正确的关键词,以便正确的论坛帖子(以及后来的Stack Overflow帖子)出现在第一个Google结果页面上。就像提示LLM一样,为了返回其训练数据的正确组合,模糊的网络搜索是在非常高维的空间中进行查找。
就像LLM一样,查找过去对措辞的细微变化和Google搜索索引的变化非常敏感。近年来,除其他外,Google改变了搜索方式,以更积极地规范化输入的术语。对于那些不精通Google-fu黑暗艺术的人来说,这使得搜索变得更容易使用。
但对于我们这些已经掌握了这项技能的人来说,这使得Google搜索的功能减弱了很多。专门的关键词曾经直接带我们找到答案。现在它们被规范化为同义词或密切相关的词,我们就进入了一个更通用的页面。但Google的出现,以及后来的Stack Overflow,不可逆转地改变了编程。
程序员现在不必阅读该死的手册,而是可以盲目地复制和粘贴Stack Overflow中的答案,而且令人惊讶的是,他们经常得到一些有效的东西。
从这个角度来看,LLM只是同一趋势的延续:工具和抽象使那些知道自己在做什么的人稍微快一点,并使那些不真正知道自己在做什么的人能够得出一些通常有效的东西。你知道吗?那是