ARTICLE · 1183024
AI会写代码之后,工程师还需要懂什么?
2025年初,软件工程师 Namanyay Goel 发表了一篇题为《New Junior Developers Can't Actually Code》的文章,引起了开发者社区的广泛讨论。他发现,一些年轻工程师已经习惯使用 GitHub Copilot、Claude 和 ChatGPT 完成开发任务,能够快速生成代码、实现功能,却难以解释程序的设计逻辑、潜在缺陷以及不同方案之间的技术取舍。这一现象反映出 AI 编程工具普及后,软件工程正在发生的变化:代码生产能力迅速提高,但开发者的工程理解能力未必同步增长。
过去,工程师学习编程通常需要经历完整的问题分析过程。面对程序错误,需要阅读日志、检查变量、分析执行路径,并通过调试验证自己的判断。这一过程虽然耗时,却有助于建立对程序结构、运行机制和系统行为的理解。如今,开发者只需向 AI 描述问题,就可能直接获得可以运行的解决方案。任务完成得更快,但理解问题的过程也可能被省略。
对于经验丰富的工程师,AI 是一种提高效率的工具,他们能够判断生成代码是否合理,并识别其中的潜在风险。但对于尚未建立完整知识体系的新人,AI 可能使其在缺乏基础理解的情况下,提前完成超出自身能力范围的任务。表面上看,两者都能实现相同功能,实际承担复杂项目的能力却可能存在明显差异。
不过,我并不认为使用 AI 编程本身就是工程能力退化的表现。回顾软件工程的发展历史,从汇编语言到高级语言,从手工编写基础算法到使用成熟框架,开发工具始终在降低技术实现的门槛。今天的工程师已经不需要掌握过去所有的底层操作,但这并不意味着软件工程水平因此下降。AI 延续了这一技术演进过程,只是与传统开发工具相比,它开始承担一部分原本需要工程师完成的分析和设计工作。真正需要警惕的,不是工程师不再亲自编写每一行代码,而是缺乏理解和验证的程序被直接用于实际工程。
2025年,Stack Overflow 开发者调查显示,84%的受访者已经使用或计划使用 AI 开发工具,但有46%的人不信任 AI 输出的准确性。2026年,一项针对718家企业软件研发活动的研究发现,引入 AI Coding Agent 后,代码产出和提交数量有所增加,但已完成任务数量没有出现统计上显著的同步增长,代码审核时间反而增加。这些研究的样本与统计口径存在局限,但至少说明,代码生成效率与完整工程交付效率不能简单画等号。
从实际研发流程来看,这并不难理解。软件开发并非单纯的编码工作,而是涉及需求分析、架构设计、功能实现、测试验证和运行维护的完整过程。当代码生成速度大幅提高,原有的技术问题不会自动消失,部分工作反而可能转移到代码审查、系统集成和故障定位环节。
尤其在复杂的软件系统中,功能能够正常运行,并不代表系统已经具备生产环境所要求的可靠性。程序可能通过基础测试,却在并发访问、资源不足、网络异常或业务状态变化时出现问题。开发者需要理解系统的设计约束,判断不同方案的适用条件,并通过有效的测试与验证,确认系统能够满足实际需求。
这也意味着,代码数量与工程质量之间的关系正在变得更加松散。如果 AI 能够在短时间内生成大量代码,而开发者缺乏足够的审查和验证能力,研发团队可能只是将原本发生在编码阶段的问题,推迟到了测试和维护阶段。短期内看似提高了开发速度,长期却可能增加技术债务和系统维护成本。因此,我认为 AI 时代工程师的核心竞争力,将逐渐从代码实现能力,转向系统理解、架构设计、工程验证和复杂问题解决能力。
这种变化也会影响企业的人才培养方式。传统研发团队通常通过基础模块开发、接口适配、缺陷修复和测试工作培养新人,而这些恰好是 AI 较容易承担的任务。如果企业只关注短期研发效率,将基础工作大量交给 AI,却没有建立相应的工程训练机制,年轻工程师可能失去积累实际经验的机会。
长远来看,企业可能获得了更高的代码生产能力,却没有培养出足够多能够独立承担系统设计和故障处理责任的工程师。这不仅是个人能力问题,也可能成为研发组织持续发展的隐患。
解决这一问题,并不是要求新人停止使用 AI,而是需要调整工程训练和能力评价的方法。企业可以允许 AI 参与编码,但应要求开发者能够解释设计依据、分析边界条件、建立测试方案,并在代码审查中说明关键实现逻辑。相比单纯考察功能完成速度,更应该关注工程师是否真正理解自己交付的系统。
从个人职业发展的角度看,我认为单纯依靠熟悉某种编程语言、开发框架或者标准模块实现方法形成的竞争优势,将越来越难以维持。大量标准化开发工作会逐渐被自动化,而系统架构、性能分析、工程验证和复杂故障定位的重要性将进一步提高。
这并不意味着基础知识可以被放弃。恰恰相反,越是能够利用 AI 快速生成复杂代码,工程师越需要具备判断其正确性的能力。缺乏专业基础的人,即使拥有更强大的开发工具,也很难独立承担复杂系统的设计责任。
未来企业可能减少部分重复性开发工作对人工的依赖,但具备系统工程能力的开发者,也有机会借助 AI 完成过去需要多人协作的项目。工具提高了个人生产能力的上限,但能否将这种能力转化为可靠的工程成果,仍然取决于开发者的技术判断和实践经验。
在我看来,AI 并没有简单地使工程师变得不再重要,而是正在改变工程师的价值评价方式。未来衡量一名工程师的能力,不应主要看他能够编写多少代码,而应看他能够理解多复杂的系统、解决多困难的问题,以及对多大范围的工程结果负责。
AI 降低了代码生产的门槛,却没有降低对工程正确性和可靠性的要求。当代码越来越容易获得,真正值得长期积累的,将是理解原理、建立约束、验证设计以及独立解决实际问题的能力。
工程师的价值不在于亲自完成了多少代码,而在于能否理解、判断并对最终的工程结果负责。
















































































