关于工作中AI Coding的一些踩坑经验
最近工作中也开始尝试完全使用ai coding来完成工作内容了,但说实话,这不仅要求我们对业务逻辑的理解到位,更要求我们对业务逻辑的描述准确。否则ai coding经常会莫名奇妙的生成一些无关的内容。在使用的过程中会遇到一些经常出现的坑,因此准备记录下来,帮助更多有ai coding需求的人,避免因为盲目相信ai coding而将严重bug携带到生产环境中。希望能对使用ai coding工作的人有所帮助。
需求描述:不止需要描述功能性(http链接泄露事件)
在调用外部api的时候,我会尝试让cusor给我写一个调用外部api的方法。需求很简单,写的也很快,然后很快也就调通了。但是当它一直运行一直运行直到某一次我修改逻辑重启服务的时候,我看到了no buffer space avaliable, maxinum connections reached的报错。一脸懵逼。。。。。然后查了一下,发现它的实现方式是每次请求来了之后创建一个http client,然后去调用,然后没有正确的去关闭连接。最后就出现了这样的内存泄漏。最后让它自己修复了一下。从这个问题其实可以看出,虽然我们清晰的描述了它的功能需求,但是对于一些非功能性的实现ai coding工具还是可能会出错。从解决方案上来看,我们和工具交互时不仅要清晰的描述功能,还可能需要在某些时候加上一些非功能性的约束(比如一些时候让它实现单例而非每次都创建新的实例)。
过度的生成降低效率(测试用例和说明文档)
这是最近使用cursor遇到的问题,可能你也会经常遇到:当你提出某个需求让它进行修