6f20c6b05ede7fb04e2b9f16c3122b96.gif

本系列文章,是广大开发者及媒体向我们投稿的 Amazon CodeWhisperer 评测及心得,与您分享实战体验,向您呈现更实用的信息。敬请关注!

作者:我不是码神

随着今年 AI 技术的大火,越来越多的领域正在接受和利用这项强大的科技,以实现更高效、更智能的工作方式。在软件开发领域,AI 技术更是为我们的工作带来了前所未有的变革;从自动代码生成到智能编程助手,AI 正在逐步改变开发者的工作方式,提高开发效率和代码质量。

对于程序员传统的开发来说,完成一些业务逻辑代码或者特定代码,需要自己从 0 手动去敲代码、查 Bug、找思路、做优化,这个过程会需要耗费较多的时间和精力来完成。但是在今天,时代已经发生了变革。

亚马逊云科技推出了一款前沿的 AI 编程助手——Amazon CodeWhisperer。这款工具利用了先进的深度学习技术,通过训练几十亿行代码,能够快速理解开发者的需求,提供即时的、强大的代码建议和错误检测,使开发者能够更快、更安全地构建应用程序。


为了大家更好地了解和掌握 Amazon CodeWhisperer,在本文中,我将带你手把手沉浸式体验一下 Amazon CodeWhisperer 的魔力和强大之处!

3afe830368fc8ebab23d5b845939da5d.png

01

Amazon CodeWhisperer  功能概览

可能有些小伙伴对  Amazon CodeWhisperer  的具体的能力还不太清楚,这里先给大家详细介绍一下  Amazon CodeWhisperer  拥有的一些实用和强大功能。用上这些功能,再也不怕被“卷”开发效率了!

1.1  强大的代码建议

Amazon CodeWhisperer 是基于数十亿行代码训练而成的,所以它能够理解用自然语言编写的各种代码,并且可以实时地生成多个代码建议来提高开发人员的工作效率。该服务直接在集成式开发环境(IDE)的代码编辑器中提供针对完整函数和逻辑代码块(通常由多达 10–15 行代码组成)的建议。

并且不用担心它生成的代码不符合你的代码风格,Amazon CodeWhisperer 将学习你的代码写法与风格,遵循你的设定的风格和命名规则。

1.2  支持多种语言与 IDE

在公司开发中,可能每个程序员们开发的语言或者 IDE 都是不大一样的,但是请放心,目前市面上主流的各类开发语言,例如 Python、Java、Go、Rust、PHP、C++、C、JavaScript、TypeScript 等等都是支持的!并且支持各种主流 IDE 工具,IDEA、Pycharm、VS Code 等等这些,Amazon CodeWhisperer 都支持。

还有的朋友可能会说,如果是 SQL Boy 呢?能用 Amazon CodeWhisperer 吗?我的回答是,那是必须的!

1.3  安全扫描

在写完代码之后,可以使用 Amazon CodeWhisperer 帮助我们进行代码的安全扫描,它将帮助我们分析出代码漏洞,并且会针对业务代码中的漏洞提出更改优化建议与代码。这个功能很实用,能够帮助我们排除不必要的安全隐患。

02

沉浸式体验使用

Amazon CodeWhisperer 实战开发代码

相信大家看到这里已经很期待 Amazon CodeWhisperer 的实战表现了。我将为大家展示下 Amazon CodeWhisperer 是如何智能地帮助开发者们在日常生活中,提高学习与工作效率的!

首先,我们使用 Amazon CodeWhisperer 来帮助快速构建一些常见算法及代码。在这里我选择 Python 语言。

2.1  Pycharm 中

快速导入 Amazon CodeWhisperer

在 Pycharm 的设置 Settings 中,找到插件,然后搜索 “Amazon Toolkit”。点击 Install,等待下载完成后,重启 Pycharm 即可。

f8f9af16778a3d985621da836fec58c1.jpeg

然后我们在插件中进一步处理,使用个人亚马逊云科技账号去使用 Amazon CodeWhisperer。

21cba5c3e4bad7b7143b363d080c4809.png

我们需要将这个代码贴进来进行验证,并根据后续的操作进行邮箱注册创建 Amazon Builder 账号即可。

d702ef5e16a94b6c65ad976e41fa9ef0.jpeg

一切就绪之后会提出弹窗:

c0fa491f69484003f7227d3c138a5c30.jpeg

当在 Pycharm 中出现如下界面之后,就代表能够顺利使用 Amazon CodeWhisperer 了。

150a267fbe61729d795e36dea8b91226.jpeg

话不多说,开始用起来吧!

2.2  使用 Amazon CodeWhisperer 

快速构建 Python 代码

我们先来使用 Amazon CodeWhisperer 写一个简单的冒泡排序试试效果。首先,输入我们的注释,这样 Amazon CodeWhisperer 就知道要干什么了;然后我们输入 import,就可以看到 Amazon CodeWhisperer 自动帮我们补全了 random 函数。

4d87df78aa437ded5696e6f403b074c2.png

看到上面这个图,或许你会以为 Amazon CodeWhisperer 只是简单补齐一行代码,千万别小看它了,接着往下看:

5e3460b63b8315f32444b4916d950aa4.png

不单单只是那一行,Amazon CodeWhisperer 可以直接帮我们补完所有实现代码!


这里我们选择了方案 2 中的代码补全,然后当输入符到达代码最后一行时,新的一行就会自动跳出:

cd32065af6a4bb3521f7a98e27f59239.png

也就是 print(a[i],end = ' ') 这一行是在我没有给出任何指令的情况下,Amazon CodeWhisperer 自动提示是否需要补充。如果需要,只需按下 Tab 回车键或者鼠标点击 Insert Code 按钮即可。


