跳到主要内容

为什么 AI 编程工具放大了初级工程师的产出却让资深工程师陷入瓶颈

· 阅读需 11 分钟
Tian Pan
Software Engineer

询问任何工程副总裁 AI 编码工具是否能提高生产力,他们都会给出肯定的回答。但如果你询问一名在一套拥有十年历史的代码库中工作的资深工程师(Staff Engineer),这套代码库里有六个没有文档记录的数据模型,部署流程全靠 Shell 脚本维系,你得到的答案将会截然不同。

AI 编码工具带来的生产力提升呈现出一种大多数组织尚未完全消化的分化态势。初级工程师在每周完成的任务量上看到了 27%–39% 的提升。而在一项针对真实世界问题的受控研究中,资深开发者在使用 AI 辅助时,完成任务所需的时间反而比不使用时增加了 19%。这两个结果都与这些工具的工作原理相一致 —— 并且它们正导向一个目前正在工程团队中悄然上演的管理陷阱。

数据并非异常

METR 对 16 位资深开源开发者的研究发现了一个令人不安的事实:尽管开发者“预期” AI 能将速度提升 24%,但实际开启 AI 后,任务完成时间比不开启时增加了 19%。这并非抽样误差。这些都是在真实代码库上工作的资深工程师,使用的是主流工具。主观上,他们还认为 AI 帮助了他们 20% —— 这种认知偏差使得这一结果更难被重视和应对。

与之形成鲜明对比的是针对初级和新晋开发者的研究,在这些群体中, AI 工具确实能显著提高效率。这种生产力差异是真实存在的,并且直观地反映了每个群体面临的不同瓶颈。

初级工程师的瓶颈在于执行速度。他们大致知道需要构建什么,但会将时间耗费在语法、标准模式、样板代码以及繁琐的调试搜索上。 AI 几乎消除了所有这些摩擦。瓶颈消失了,产出随之跃升。

资深工程师的瓶颈在于决策能力 —— 即每周能做出的困难决策数量、对系统后果的思考深度,以及能同时保持在工作记忆中的组织上下文。 AI 无法触及这些瓶颈。它生成代码,但这意味着现在有更多的代码需要评审、验证和思考,而资深工程师同样要承担这部分工作。

验证税

当资深工程师编写代码时,他们同时也理解了代码。生产成本即是理解成本 —— 两者是同一个行为。当 AI 生成代码时,理解代码就变成了一个此前并不存在的、独立的、显式的步骤。Stack Overflow 的研究发现,近一半的开发者报告调试 AI 生成的代码比自己编写等效代码花费的时间更长。对于初级开发者来说,这仍然是净收益 —— 他们自主调试的成本原本就很高且速度很慢。但对于资深开发者来说,情况往往并非如此。

Anthropic 关于编码技能形成的另一项研究增加了一个维度:使用 AI 生成代码的开发者在调试理解评估中的得分比自主编写代码的开发者低 17 分(50% 对 67%)。这种差距代表了真实的生产风险,而资深工程师有责任在代码评审期间捕捉到这些风险。随着团队更广泛地采用 AI,验证表面积(validation surface)随之扩大 —— 并且这种增长不成比例地落在负责代码评审的工程师身上。

结构性的结果是: AI 加速了代码的生产,却在代码验证环节造成了瓶颈。Faros AI 的研究发现,在 AI 采用率较高的公司,PR 评审时间增加了 91%,平均 PR 规模增长了 154%,每位开发者的 Bug 率上升了 9%。评审负担最重地压在了那些本就是组织瓶颈的工程师身上。

资深工程师做的哪些工作是 AI 无法触及的

这种能力差距并不在于 AI 无法编写复杂的代码 —— 而在于定义资深工程师杠杆率的那类工作本身。

应对组织复杂性。 资深工程师知道为什么某个特定模块要设计成那样:背后可能有一位负责该领域的副总裁,一次在招聘冻结期间只完成了一半的迁移,或者是原始设计出炉六个月后才提出的合规要求。 AI 完全没有这些背景信息。它可能会生成一个技术上正确的重构,但却破坏了不成文的组织约束,而资深工程师的工作就是发现并阻止这种情况。

调试晦涩系统。 成熟系统中的生产问题往往涉及遗留行为、基础设施特性和未记录假设的交织。 AI 可以快速总结写得烂的代码,但根据实际系统行为验证这些总结仍需要人类专家。思考系统“实际做了什么”—— 而非它的代码“说了什么”—— 的专业能力,仍然是最难被自动化的。

架构后果推理。 AI 擅长局部解决方案。资深工程师则擅长全局一致性 —— 理解一个看似微小的接口改动可能会向上游波及三个服务,向下游波及到一个两年没动过的客户端库。这种判断力来自于对系统规模的把握,而非对训练数据的模式匹配。

加载中…
References:Let's stay in touch and Follow me for more thoughts and updates