CodeWhisperer 使用初体验

CodeWhisperer 是另一款 AI 代码补全工具。


上面是简介

最近不是 GitHub Copilot 很火吗(其实按热度说已经过气了),但是有一个大问题,就是「太贵」。一个月 10 USD,像我这种非全职开发者感觉很亏。

然后又有这一篇「自己搭建github copilot!」的标题党文章,但是太麻烦放弃了,还吃本地计算资源,我电脑又不行。

然后最近不是开了 AWS 账号吗,发现一个 CodeWhisperer,感觉非常好啊,终于发现一个免费的类 Copilot 工具了。

然后安装和配置很简单,自己看文档,本文不再赘述;今天主要对 CodeWhisperer 进行了一些测试。

简单谈谈体验的话,感觉,一般。没有 Copilot 当初带给我的惊艳的感觉,但是代码补全的预测还是相对来说比较准的,可以省掉一部分的重复劳动啊啥的。

补全的代码量相比很久以前体验的 Copilot 还是差了一些。也有可能是因为测试的是 CP Style 的 C++,所以才会这样(C++ 文件第一行 #include 的自动补全一般来说都是 "mainwindow.h")。

不过 C++ 语言的支持并没有写在官网上宣传,可能是支持度较差,或者写 C++ 的人不多了。(流泪)

然后就是非常难受的一点了。测试的时候,存在的一个最大的问题是,有些时候不需要补全,按键盘上的右箭头不会让我忽略建议需要 Keep Typing 但还是很难受,因为括号(尤其是多维数组)。而且,在输入括号的时候,自动补全真的很难用。大概就是:

按 Tab 补全确实不会有问题,但是总是感觉非常奇怪的。而且跨行大括号(我的风格是 Webkit 风格)会存在自动删除最后一个括号的问题。这个地方对 Copilot 的行为记不清了,就不做对比了。

而且如果有多个建议但是不会提醒你有多个建议,也没有切换建议的快捷键,(其实是有的,没看文档,,我的问题)必须把鼠标悬浮在上面。

不过好在 Amazon 提供了一个 Code References 的合规性之类工具之类的,这点比 GitHub 强到不知道哪里去了(

官网上的例子倒是真的。

一定是我工程写少了导致的测试不客观!(讲真确实没多少,只写过 TS/JS 和 Py 的项目)

想试试安全扫描这个功能但是它告诉我不支持 TypeScript。好吧。后面等我找到我之前 Py 项目的代码再更新。

中文支持可以说基本上没有。

对他们自家的 AWS 建议明显要突出一些。

不过至少自称是「负责任」且合规的。

还有些使用体验后面再更,目前上手不到一周(


Update 1:

对于 Python 进行了一些测试,编写了一些较为复杂的 ORM(这里使用 peewee)的查询,准确率在 70% 左右。