NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

Amazon CodeWhisperer 初体验,享受 AI 带来的效率提升

  • 2023-08-25
    北京
  • 本文字数:1777 字

    阅读完需:约 6 分钟

Amazon CodeWhisperer 初体验,享受AI带来的效率提升

活动推荐: #生成式 AI 先锋开发者集结令 #

免费体验编程神器,丰厚大奖等你来拿!👉🏻👉🏻https://jinshuju.net/f/rVuKYa


随着 Github Copilot 在程序员中流行,越来越多的开源项目和大型公司也在代码生成这一领域发力。最近亚马逊就宣布了自家基于亚马逊云科技的代码生成项目 CodeWhisperer 开放测试,由于还在测试阶段,大家可以在各种 IDE 上免费体验,享受 AI 带来的效率提升。

安装


安装 CodeWhisperer 非常简单,只需要在插件市场搜索 AWS Tookit 即可。以 VS Code 为例:



安装完成之后侧边栏就会出现一个 AWS 的图标,点击最下面的 DEVELOPER TOOLS 登陆,登陆完成之后点击 CodeWhisperer,选择开始就可以体验了。



代码补全体验

获取当前时间


首先我们尝试一个非常简单的例子,用 Python 获取当前时间:


# get current timeimport time
def get_current_time():    return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
复制代码


实际上我们输入第一行的注释,代码助手就会提示我们输入import time,然后我们可以输入函数的定义def,剩下的都可以自动补充完整:



网页代码修改


首先我们搭了一个简单的网页,网页上面有两个正方形,分别是橘色和红色的,里面还有一些文字,像是 Test Hello World



<html>    <head>        <title>Test</title>        <style>            .test {                width: 100px;                height: 100px;                background-color: orange;            }            .hello {                width: 50px;                height: 50px;                margin: 10px;                background-color: red;            }        </style>    </head>    <body>        <div class="test">Test</div>        <div class="hello">Hello World!</div>    </body></html>
复制代码


现在,我们需要给 Test 这个正方形加上阴影,将*Hello World!*这个较长的字符串省略并在后面加上省略号。尝试给出注释:




这次它生成代码的时间比较长,不过还好最后还是顺利的生成了我们想要的格式:



算法应用


首先我们尝试一下经典的快速排序算法,它很顺利的生成出来了:



基本上是满足了快速排序算法的要求。


接着我们挑战一个难一点的,在字符串中找到最长的回文子串。这个问题可以用中心扩展法在O(n ^ 2)的时间复杂度完成,最优的算法是使用马拉车算法(Manacher's Algorithm),其时间复杂度仅为O(n)



它也很快得到了,不过实践是检验真理的唯一标准,我们来看看它能不能通过 LeetCode



一次通过!代码补全还是很强大的,我自己写的时候在循环的部分很容易就写错了。

单元测试


在日常工作时,我们需要编写单元测试可以在一定程度上保证我们对代码的修改的把握。我们可以对上面的马拉车算法进行单元测试的编写:



Python中我们一般用断言可以完成一些简单的单元测试,这里它给出了一些测试用例。不过我觉得还不够完善,因为s有可能为空或者None,它并没有测试到这些用例。

安全扫描


安全扫描(Security Scan) 是 Amazon CodeWhisperer 推出的一项崭新的功能。在测试阶段,我们每个月可以使用 50 次扫描。首先我们可以尝试一下官网的例子:



直接报错了。从提示来看,应该是因为在一个大的文件夹进行了安全扫描。所以新建一个文件夹再尝试:




这次顺利地得到了结果。不过其实这里面应该有两个安全问题,它只能检测到第一个。这是删除之后的扫描结果这时它才能检测到下一个安全问题:



这个功能确实能够检测出一定的安全问题,尝试使用 Copilot Chat,它只能傻乎乎的回复一些车轱辘话:


结语


总的来说,CodeWhisperer 还是有不少亮点。在代码生成方面几乎不逊色于 Copilot,生成的速度可能稍微慢点,质量还是比较优秀。安全检查是这次最与众不同的地方,需要注意的是扫描的文件长度应该有限制,但是官网中没有提到,稍显不足,但是整个功能还是非常有自己的特色的。除了这些,CodeWhisperer 比起 Copilot 还有一个不足是,没有一个理解代码,解释代码的工具。期待后续的功能更新和迭代。


版权声明: 本文源自微信公众号【air 的代码小屋】未经授权禁止转载,文章转载请联系作者。

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2023-08-25 14:545663

评论

发布
暂无评论
发现更多内容

常见经典vue面试题(面试必问)

bb_xiaxia1998

Vue

工作中常用的设计模式--享元模式

lpe234

Java 设计模式 享元模式 spring-boot

PPC Insights 系列:高效在线匿踪查询技术

洞见科技

隐私计算 数据隐私计算 匿踪查询

昇腾携手OpenMMLab,支持海量算法仓库的昇腾AI推理部署

华为云开发者联盟

人工智能 华为云 昇腾AI 12 月 PK 榜

新来了个同事,设计模式用的是真优雅呀!代码如诗!!

小小怪下士

Java 程序员 设计模式

Zebec正在以流支付的方式,推动加密资产支付走上正轨

鳄鱼视界

面试官:说说Event Loop事件循环、微任务、宏任务

loveX001

JavaScript

鸿蒙开发实例 | 鸿蒙操作系统的前世今生

TiAmo

华为 华为云 鸿蒙开发 12月月更

openEuler社区开源项目:CPDS(容器故障检测系统)介绍

openEuler

开源 容器 云原生 操作系统 openEuler

在vue的v-for中,key为什么不能用index?

bb_xiaxia1998

Vue

手写一个react,看透react运行机制

flyzz177

React

22道js输出顺序问题,你能做出几道

loveX001

JavaScript

社招前端二面react面试题集锦

beifeng1996

React

浅谈字节码增强技术系列2-Asm与Cglib

京东科技开发者

spring asm cglib spring aop JDK 动态代理

react的jsx和React.createElement是什么关系?面试常问

beifeng1996

React

数据驱动测试-从方法探研到最佳实践

京东科技开发者

测试 自动化测试 数据存储 自动化测试框架 测试数据构造

天翼云云WAF通过信通院云Web应用防火墙评估

Geek_2d6073

react的useState源码分析

flyzz177

React

react源码分析:组件的创建和更新

flyzz177

React

JavaScript刷LeetCode拿offer-树的遍历

js2030code

JavaScript LeetCode

JavaScript刷LeetCode拿offer-栈相关题目

js2030code

JavaScript LeetCode

深度分析React源码中的合成事件

flyzz177

React

前端必会面试题汇总

loveX001

JavaScript

React面试:谈谈虚拟DOM,Diff算法与Key机制

beifeng1996

React

容量保障落地四步走

老张

性能测试 服务治理 稳定性保障 容量测试 容量保障

深入React源码揭开渲染更新流程的面纱

flyzz177

React

react源码分析:深度理解React.Context

flyzz177

React

常见react面试题

beifeng1996

React

架构实战营 模块2作业

西山薄凉

「架构实战营」

前端一面高频面试题(附答案)

loveX001

JavaScript

秒云荣获2022爱分析·中国运维最佳实践案例大奖

MIAOYUN

运维 解决方案 容器云平台 云原生容器 IT解决方案

Amazon CodeWhisperer 初体验,享受AI带来的效率提升_亚马逊云科技_airmelt_InfoQ精选文章