AI编程工具混战,割裂的业务代码
在 AI Coding 的加持之下,说100%取代普通程序员有点夸张,但是提效50%应该是妥妥的吧;
随之而来的,又是那个熟悉的互联网味道,“卷模型,卷工具”;各大厂纷纷推出自家的AI编程工具,然后搭载自家的或者合作伙伴的大模型;
我这列举了一些目前比较火的编程工具,看看你认识几个,又用了哪些 ?

大厂限制只能用自己的工具无可厚非,可是对于中小厂,他们本身不具备自研编程工具的能力,甚至都没有统一规划采用什么工具,选择哪个模型; 所以经常出现一个小团队,每个人用的都不一样;可是他们维护的代码是同一份啊,大家想想这会出现什么局面?
同一场景,不同工具生成的代码不一样
这个很好理解,工具不同,背后的算法不同,生成完全一样的代码的可能性几乎为0;
相同工具,不同提示词生成的代码不一样
即使你和同事用的工具相同,但是对相同事务的描述存在个体差异,提示词不同,工具生成的代码肯定是有差异的;
由于以上的差异,新合入的代码,难免会存在一些割裂感,当这些割裂的代码不断累积的时候,那场面就更不可控了,试想一下在维护多人协作项目或者历史包袱很重的项目的时候,很可能因为基线已存在的割裂感很重的代码导致一些非必要的更改,如果全盘接受,那复测的工作量就大了,埋的雷不可预测;选择性接受吧,这个割裂感又只会有增无减;
写这些不是要对抗AI Coding,而是明确一下问题,以助于我们更好的使用AI;那到底该怎么解决这个割裂感呢?
1、统一工具;结合实际情况选择最合适团队的工具,这样可以保证代码风格一致;
2、规范提示词;提示词应该尽可能的精确,避免模糊无边界的提示词;比如宜采用“扩展xxx目录下的公共模块以支持xxx功能”,否则AI可能从零开始重新写个模块来实现功能;
3、人工审核很重要;避免无脑的全部接受,一定要人工审核;这是一个排雷和优化代码的过程;
当然这只是初级的防范措施,并不能彻底地解决问题。但是随着AI的能力越来越强大,写出和原项目风格一致的代码是可以期待的

夜雨聆风