关于AI助力编程效率的提升
引言
2024年11月25日,我接到了一个端上的开发任务。任务内容不算复杂,正好也是我探索AI在助理研发上能提速多少的好机会。我决定亲自动手,重启了一段时隔5、6年未开启的开发生涯。
开发过程与感悟
经过2周的开发和测试,我基本从0到1完成了整个项目,速度上的提升确实给了我一些惊喜。以下是我在整个过程中的一些感悟:
AI提速的争议与实践
网络上关于AI提速的讨论众说纷纭,有的说完全不需要开发了,有的说提速了70%,也有的说没什么提速。我认为,只有亲自实践,才能真正理解AI的作用。
正确使用AI的重要性
我的结论是:如果能正确使用AI,提速是肯定的,但具体提速多少因人而异。以下是我得出这个结论的原因:
1. 通义灵码沉侵式开发的流畅性
我使用的是通义灵码沉侵式开发,整个互动过程很流畅。如果不是因为个人电脑配置较低,响应速度不够快,开发速度至少还可以提升。
2. 需求清晰的重要性
需求不清晰是实际研发中最大的浪费。例如,我项目中的一个需求是实时采集电脑Windows的日志信息。如果直接丢给AI,那么就会给出一个整个系统的日志信息,内容很多,程序运行很慢,数据发送几乎DUMP掉。通过与AI的互动,我们可以逐步澄清需求,最终确定的需求是:用户需要每隔1个小时采集一次警告和错误日志信息,并把最近1个小时的信息传输给服务器,提供给后台服务器监控。
3. AI与人类思维的相似性
AI和人一样,很容易掉入思维设计的漩涡里。我一直专注在解决AI提供的API功能函数的兼容性上,AI的回答也偏向与这个方向。其实我们都需要换一个思路来解题。这一点需要使用AI的人提前跳出思维局限。
4. AI增幅程序员信心
AI不仅提升了编程效率,更重要的是增幅了程序员的信心。有些我不知道的内容,比如获取真正的MAC地址,可以通过IEEE协议来判断这些,我不知道,AI知道的内容,就像小学生写作文,旁边放了一本字典,不用担心有不会写的字。现在,我可以100%肯定通过AI一定能找到一个适合的方式来实现原本不确定的功能。
编译环境的说明
在与AI共同开发前,先要给AI说明编译环境。例如,我使用的是VS2013,不是VS2008或VS2023,我们使用的是win7 x86环境,不是win10 x64。这些信息提前告诉AI,可以避免后续代码与实际环境不匹配的问题。
AI编程的误区
我发现,AI编程并非一些人所说的“完全不懂开发的都可以编程”。AI伴生编程需要一定的开发知识。例如,我在运行代码时遇到了头文件和库文件的问题,这些都是需要事先了解和解决的。
结论
最后,集成的代码实现和完成了这个功能,共花费了8个小时的时间。如果没有AI的话,在调试和找问题上还会花费更长的时间。如果仅仅是实现这个功能,没有任何障碍的话,可能只需要4个小时。但是因为实际开发者对外部API文档的解读和理解不同,对用户需求逻辑的理解和设计不同,以及对环境和开发语言的熟悉程度不同,AI提速就会不同。
总结
AI的增效和程序员的技能熟练度是同比例增幅的。这就好像大学时玩“魔兽争霸”游戏里的设置,剑圣的“攻击翻倍技能”一样,它是和英雄属性息息相关的,属性值越高,那么增幅就越大,属性值低,那就没什么增幅。大部分程序都会说使用AI提升了效率,但是评价不一。
以上是我对AI助力编程效率提升的一点思考和总结。希望这些经验能对您有所启发。您是否也有使用AI提升编程效率的经验?欢迎分享您的故事和见解。