经过差不多6个小时的鏖战,终于把账号分组功能实现了。
这时候你估计已经随口冒出了一句:翘!一个分组功能居然弄了6个多小时,这AI效率也不高嘛。
不急,且听我娓娓道来。我将整个过程跟大家分享之后,你就会明白为什么一个小小的功能会花费6个小时的时间。
首先,在确保前后端代码完整、前期功能完善无误的情况下,我使用了coding来进行代码的git管理,以确保随时可以恢复代码历史版本,这其中有个特别关键的问题就是AI可能在完善新的功能需求时,由于上下文的限制,已经搞不清楚之前的需求和变动了,这时候Cursor就有非常大的风险将你原本干净的代码改坏掉,特别是你曾手动改动的一些参数代码,导致程序崩掉。
这不,我就遇到了,我在丢给Cursor新的功能需求后,它便开始一通行云流水的写代码,我还在满怀期待呢,结果一运行,我原先配置的对象存储OSS全给我改了,改成了将图片资源存储在本地目录,而我最开始配置的AcceseKey ID和AcceseKey SECRET都没了,当时在实现OSS对象存储时,这个参数我没有保存好,所以这时候没了,又得重新去OSS控制台弄新的AcceseKey ID和AcceseKey SECRET。
拿到新的参数,我明确告诉AI,所有图片资源的上传均存储在OSS中,并且不要随意改动此逻辑,至此,后面就没出现OSS的问题了。
上面讲的这个事情只是开发过程中遇到的众多问题中的一件,毕竟是AI,看似一切都是在你的指令下去完成任务,可并不是完全受控制的,我们不是AI,不能完全理解它的思考逻辑和执行方式,AI也不是我们,它只能尽可能的理解你的意图并实现你的想法,但它的实现路径并不一定跟我们想的一致。所以我将这些现象和解决方式提炼一下,供大家参考。
AI写代码会遇到哪些问题:
1.在实现新功能时,AI有很大可能性将代码改坏;
2.在需求模糊的情况下,AI的理解可能有偏差;
3.AI也会犯低级错误,比如说使用错各种函数名、变量名;
4.AI能力并非无穷,主要表现在上下文的长度上;
5.AI在开发项目中,可能会自行创建一些辅助性文件,但对项目本身可能跟没有什么作用。
如何尽可能规避这些问题:
1.利用git对代码版本进行管理,而且提交代码一定要勤,这样及时AI把代码改坏了,随时能回退代码;
2.提需求时,要尽可能的清晰,如果能预见一些可能出现的问题,在需求中将其限制;
3.要主动去看AI写的代码,不能放任自流,有问题出现及时丢给AI处理;
4.养成仔细阅读AI回复的内容,了解AI的工作思路和任务成果,如果AI主动向你询问,要明确的进行回复;
5.边开发边测试,别让AI一次性完成一项过于庞大、复杂的任务,循序渐进,按部就班。
最后分享一下我的成果吧!
不知道你是否注意到,右上角我让AI帮我显示了当前的环境,避免我误操作