译文:AI原本被寄望于让初级开发者光芒四射,为何最终却更像是为资深开发者加冕?
“编程会不会彻底被 AI 接管?”这个问题早已被问到天荒地老,众人仍乐此不疲地给出答案。我未必能带来石破天惊的新论,但仍想分享几分亲历的观察。
早先流行的说法是,公司不必再雇那么多资深开发者,初级开发者配合 AI 也能写出优质代码。我那阵几乎天天都能看到这种论调。可如今,AI 离人们的期待尚有距离,现实愈发清晰:企业真正需要的不是“初级开发者+AI”,而是“资深开发者+AI”。
为什么?
先看看 AI 在编程中擅长哪些方面,又在哪些方面力有未逮。
AI擅长的领域:
生成样板代码与脚手架代码
自动化重复性流程
快速尝试多种实现
借助高速迭代即时验证
方向清晰时,以惊人速度将功能推向线上
那么,谁最能从中汲取最大价值?答案不言自明——资深开发者。落到初级开发者手中,即便并非全无可能,这些利器也难以化作实质价值,挑战要大得多。
生成样板代码与脚手架
自动化重复流程
快速尝试多种实现
借助高速迭代迅捷验证方案
只要目标清晰,功能即可闪电上线
那么,谁能从中获益最多?答案显而易见——资深开发者。落到新人手里,要把这些优势转化为真实价值就难多了;并非不行,只是更费劲。
哪里容易“翻车”:
- 代码评审:AI 还不具备真正的推理能力。自动化评审看似高效,但一旦出现边缘情况——AI 生成的代码里这类情况尤其多——最终仍需资深开发者把关。
- 提示词不佳:谁能写出高质量提示词?只有真正懂业务的人。缺乏领域知识时,顶多得到“勉强能用”的结果;缺少严格的检查流程,留下的只会是更多漏洞和头痛问题。
- 软件架构:没有扎实的架构,软件价值会迅速流失。眼下 AI 仍无力设计优质的软件架构;看似能胜任,实则系统性思考仍须人类掌舵。项目若在起步阶段架构薄弱,后期只会陷入技术债务的泥潭。
- 代码质量:选对抽象层次、合理运用设计模式、保持代码整洁且贴合业务场景——这些都是 AI 目前尚难驾驭的任务。
- 安全性:如同房子没有门或锁坏了,“初级开发者 + AI”的组合更容易引入安全漏洞。安全问题无处不在,但至少资深开发者具备风险意识和防范手段。
- 错误的学习路径:若开发者无法正确评估 AI 生成的代码,常常察觉不到其中的缺陷。在企业环境下,这意味着制造的不是价值,而是隐患。
例子不胜枚举,但核心只有一个:AI 目前远不足以取代资深开发者,甚至恰恰相反。这并非苛责初级开发者,而是提醒大家,切莫怀揣不切实际的期待,把新人推向高风险的前线。
怎样善用AI:
- 快速原型开发:用来飞速验证灵光一现的想法,再合适不过。
- 提升日常效率:这是 AI 眼下最核心的价值。把你早已烂熟于心、反复执行的流程交给它自动化。
- 跨领域协作:弥补知识短板,推荐合适的算法或库,在多学科交汇时帮助你串联思路。
- 功能测试:面对简单、重复、低风险的代码,AI 可以先打样,你再轻松复查。
在我看来,现状就是如此——我们仍需逐行审阅 AI 写出的每一行代码。它距离“完美”还很遥远:没有真正的意识,推理只是模仿;输出充满非确定性,于是我们不得不依赖确定性的测试。可问题来了,你真的敢让 AI 写测试,然后用这些测试去验证它自己写的代码吗?
这让我想起自己发过的一条推文:有人用提示词让 AI 在拿不准时回答“我不知道”。而我当时的评论是:“当 AI 说‘我不知道’时,你也无法确定它是否连这句‘不知道’都真正明白。”
“初级 + AI”的组合乍看确实诱人:成本更低,又迎合了“AI要抢走我们饭碗”的焦虑。然而,把软件业与其他成熟行业一比,稚嫩之处便暴露无遗。建筑行业中,建筑师专注设计;而在软件领域,连“架构师”仍需俯身码砖。分工不够精细,评价也难以真正以实力论功,节约成本反倒成了主旋律。结果就是,软件开发的价值被不断压低,人才被过度消耗,疲惫感油然而生。
因此,AI 并未如愿实现“人人皆可编程”的蓝图,反而让权力更向行家汇聚。理想与现实的落差已然显现。未来会走向何处,尚待时间揭晓。我仍看好 AI 的长远潜力,但眼下,我们得先为自己的预期归零校准,免得再被拉得变形。
原文:AI Was Supposed to Help Juniors Shine. Why Does It Mostly Make Seniors Stronger?
原文链接:https://elma.dev/notes/ai-makes-seniors-stronger/