我在团队里算是年长的程序员,平时会做一些 AI 编程方面的培训,也会参与同事项目技术方案的分析和选定。把关的目的很直接:避免重复造轮子,提前发现性能问题,以及判断方案选择是否合理。
一次项目方案分析时,开发人员提到,业务人员反馈了一个问题,于是他完成了一次版本优化迭代,并说明这次迭代解决了什么问题。
这些内容听起来没有异常,我便多问了一句:之前采用的方案是什么,这次又是怎么优化的?
结果他完全说不出来。他只能重复业务反馈了什么问题,却无法说明项目原来使用了什么方案,也解释不了新的实现为什么能够解决问题。
这本来是技术方案汇报中很正常的内容。开发人员至少应该清楚代码采用了什么思路、修改了哪些地方,以及方案为什么有效。现场说不出来,气氛便有些尴尬。我只能先解围,让他会后整理清楚再给我看。
到这里,我基本猜到了原因:整个实现很可能都是由 AI 完成的。团队里有人使用 Codex,也有人使用 Claude Code。开发人员直接让 AI 完成项目,在没有充分审核和理解代码的情况下,就把结果部署到了生产环境。
在我看来,这不是一个小问题。使用 AI 生成代码本身没有什么,但如果工作流程缺少引导和规范,开发人员又不做审核,就很容易留下安全、性能、扩展性和维护性方面的隐患。更直接的问题是,一旦生产环境出现异常,负责项目的人甚至无法说明当前方案是如何工作的。
好在这次只是一个很小的项目,可能造成的影响有限。但这种情况并不是孤例。就在我动笔写这篇文章时,另一个同事刚完成的一件事上也出现了同样的问题,这才让我决定把它记录下来。
AI 可以完成代码实现,但代码进入生产之后,责任仍然属于开发人员。如果连使用了什么方案、为什么这样实现都说不清楚,那么项目表面上是完成了,实际却已经失去了最基本的技术控制。