9 月 13 日,2025 Inclusion・外滩大会「开源嘉年华」正在限量报名中! 了解详情
写点什么

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

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

    阅读完需:约 6 分钟

Amazon Q 初体验,享受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 的代码小屋】未经授权禁止转载,文章转载请联系作者。

2023-08-25 14:546128

评论

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

模块三

Winston

结语:Apache Spark 3_0(十二)

Databri_AI

sql spark API

一文搞定,轻松掌握,进程的内存消耗和泄漏

奔着腾讯去

内存泄露 Linux Kenel 进程管理 内存消耗 VMA

第三届WICC北京落幕 展现开发者服务生态与建设新方向

融云 RongCloud

安装 Druid 安装的时候提示 JAVA 版本的问题

HoneyMoose

Python OpenCV 图像处理之直方图相关知识细节,学点细的

梦想橡皮擦

7月日更

带你走进“华为链”

华为云开发者联盟

区块链 高性能 华为链 自研区块链平台 自主可控

如何对抗信息茧房?

caiyongji

程序员 信息茧房

Windows Service 小品

喵叔

7月日更

讲的是切片,但好像又不只是切片?

Gopher指北

Go 语言

坐下来谈谈如何写好一份简历?

童欧巴

面试 大前端 简历

区块链去中心化钱包开发|开发去中心化钱包

Geek_23f0c3

钱包系统开发 去中心化交易所系统开发 去中心化钱包 去中心化交易所

今晚拿下PHP反序列化的一系列操作

网络安全学海

php 网络安全 信息安全 渗透测试 漏洞分析

腾讯被罚了!!!

Jackpop

Java集合源码总结分析

音视频延时和抖动问题分析和解决

hanaper

模块三作业

河马先生

架构实战营

充满科技感的农业,是年轻人的『菜』吗?

百度大脑

人工智能

程序员如何快速成长为IT精英

孙叫兽

程序员 成长 IT职场

AI论文解读丨融合视觉、语义、关系多模态信息的文档版面分析架构VSR

华为云开发者联盟

语义 视觉 多模态信息 文档版式 VSR

教你如何成为解决问题的高手

孙叫兽

高手 解决问题

如何在二三线城市月薪过万(一)看完这篇后端简历优化,包你面试不断

小鲍侃java

面试 后端

Druid 如何开启查询日志

HoneyMoose

云图说 | 华为云医疗智能体,智联大健康,AI药物研发

华为云开发者联盟

AI 药物研发 医疗智能体

CloudQuery 首次开放API,v1.4.1将开放「部门导入」和「用户导入」

BinTools图尔兹

数据库 OpenAPI 数据库管控

如何激发责任心

escray

学习 极客时间 朱赟的技术管理课 7月日更

网络攻防学习笔记 Day89

穿过生命散发芬芳

网络攻防 7月日更

Linux之top命令

入门小站

Linux

全是蓝光,太狠了!

Jackpop

在线常用crontab表达式大全验证解析

入门小站

工具

男人要慢,SQL要快:记一次慢SQL优化

艾小仙

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