AI生成代码数量激增,未来软件是否会陷入无人读懂的困境

不少程序员写代码的时候,都会先让AI生成一大段代码,之后再手动修改调整。GitHub的相关统计显示,目前超过四成代码,都是借助AI辅助生成,这个占比还在持续上涨。表面上开发效率提升不少,但有个不容忽视的问题慢慢浮现,如果代码大量由AI产出,未来还有多少开发者能够真正读懂这些代码。

这里说的读不懂,不是语法层面的问题。AI生成代码一般语法没有错误,可以正常编译,运行效果看着也没问题。真正的隐患藏在代码逻辑内部。AI本身不存在设计想法,只是依托海量训练样本里的模式,拼接出大概率可行的代码片段。它不会说明选择这个算法的理由,不会在关键分支写注释标注边界情况,更不会考虑后续接手的开发者,能不能看懂多层嵌套的判断语句。最后代码库就像没有地图的城市,各个模块看着相似,一旦出错就会出现难以排查的异常bug。

科技

还有一点,开发者容易对AI产出的代码产生天然信任。亲手敲写的每一行代码,开发者心里清楚逻辑,出现故障可以快速定位排查。但AI生成的代码,很多人只简单做完功能测试,确认可以运行就直接提交。久而久之,代码库里面越来越多无人熟悉的模块,没人敢改动,也没法重构,只能像避开雷区一样不去触碰。一家大型金融企业的技术负责人提过,去年他们借助AI重构一套交易模块,上线之后多次出现奇怪的数据偏差。排查之后发现AI混淆了两个名称相近变量的作用域,恰好前后逻辑互相抵消,单元测试全部显示正常。整个团队花费三周才找到问题根源,没人清楚AI当初为什么那样命名变量。

不过直接判定软件代码会变成完全无法解读的黑盒,也有点片面。人类之前就遇到过类似难题,早期汇编代码高度依赖个人编写习惯,后续依靠高级编程语言和规范文档解决。现在行业里也慢慢形成应对AI代码隐患的办法,部分团队硬性规定,AI产出的所有代码,都附带自然语言说明,相当于给每一段逻辑配上说明文档。还有团队利用AI互相校验,用另一个模型反向解析代码逻辑,自动生成流程图和依赖关系。程序员本身的能力方向也在转变,之后开发技能的重点,或许不再是手动书写语法,而是锻炼解读陌生代码的能力,就像现在医生看影像片子,不需要亲自绘制解剖图,但要从影像中识别病灶。

比较现实的解决思路,是继续让AI参与后续维护工作。既然代码由AI写出,解读工作也交给AI,人类只负责最终判断。这个模式听起来有些奇怪,已经在部分开源项目当中试验。AI会在夜间扫描当日提交的代码,标记存在风险的逻辑,第二天给代码审核人员提供风险清单。维持这套工作流程,代码库就不会彻底失去可读信息,至少有AI充当中间翻译。

说到底软件代码会不会没人看得懂,不在于AI写代码速度有多快,而是人类在追求开发效率的同时,是否愿意保留代码可读性。如果所有人都只满足代码能够正常运行,代码很容易彻底变成黑盒。但把每一次AI生成代码,当作沉淀项目知识的机会,强制补充解释与记录,产出的代码甚至会比过去手写版本更加透明,因为它倒逼开发者把脑海里模糊思路,整理成所有人都能看懂的文字。这个选择权,依旧掌握在程序员手里。

⚠️免责提示

本文内容整理于互联网,仅供参考,不构成任何投资、决策建议。部分素材来源于公开网络,如有侵权请联系平台进行删除处理。

网文一句一段的排版形式背后的底层逻辑 数据中心运行,为何会消耗巨量电力与水资源
相关阅读