与其他的 AI 代码助手不同的是,Amazon CodeWhisperer 是真正能够进行“预判式”的辅助你写代码,并且最开始的一切只是“源于”一个不起眼的小注释,Amazon CodeWhisperer 通过这个注释已经帮我们算好了接下来 2-3 个步骤。是不是很高效?

测试了一下,使用 Amazon CodeWhisperer 写冒泡排序的时间,只需要按下三次 Tab 键即可,大概是 2s 的时间!如果按正常编写的速度,只使用 Pycharm 自带的代码 Tab 补写,就算手速再快,也需要大概 15-20s 左右。2s 相比于 20s,是近乎 10 倍的时间开销差距。Amazon CodeWhisperer 是真正意义上做到了帮助开发者节省时间,用户体验感 Max!

除了上面突出的“预判式”速度优势外,Amazon CodeWhisperer 不仅仅只是提供一种代码思路,而是提供了三种以上的代码建议,能够让我们有多种选择。

很明显,我们能够根据具体代码的开发需求以及个人习惯进行选择,可以说是把个性化体验拉满了。简单快速易上手,难度一点都没有,还不快速速用上 Amazon CodeWhisperer?

2.3  Amazon CodeWhisperer 

支持各种领域方向的代码编写

可能有开发者朋友会觉得,上面举的例子太简单了,还是对 Amazon CodeWhisperer “超级魔力”看的不过瘾。那我们来点“高质量”的“狠货”一起试试吧!

”狠货“的情况是这样:前两天,一个还在读研的同学在打全国研究生数学建模竞赛问我,如何用 Python 写一些高效的数学算法模型,例如二维马尔科夫链这种。我当时查了很多资料,东拼西凑给同学发了一份二维马尔科夫链算法模型的代码。只能说短短三四十行的代码至少花了我两三个小时,而且做的很难受,很心累。

而如今,我用 Amazon CodeWhisperer 来试试看看需要多久,或者看看写出算法模型的难度。

首先,还是按照上面一样写个注释,让 Amazon CodeWhisperer 明白我要做什么。

可以看到,如下图,我只是简单输入了 import math,Amazon CodeWhisperer 就已经帮我补全了其他所需要的常见数学计算包。

af17d02d9dd8f199a44ee5e729528794.png

下一步,我继续在注释中写明我需要做到哪些事情。比方说我想继续写一个状态转移方程,用来求马尔科夫链模型的概率矩阵。

e92403c2e4a9ac116203aecf62a7eb6b.png

可以看到,Amazon CodeWhisperer 直接提供好了一个初始矩阵给我,非常的方便。

我们再进一步提出要求,注释中写清楚即可。

b109ba104687cc65dcbff223db6d7a0d.png

补全之后,下一步 Amazon CodeWhisperer 又根据新的注释帮我进行了代码建议,不仅十分专业,且代码风格看起来赏心悦目,非常整齐和清爽。

06d4304d02d7de9835523fe26d3bd5d1.png

然后我们简单对状态矩阵进行判断返回即可。根据 Amazon CodeWhisperer 的代码建议补全如下。

09a4e3edc3aaddf74430ea5f1cf46e2c.png

短短三五分钟,它就能够大概地把这种算法模型的架构搭出来,省去了很多不必要的麻烦。这说明,Amazon CodeWhisperer 是真的能够覆盖很多场景,就连高级的数学知识、数据科学类方面的代码,也是能够进行补全编写的。在简单易上手的基础上,Amazon CodeWhisperer 主打的就是一个全能,能够覆盖多领域多方向需求。

2.4  Amazon CodeWhisperer 的安全扫描功能

我找了一份研究生数学建模的参考示例代码,按照惯例,参考示例代码应该是没有问题的。我们一起看看 Amazon CodeWhisperer 的安全扫描会不会提出什么安全漏洞建议:

ba18871421cc544979aaee5bd9109f35.png

3e4a288b14cde0293f1c830ec857d719.png

结果显示,扫描一切正常,说明这份参考示例代码是没有问题的,符合预期。

d8876ebe5ec71689e3f549302ee572a9.png

03

Amazon CodeWhisperer 总结

通过上面的讲解和实践,相信各位开发者朋友肯定很心动了。还等什么,赶紧用起来吧!

总结一下 Amazon CodeWhisperer 的优点:

  • 1、对小白友好,不存在什么引入难度。大家可以看到 Amazon CodeWhisperer 导入及使用大概两分钟就能操作完,十分便捷,不需要什么时间。

  • 2、上手简单。其实使用 Amazon CodeWhisperer 就几个快捷键,Tab 这种,使用起来也是完全没有任何的难度。

  • 3、覆盖面广,功能全面。可以看到,对于一些高级数学知识,它也能够很快的给出代码建议。这一点非常实用,因为在开发中我们会遇到各种各样的问题与需求,代码助手的全面性决定了是否能够帮助更多的开发者。所以我觉得 Amazon CodeWhisperer 是非常优秀的,功能全面无死角。

  • 4、维护了代码开发安全。可能很多刚工作几年的开发者,对于代码安全方面并不是非常有经验,但 Amazon CodeWhisperer 刚好就能够有效识别和修复潜在的安全漏洞,这是非常重要的一个功能。

综上所述,我觉得 Amazon CodeWhisperer 是一款各方面都非常不错的 AI 代码助手!

本文为「云上探索实验室」的作品之一。点击这里或点击阅读原文,查看更多 Amazon CodeWhisperer 极客心得!

08500e2b15c0941a9c509120b7d5a7c6.gif

星标不迷路,开发更极速!

关注后记得星标「亚马逊云开发者」

6f760b17c2c10febd1a7d6d24001da8e.gif

听说,点完下面4个按钮

就不会碰到bug了!

d05296da7f12959de3dfa86a8d57f8d6.gif

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