这几天赶项目,之前一直是用的Chatgpt聊天获取代码再修改贴进项目里。这次试用了Vscode里面的Copilot。感觉还是很不错的。
虽然外面都说Gemini,Cursor更好更强大,但是Copilot直接整合进Vscode不需要我再下载别的编码IDE,直接有一个入口就会显示在代码的右侧。
他有三种模式,ask,edit和agent。agent我还没用,ask就是聊天问答,有时遇到报错或者代码逻辑不懂的地方可以在这里讨论。edit是拖文件进去提要求,它給你改。这是我主力使用的模式。
不过今天发现,免费配额用完了。于是我果断的升级了Copilot Pro。10美元1个月,第一个月免费使用。感觉还是可以接受的。
续订后马上就尝试了下这个Agent模式。Agent模式说的很牛逼,不用我预先创建目录的文件,我只要提需求,它自己搜索项目,创建文件并编写。于是我试了下,感觉还是不能一口吃成个大胖子,要循序渐进。具体我让他干了这么一个工作:
之前创建后台模块,我是根据需求表,先创建菜单配置项,然后在代码中创建一个名称相关的目录,然后这个菜单要显示的功能页面,创建在这个目录下。我让他先看我的菜单,指定了某几条记录,让他根据这个记录里的url,在views目录中创建对应的目录和文件。这项工作完成的还可以。不过这时文件都是空的。
然后还有一个工作。就是要在router里将菜单里的对应url地址,映射到文件路径。这个工作他干的就不行了,它望文生义的改动了url,又参考了上面别的路径,给出了错误的格式。导致映射是乱的。这里我就指挥他重新做。
然后具体写功能页面时。一个数据管理页面,一般有一个列表页,和一个编辑(新增)弹窗。我试图让agent直接把两个页面都完成,结果页面是完成了,但是逻辑各有不同,每次都有不同的发挥,而有时甚至会有bug。而有些页面,后端接口尚未写好,我需要在前端的代码里mock一下,这个工作我不加干预的话,他完成的也很随意。甚至不能跟他的列表代码吻合。
所以我是换了个思路,每次先创建一个design说明md文档。在markdown里把这个模块的逻辑,字段,梳理干净,然后细细揉碎了反給他,让他参考这个文档来开发,这样有了共同的prompt,他的开发起码不走弯路了,然后遇到具体细节再优化。
总的来说,目前用下来,这个agent模式不是很理想,copilot的定位还是像个专业小工,形象点说,是代码功底很好,涉猎很多,但是业务逻辑不熟的程序员。而我更多扮演的,已经是个产品经理的角色,将需求拆解成数据,架构,页面,把控整体。细节交给他们发挥。
发表回复