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视为加速器和协作工具,而不是代替思考的工具,并致力于发展其批判性思维、项目管理和逻辑推理等核心工程能力。