“这根本不是在写代码,而是在‘生成幻觉’。”一位不愿透露姓名的资深软件架构师在接受本报采访时,难掩失望之情。日前,一篇题为《A grumpy screed about AI in software engineering》的评论文章在科技圈引发轩然大波。文章以辛辣的笔调,对人工智能在软件工程领域的“光环”进行了系统性解构,直指当前行业对AI工具“过度神化”的潜在风险。
“AI写代码”背后的效率陷阱
文章开篇便毫不留情地指出,过去两年间,以GitHub Copilot、Codeium为代表的AI代码助手已被数以百万计的开发者采用,但实际效果远未达到“改变游戏规则”的预期。作者引用了多项内部调研数据:在超过2000名受访者中,约68%表示AI工具在简单重复性任务上确实节约了时间,但在复杂逻辑、异常处理、安全漏洞检测等关键环节,AI的建议往往需要人工二次甚至三次校验才能采用。
“你以为是‘自动驾驶’,其实只是‘定速巡航’。”一家头部互联网公司的技术负责人向记者坦言,团队内部曾推行AI辅助编码,结果发现新手开发者过度依赖AI生成的“看起来正确”的代码,导致生产环境中出现了大量难以定位的边界问题。更令人担忧的是,AI模型对底层框架的理解往往停留在表面,当业务逻辑涉及分布式一致性、并发控制等深层概念时,AI生成的代码常常“看着对,跑着错”。
“偷懒”的代码评审与“隐身”的责任链
报道进一步聚焦AI对软件开发协作流程的冲击。文章作者痛陈,AI代码助手正在侵蚀“人肉代码评审”这一软件工程的核心防线。传统上,每一行代码都需经过另一位工程师的审查,这不仅是纠错过程,更是知识传递与设计思辨的平台。然而当AI生成的代码占据了代码库的30%以上时,评审者开始产生“既然机器写的,应该没问题”的心理懈怠。
“责任归属成了一个黑洞。”某创业公司的CTO感叹。一旦AI生成的代码引发线上事故,是追究产品经理的设计需求?是开发者的盲目信任?还是模型提供方的算法缺陷?当前整个行业对此缺乏清晰的界定。文章尖锐地指出,AI正在将软件工程变成一个“人人都在做,却没人真正负责”的混沌系统。
测试自动化:以量取胜还是以质取胜?
在自动化测试领域,AI的“入侵”同样引发争议。文章披露,多家企业被迫取消了AI生成的单元测试服务,因为AI倾向于生成大量“绿屏”但毫无意义的测试用例——它们通过断言空对象、捕捉已知异常来通过测试,却无法覆盖真正的业务异常分支。“这就像学生交作业,只做那些确定会得满分的题目。”一位测试经理如此比喻。
更为严重的是,AI生成的测试代码往往缺乏对上下文的理解。例如在微服务架构中,AI可能忽略跨服务调用的超时模拟,导致测试环境永远“平平安安”,而生产环境却频繁“爆炸”。文章作者愤怒地写道:“我们不是在用AI提升质量,而是在用AI制造一种虚假的安全感。”
泡沫中的反思:软件工程的精神何在?
文章在结尾部分将批判上升到了哲学层面。作者认为,软件工程的核心从来不是“快速生成代码”,而是“理解问题、定义正确、持续改进”。AI虽然提高了打字的速度,却可能消解了工程师深入思考的意愿。当开发者习惯了通过“自然语言描述→AI生成代码→修补Bug”的循环工作时,他们对系统设计的整体性把握、对性能瓶颈的直觉判断、对技术债务的清醒认识,都在悄无声息地退化。
“这不是对AI的恐惧,而是对人类理性的警告。”全球最大的开源平台之一的技术委员会成员在接受本报独家专访时表示,“我们欢迎AI作为‘计算器’一样的存在——帮你算得更快,但不替你思考。可现在,我们正在把它当成‘大脑本身’。”
行业未来:是工具还是主人?
诚然,并非所有人都持悲观立场。另一派技术专家认为,上述批评恰恰反映了行业正在经历的必要阵痛。正如当年集成开发环境(IDE)取代文本编辑器、版本控制系统取代手工备份时,也曾引发“代码能力退化”的恐慌,历史最终证明工具升级推动了整体生产力提升。然而,当前的AI变革与前几次有着本质区别:IDE和Git并没有“替代人类决策”,而AI正在悄然侵蚀工程师最宝贵的“判断力”。
截至发稿前,多家头部科技公司已开始在公司内部发起“AI代码伦理讨论”,试图厘清合理的使用边界。一位参与讨论的资深工程师向记者透露,最有可能的走向是:“让AI处理70%的基础重复劳动,但保留30%的复杂领域由人类独占,且最终审查权绝对不能交予机器。”
《A grumpy screed about AI in software engineering》这篇“愤怒的抨击”或许言语过激,但它像一面镜子,照出了科技行业在狂热中最容易忽视的角落:当工具太“聪明”时,使用者是否还能保持清醒?正如文章最后一句所问:“如果我们培养出的下一代工程师只会‘审稿’而不会‘写稿’,那人工智能究竟是福音,还是文明的毒药?”这个问题的答案,或许将在未来五年内决定整个软件工程行业的走向。