Amazon CodeWhisperer 编程助手试用总结
CodeWhisperer进行AI辅助编程试用总结
ChatGPT火出圈之后,AI大模型编程越来越多,虽然AI编码暂时无法完全替代程序员,但是时代变化、潮流趋势所向,大家没有必要过多焦虑,惹事应该拥抱变化,拥抱趋势,尝试用AI辅助自己的编码,看是否可以得到帮助,本文试用了Amazon的CodeWhisperer AI编程工具,在这里做一个小小的总结。
CodeWhisperer通过 AI 技术,可以自动分析代码库中的模式和常见用法,从而生成符合标准的代码片段,其旨在帮助开发人员节省时间和精力,提高开发者的工作效率。
当前CodeWhisperer支持集成到几种开发环境中,VS、Jetbrains、JupyterLab,Lamda等,由于平时用C++/Python/Go比较多,因此本文使用JetBrains的Clion来测试CodeWhisperer生成C++的能力,首先安装好Clion(具体步骤网上找或者亚马逊官网指导书),进行Clion后,首先通过tools搜索安装aws toolkit,安装好后启动就可以使用CodeWhisperer了,第一次启动时会生成一个验证码,链接到你的亚马逊账号进行授权,此处不细讲,按照提示操作即可
下面进入正题:
使用CodeWhisperer生成代码,需要添加注释,其会根据注释一行一行完成代码编写,并且会帮助你完成要编写代码的注释
任务1:测试生成全部代码能力,主题完成一个TCP Server收发数据,下面图里是一步步的结果
最终完成的代码如下
生成过程并非像ChatGPT一样,一股脑的代码全部生成扔给你,需要开发同学一行一行的插入确认,这种情况也有好处,在于可以在开发过程中自己一行一行的确认正确性及问题,避免一大堆复杂代码重新费神的确认逻辑。
任务2 推荐相应功能的开源库以及使用已集成的开源包进行代码生成测试,主题完成一个SIP消息处理函数,下面图片展示其完成过程和结果
(1)使用osip2解析sip消息,下面是生成的代码,基本符合预期
(2) 期望重新推荐一个sip消息解析库,不知道是我已经集成了解析库还是还是什么其他原因,没有成功
可见CodeWhisperer对于Github、Gitee以及互联网上标准开源库是进行过训练的,可以读懂oSip2是一个很有名的sip协议栈,因此可直接使用其API根据注释生成可用代码
任务3 基于已完成部分代码,根据注释生成补全代码,CodeWhisperer也可以根据上下文和注释补齐代码的相应功能,建立一个资源分配函数(带一定的业务功能),完成一半的部分(>4),让CodeWhisperer完成剩下的部分(<4),下面展示结果
最终的结果
至此任务三测试完成,生成了基本可用的代码。
最后总结,CodeWhisperer对于能够更快地编写代码还是有一定的帮助。
首先,在集成开源或者第三方不熟悉的代码库时,它可以为我节省大量的时间去学习和查阅API接口文档,让我能够专注于改进和测试。
其次,可以帮助我节省繁琐的重复性工作,如上面的TCP Socket处理。
当然也期望可以后续可以生成整体代码段的方式,对于非复杂逻辑代码的场景其效率是更高的。
更多推荐
所有评论(0)