AI正在移除软件工程的中产阶级
摘要
观点文章认为,AI智能体移除了代码变更的速度限制,导致工程文化薄弱的团队积累难以管理的技术债务,使资深工程师的工作变成大规模审查AI生成的PR。
暂无内容
查看缓存全文
缓存时间: 2026/08/12 14:20
# AI 正在消灭软件工程的中产阶级
来源:https://blog.florianherrengt.com/ai-removing-middle-class-software-engineering.html
现在是2020年。你是团队里最资深的人,负责代码质量和架构。你建立了良好的工程实践,仔细审查那些经验不如你的人提交的PR,并努力维护一个健康的代码库。
然后某个时候,你去度假了。等你回来的时候,代码库已经一团糟。大家没怎么认真看就互相合并了彼此的PR,有人往数据库里加了一堆新表来做反规范化,因为这样更省事,还有人往技术栈里加了serverless或Kafka,却没有任何确凿的证据表明他们需要这些。
没关系。你能修好。
快进到2026年。你并没有在度假。这只是普通的一个周一早晨。你给自己冲了一杯好咖啡,打开电脑,发现手头有7个PR要审。你打开第一个:`+24506 -3938`行代码,附带着一段AI生成的描述,说明这些代码应该是干什么的。不知怎的,你的团队从周五到现在做的改动,比你以前离开几周时做的还多。
## AI 拆掉了限速器
AI 让工程文化薄弱的项目失败得更快。
曾经有一段时间,人们会坐下来讨论他们要怎么做某件事。现在他们只需要让一个 agent 跑上几个小时,然后直接开一个PR。
这种工作方式最可悲的地方在于,在外行人眼里,它是有效的。
如果你拉下分支测一下,你大概会得到某种勉强能用的东西。所以他们怎么做?他们继续往下干。一次又一次。直到项目达到一个没有人知道任何东西是怎么运作的状态。
就像有人用信用卡买了一辆新的豪华车。你看不到债务。你只看到一辆看起来很漂亮的车。
但后来用户开始报告一个奇怪的bug。这已经是你们团队第四次试图修复它了。我的意思是……让AI来修复它。不幸的是,似乎连 Fable 也搞不定。
你去找写这个功能的人聊。
- "那这个数据是从哪来的?"
- "嗯……其实我也不知道。让我问问 Claude。"
你们并排坐着,看着屏幕上无尽翻滚的文字墙。你们俩都不知道其中有没有任何一句是真的,但 Claude 看起来非常自信。
"要不我们打开 ultracode,让它再仔细检查一遍?"
这个要花一阵子。你们开始聊起 X 上最新的八卦。
你终于得到了回复。
- "你觉得这说得通吗?"
- "我不确定。"
- "这不是你……上周刚做的吗?"
沉默。
这个项目已经变得如此错综复杂,有这么多层次和服务,你们团队里没有任何人可能开始理解到底发生了什么。
那么,你怎么办?
修复它需要的工作量如此巨大,以至于你根本不可能向管理层任何人开口证明这件事值得做。
而且你到底在想什么?反正几个月后它又会变成同样的状态。
- "我们让 Claude 来修吧。"
- "行。我会建一个循环和目标,让它不检查完所有东西都正常就不会停下来。"
- "听起来可以。"
- "其实,我今天 Fable 的用量已经用完了,所以我明天跑。"
你又去倒了杯咖啡,走回电脑前。你现在还有13个PR要审。你看到一些不太理解的东西,于是给写这段代码的人发消息。
- "我们为什么在这里做这个?"
他们给你发了一个链接。是一个 Claude 的对话记录。
在那段对话的某个地方,埋在 Claude 自信地推荐一种架构、道歉、改变主意、你的同事让它再重新考虑一下,然后又来回改了15轮之间,显然就是这个代码背后的设计决策。
- "我应该读哪部分?"
- "大概全部吧。"
听起来熟悉吗?
每当我聊到这个话题,总会有人最终告诉我,反正从来没有人完全理解过大型系统。这是事实。
从来没有人期望你理解每一个服务和每一个数据库。但至少有人理解,并且会解释给你听。
现在他们去问LLM,因为他们自己其实也不知道。
## 你再也雇不起烂工程师了
在每个团队里,都有一些有能力的人让项目成为可能。也有一些人在本质上让其他所有人的工作变得更难。而现在,任何人在一天之内产出的代码量,比他们过去一年产出的还多。
在上面的故事里,每个人都在失败:
- 开出2.5万行PR的工程师,应该早在agent搞到那个规模之前就拦住它。他们应该理解它在做什么,把工作拆成更小的部分,并质疑它引入的每一个新抽象。
- 审查那个PR的人,应该拒绝审查那么大的东西,而不是屈服。
- 加Kafka的人,应该能够准确解释为什么需要它。
- 做了那个功能的人,应该能够在解释数据从哪来的时候,而不是甩一个 Claude 对话记录的链接。
但问题出在哪呢?直接用AI修不就行了。嗯,没那么简单……
在有人跳出来之前先说明,这一切都不意味着技术债总是坏的。重要的是你知道那是一条捷径。
总之,回退一个糟糕的决定很难。非常难。
比如说,让一个LLM往数据库里加一堆表和列要花多长时间?10分钟?
但一旦你开始往那里存数据,你就不能直接把那些表删掉。你得想出一个迁移方案,确保不会中断系统,因为人们每天都在付费使用它。你得考虑迁移失败时该怎么办。确保最终不会留下孤儿外键。修复起来就是难太多了。即使你用的是能拿到的最好的模型。
而你在修复的时候,更多PR还在不断进来。更多代码,更多抽象,更多决策。一个人可以在一个下午生成2万行代码,但你仍然得坐在那里,搞清楚那些代码到底在干什么。
等你理清一个糟糕的决策,又有五个已经合并进去了。
## 新的AI经济
当然,烂工程师从来都是负担。
几十年来一直如此,早在 OpenAI 或 Anthropic 存在之前就是。糟糕的决策不断叠加,不必要的复杂性不断累积,最终团队只能维护着没有人真正理解的系统。
区别在于,过去你的速度是有上限的。
今天,实现很便宜。你拿着薪水是因为你能做出好的决策。是在管理复杂性的同时构建能够扩展的软件。
先问问自己,为什么公司要花六位数的薪水在伦敦或旧金山雇工程师?
如果他们需要的只是能把规格说明变成可用代码的人,那既然别处已经可以便宜地搞定这件事,他们为什么要付那么多钱?
那些声称"软件已经解决了"的科技公司,为什么还在付顶级薪水去吸引他们能找到的最优秀的人?
我的赌注是,AI会让薪资差距进一步拉大。要获得就业资格,有一道你必须跨过的门槛,而那道门槛就是当下最好的模型能做什么。
优秀的工程师变得更值钱了,因为AI让他们推进得比以前快得多。他们不再需要身边围着那么多人来做实现工作。
与此同时,糟糕的工程师变得昂贵得多——贵到雇不起。
我以前写过这个,当时我说过 vibe coder 的职业道路是死路一条(https://blog.florianherrengt.com/vibe-coder-career-path.html)。
你需要贡献出超越每个人都能通过给agent一个提示就得到的东西。
如果你缺乏评估LLM建议所需的判断力,那么要求更多的判断力并不能解决问题。
在某个节点,还是得有人知道正在发生什么。而那个人就是团队里最有价值的人。
那些不具备这种能力的人,会变得便宜得多才能雇到,或者直接被替换掉,而钱会流向越来越少数真正值得信任的人。
我不认为这会局限于软件工程。我相信同样的事情会在大多数知识工作中发生。AI会让最优秀的人生产力大幅提升,而让糟糕的人几乎不可能被雇佣。以前,在他们走得太远之前,还有相当大的机会有人会拦住他们的糟糕决策。现在,他们做出改变的速度,快到了周围任何人都无法实际跟进审查或理解的程度。
相似文章
AI并未消除工程工作,只是把难点转移到了别处。
AI让编写代码变得更便宜,却将难点转移到了设定上下文、审查和清理上,需要更熟练的监督。文章认为,团队常常把AI生成的代码当作成品,而实际上它只是一个快速的初稿。
AI可能正在移除梯子的底层横档
这篇文章探讨了AI可能如何通过绕过基础工作,消除教育和工作场所中的入门职位,从而阻碍技能和专业知识的发展。
AI 智能体与从未发生的重构
本文探讨了AI智能体如何削弱人类重构代码的本能,因为智能体能够管理复杂系统而不受人类工作记忆的限制,从而引发了对长期软件可维护性的担忧。
AI生产率差距
对软件工程中“AI生产率差距”的分析,认为AI主要加快了开发人员工作中编码部分的速度,而设计、评审和会议等其他关键任务基本未变,导致整体收益仅略有提升。报告还指出,初级员工比高级员工受益更多,这与一些领导者的假设相反。
AI正在腐蚀开发者的思维:强制自动补全的代价
这篇观点文章指出,依赖AI自动补全工具正在降低开发者的技能和批判性思维,并强调了软件开发中强制AI辅助的隐性成本。