AI降低了软件开发门槛,却放大了专业壁垒

2025年10月30日

今年,AI辅助编程工具(如Claude Code或Cursor、Lingma等),无疑为软件开发领域带来了巨大的生产力飞跃。

然而刚踏入行业不久的初级开发者却陷入尴尬境地:虽然能通过AI快速生成代码,但却往往难以驾驭和维护这些代码。

这种现象并非源于工具的缺陷,而是AI如同放大器,更残酷地暴露了初级开发者在基础工程能力、系统思维和专业判断力上的不足。不像AI编程工具出来之前,职业早期有时间积累这些能力。

初级开发者使用AI编程的典型表现

初级开发者在使用AI工时,普遍表现出一种模式:过度依赖AI工具、指令模糊缺乏上下文背景。

1. 指令模糊缺乏上下文

他们倾向于将需求直接复制粘贴到提示框中,然后等待AI给出完整的解决方案。

当生成的代码出现问题时,他们提出的提示词往往极其模糊,例如要求AI“重构代码”或“修复调度同步问题”。

这种行为被资深开发者批评为毫无意义,因为AI缺乏背景知识。重构必须有其目的,而这些目的(模块化、可扩展性、性能等)正是开发者在使用 AI 时必须提供给 AI 的上下文信息。

缺乏这些细节,就像是告诉别人“房子湿了,去修好”,或者在星巴克冲着收银员大喊“我渴了!”一样,完全没有提供有意义的细节。

将理解阶段外包给了AI

这种使用模式实际上是将“理解阶段”外包给了AI,导致开发者没有真正建立起对项目的整体认知(需求、技术栈、软件架构等等)。

一旦代码运行失败,他们就会陷入困境,因为他们从未进行过调试,调试工作实际上是由AI代劳了。

更有趣的是,面对没有理解的需求,他们可能会花15分钟反复阅读需求文档三到四次,而不是直接请AI来解释需求。

代码难以阅读和调试

有开发者指出,调试代码的难度通常比编写代码难得多,而AI的出现使得开发者能够生成他们自己原本写不出来的、更加复杂的代码。

因此,他们无法驾驭这些代码也就成了必然的结果。

这种结果还可能导致“面条式代码”(指难以阅读、结构混乱的代码)的快速增加。

问题产生原因

初级开发者难以驾驭AI代码,核心在于:他们对AI角色的认知偏差以及基础工程能力薄弱。

对AI角色的认知偏差

AI实际上是智力的放大器,而不是替代品。

许多初级开发者将AI视为“魔术师” 或“自动思考工具”,认为只需按一个回车键就能解决所有问题。他们误以为AI比自己更聪明,能像拥有数十年经验的资深工程师那样思考。

然而,如果开发者不理解软件架构模式 、缺乏系统思考能力,他们在使用AI时只会更快地制造出混乱。

基础工程能力薄弱

编程的真正难点在于以算法的方式进行思考,而不是语法和词汇。AI倾向于提供快速实现功能的方式(比如复杂化实现一个功能),而不是正确的架构设计,只有资深开发者才能快速判断AI生成结果的对错。

这种依赖让AI成了拐杖。一旦习惯了AI提供的即时满足,开发者的大脑心智就会萎缩,变得自满和依赖。

这就像依赖GPS开车,无法在大脑中建立起记住路线所需的神经元一样,过度依赖AI解决复杂的编码问题,使他们错失了建立解决问题的核心技能的机会。

这种问题也反映了沟通能力的缺失。编程的本质就是将思想精确地翻译成另一种格式。如果开发者不理解他们在要求AI做什么,就无法描述期望的行为,自然也就无法提供AI所需的上下文和设计选择。

教育与实践的脱节

许多大学课程更新缓慢,倾向于禁止使用AI,剥夺了学生们学习职场技能的机会。

许多应聘者缺乏如何将AI有效地融入工作流程所需的经验。例如,他们不知道如何利用问询/计划(ask/plan type modes)模式解决问题。

怎么解决?

AI工具的普及使得软件工程的最佳实践比以往任何时候都更加重要。

开发者必须将重点转移到判断力、批判性思维和逻辑推理等核心能力上。

1. 重塑AI的使用定位

AI不是能解决所有问题的资深工程师,而是一个“高度积极但无法持久学习的实习生”,需要资深人员来主导和指导。

开发者的角色是AI领队,采用先计划、后实施的模式。先要求AI协助建立一个完整的规范,并明确遵循如YAGNI、KISS、SOLID和DRY等工程原则,而不是急于在实现过程中反复修正。

审查设计上的草率比审查代码上的草率更容易。

2. 提升AI的使用技巧

开发者应学会将AI视为思考伙伴。

与其盲目复制粘贴问题,不如将其视为一个可以解释设计权衡、澄清问题的高级工程师。

例如,询问AI关于架构模式(例如事件监听器配置) 或澄清作业调度程序为何需要处理并发同步等问题。

对于处理遗留系统,可以先让Claude代码概述其架构和功能,以便更好地进行修改。

3. 提升核心工程技能和判断力

专注掌握软件设计原则和架构模式。由于AI可以承担技术实现的工作,开发者最重要的技能是判断力。

面试官可以通过调整提问方式,例如询问:“你会问Claude什么问题来帮助你理解这个设计?”,这能有效测试候选人是否知道如何与AI协作提取知识。

此外公司可以先让初级开发者在软件测试岗位工作几个月,帮助他们培养批判性的眼光,了解什么是好的代码。

小结

AI能放大那些已经拥有深厚专业知识的人的能力。

对于初级开发者,他们必须将AI视为加速器和协作工具,而不是代替思考的工具,并致力于发展其批判性思维、项目管理和逻辑推理等核心工程能力。