软件公司现在能完全用AI写代码吗?
至少现在看来,不行,或许再迭代若干个版本真就行了。
说两个例子。
1 要实现一个类似ruoyi低代码的管理平台,实际上是针对各数据表的增删改查。
期望的效果是,把通用方法集成到通用类,比如连接数据库的放到repo类,身份验证或通用性的日期操作等功能,也放到通用类,然后每个service类里写业务功能。这点让零项目经验的应届生,只要学过spring boot,基本都能写。
用AI生成的效果是,告知每个功能要做什么,甚至把通用类的代码和代码的作用都告诉AI了,但生成的代码,会在实现某业务功能的类里,什么都自己做,包括连数据库,包括日期和字符串处理,调整几次也未必见到效果。
2 要实现一个基于python的数据分析功能,就输入一些excel里的数据,生成各种报表,各报表的计算业务有些复杂。
把各种业务和算法告知AI,但大多数都会理解出偏差,而且调整了多次,后面修改的代码还会出现之前提到的问题。
类似的效果本人观察到了多次,总结下当前AI生成代码的效果。
1 每段代码都有说明,看似什么都对。
2 功能上是否和输入的期望一致,需要自己确认,不排除有不一致的地方。
3 基本上是各自为战,要实现一个功能,真就什么都从头开始自己写,不会封装通用性方法。
4 生成的代码,有一定的概率(但不能说高),是有语法上的问题的,就直接跑不通,更别说是功能上了。
所以吧,当下一些软件公司的做法是,让一个有经验的程序员主打联系业务。本来没AI前,比如是要5个初级开发一起做,但引入AI后,可以减少人手,比如就用1,2个。
但会告知初级开发,别直接用AI代码,功能上生成代码后,然后放到指定的模块。这样就能最大化地用AI压缩成本。
夜雨聆风