最近ChatGPT展现出强大AI能力给我们带来了深刻的影响,AI现在不是一个概念,基于AI的产品一定在各行各业帮助工作人员更快更好的完成繁琐的复杂的任务,提升工作效率,而在AI技术的发源地也就是码农圈,也早已经出现了一些好用的AI驱动的编程助手,这些助手可以在IDE中为我们补全代码甚至按照注释自动编写代码,基于AI技术,这些编程助手吸收了Github公开代码库和一些可公开代码库的数据样本,提供自动补全,语法检查、错误修复、导航跳转、类型与范围提示、参数补全、自动注释、代码生成、代码质量分析,漏洞检测等等功能。
AWS 2023/4月已正式推出Amazon CodeWhisperer,是亚马逊的用几十亿行开源代码训练出来的 AI 工具,它可以根据你的代码注释和现有代码实时生成代码建议。其中CodeWhisperer个人套餐,所有开发人员均可免费使用。
Amazon CodeWhisperer目前支持多种语言(Python, Java, JavaScript, TypeScript, C#, Go, Rust, PHP, Ruby, Kotlin, C, C++, Shell scripting, SQL, and Scala);并同时支持多种IDE(JetBrains IDEs,Visual Studio (VS) Code,AWS Cloud9,AWS Lambda console)
目前市面上上有很多AI编程助手,比如GitHub Copilot,tabnine等,相比前面的一些AI编程助手,Amazon CodeWhisperer有哪些不同之处呢,具体有如下区别
- Amazon CodeWhisperer对个人免费,而GitHub Copilot要收费,而tabnine免费版只提供较为基础的补全功能
- Amazon CodeWhisperer的模型训练不仅基于开源库比如GitHub,也加入了Amazon和AWS自己的代码库,用户在编写AWS SDK相关的API或者使用AWS服务的时候更加准确,更侧重于提高AWS开发体验;而Copilot使用GitHub开源代码库进行广域的训练,支持更普适的场景。
- Amazon CodeWhisperer在安全方面做了强化,能辅助定位代码安全的问题,帮助用户及时发现代码漏洞
- 提供当前代码建议的来源。可以让开发人员知道codewhisperer基于哪些可信的代码,这样开发人员写代码的时候能做进一步的参考和鉴别,避免AI一本正经的提供错误的建议的情况,这样我们的代码更加可靠可信。
试用
我们以VS Code为例来做一个简单的体验
首先是安装VS Code插件,AWS Toolkit是AWS官方产品,现在集成了CodeWhisperer
安装好了后,我们直接点击AWS Toolkit,并找到下面的CodeWhisperer,这是我们接着点击run,启动CodeWhisperer
这时会弹出一个登录菜单,我们直接选择使用个人邮箱注册AWS Builder ID并登录
点击登录后,会有一个随机码,我们点击复制,这将在后面AWS Builer ID登录过程中用到
接着会跳转到浏览器,进行登录
我们把刚才的随机码粘贴进去
然后我们注册或者登录AWS Builder ID
登录成功后,我们选择同意
当出现如图的绿色的提示就代表完成
然后我们回到VS Code,选择YES
按照完成后我们记住如下的快捷键
| 快捷键 | 功能 |
|---|---|
| ALT + C | 要求CodeWhisperer提供建议 |
| TAB | 接受CodeWhisperer的建议 |
| ESC | 拒绝CodeWhisperer的建议 |
| → | 选择下一个建议 |
| ← | 选择上一个建议 |
上手体检
我们先添加一个注释,比如# 快速排序,然后按ALT + C要求CodeWhisperer提供建议,灰色的代码CodeWhisperer生成的,我们如果觉得合适可以按TAB键接受,如果觉得不合适可以按→选择下一个。
当我们写完后,我们简单的测试下,发现结果是正确的
此外我们还可以进行代码安全扫描和代码来源检查
CodeWhisperer更多的是对AWS服务进行代码建议
当然无论你多么信任CodeWhisperer或者其他的AI辅助工具,你都需要人工检查代码正确性并做好单元测试,AI辅助工具主要是减少你在互联网上搜索或者查看文档的时间,至于代码的正确性和效率,需要你来核对和审批!!