AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

挑战三大任务,Amazon Q 生成代码的能力到底如何?

  • 2023-08-24
    北京
  • 本文字数:1300 字

    阅读完需:约 4 分钟

挑战三大任务,Amazon Q 生成代码的能力到底如何?

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

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


ChatGPT 火出圈之后,AI 大模型编程越来越多,虽然 AI 编码暂时无法完全替代程序员,但是时代变化、潮流趋势所向,大家没有必要过多焦虑,而是应该拥抱变化,拥抱趋势,尝试用 AI 辅助自己的编码,看是否可以得到帮助,本文试用了 Amazon 的 CodeWhisperer AI 编程工具,在这里做一个小小的总结。


CodeWhisperer 通过 AI 技术,可以自动分析代码库中的模式和常见用法,从而生成符合标准的代码片段,其旨在帮助开发人员节省时间和精力,提高开发者的工作效率。


当前 CodeWhisperer 支持集成到几种开发环境中,VS、Jetbrains、JupyterLab,Lamda 等,由于平时用 C++/Python/Go 比较多,因此本文使用 JetBrains 的 Clion 来测试 CodeWhisperer 生成 C++的能力,首先安装好 Clion(具体步骤网上找或者亚马逊官网指导书),进行 Clion 后,首先通过 tools 搜索安装 aws toolkit,安装好后启动就可以使用 CodeWhisperer 了,第一次启动时会生成一个验证码,链接到你的亚马逊账号进行授权,此处不细讲,按照提示操作即可



下面进入正题:


使用 CodeWhisperer 生成代码,需要添加注释,其会根据注释一行一行完成代码编写,并且会帮助你完成要编写代码的注释

任务一:

测试生成全部代码能力,主题完成一个 TCP Server 收发数据,下面图里是一步步的结果




最终完成的代码如下


生成过程并非像 ChatGPT 一样,一股脑的代码全部生成扔给你,需要开发同学一行一行的插入确认,这种情况也有好处,在于可以在开发过程中自己一行一行的确认正确性及问题,避免一大堆复杂代码重新费神的确认逻辑。


任务二:

推荐相应功能的开源库以及使用已集成的开源包进行代码生成测试,主题完成一个 SIP 消息处理函数,下面图片展示其完成过程和结果


(1)使用 osip2 解析 sip 消息,下面是生成的代码,基本符合预期



 (2) 期望重新推荐一个 sip 消息解析库,不知道是我已经集成了解析库还是还是什么其他原因,没有成功


可见 CodeWhisperer 对于 Github、Gitee 以及互联网上标准开源库是进行过训练的,可以读懂 oSip2 是一个很有名的 sip 协议栈,因此可直接使用其 API 根据注释生成可用代码


任务三:

基于已完成部分代码,根据注释生成补全代码,CodeWhisperer 也可以根据上下文和注释补齐代码的相应功能,建立一个资源分配函数(带一定的业务功能),完成一半的部分(>4),让 CodeWhisperer 完成剩下的部分(<4),下面展示结果




最终的结果



至此任务三测试完成,生成了基本可用的代码。


最后总结,CodeWhisperer 对于能够更快地编写代码还是有一定的帮助。


首先,在集成开源或者第三方不熟悉的代码库时,它可以为我节省大量的时间去学习和查阅 API 接口文档,让我能够专注于改进和测试。


其次,可以帮助我节省繁琐的重复性工作,如上面的 TCP Socket 处理。


当然,也期望可以后续可以生成整体代码段的方式,对于非复杂逻辑代码的场景其效率是更高的。


版权声明: 本文为 InfoQ 作者【Hanson】的原创文章。

原文链接:【https://xie.infoq.cn/article/386428468269729e334f2c134】。

本文遵守【CC BY-NC】协议,转载请保留原文出处及本版权声明。

2023-08-24 14:385402

评论

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

ChatGPT 不适合您吗?这是您可以尝试修复它的方法

外贸IT程序客

OpenAPI ChatGPT 人工智能ChatGPT 吗? ChatGPT4

什么是 ChatGPT Plus,您应该得到它吗?

外贸IT程序客

ChatGPT 人工智能ChatGPT 吗? ChatGPT4

会思考的狗、聪明的马和随机鹦鹉

FinClip

ChatGPT 应用汇总及操作手册

外贸IT程序客

ChatGPT 人工智能ChatGPT 吗? ChatGPT4

小程序化数字人:构建智能化的门户解决方案

FinClip

软件测试/测试开发丨面试题之Linux 与 Python 编程篇

测试人

软件测试 面试题 测试开发

如何使用 Gmail Smart Compose 更快地撰写电子邮件

外贸IT程序客

谷歌 youtube

如何使用等待队列

linux大本营

队列

极客星球|数据分析引擎黑马ClickHouse技术研究与实践

MobTech袤博科技

K8s入门教程:10分钟带你速览全程

加入高科技仿生人

低代码 #k8s 容器化部署

posix协议挂载约束

linux大本营

posix

C++查询数据库后写入Qtableview中配合Qstandaritemmodel

linux大本营

c++ 数据库

ChatGPT 错误代码 1020:这是什么以及如何解决?

外贸IT程序客

ChatGPT 人工智能ChatGPT 吗? ChatGPT4

使用C++实现一个微积分的应用案例

linux大本营

c++

SOS大规模敏捷开发实施全流程项目管理(Scrum of Scrums)

顿顿顿

Scrum 敏捷开发 项目管理工具 敏捷开发管理工具 研发管理软件

ChatGPT 可以写你的论文,但你应该使用它吗?

外贸IT程序客

ChatGPT 人工智能ChatGPT 吗? ChatGPT4

什么是 GPT-4,它是如何工作的?ChatGPT 的新模型解释

外贸IT程序客

ChatGPT 人工智能ChatGPT 吗? ChatGPT4

nginx入门教程

linux大本营

nginx

如何更改 Gmail 主题–只需4步完成

外贸IT程序客

谷歌 youtube

ChatGPT 有字符限制吗?这是绕过它的方法

外贸IT程序客

ChatGPT 人工智能ChatGPT 吗? ChatGPT4

架构设计通用原则

阿泽🧸

架构设计 三周年连更

iOS MachineLearning 系列(7)—— 图片相似度分析

珲少

软件测试/测试开发丨面试题之计算机网络和数据库篇

测试人

软件测试 面试题 自动化测试 测试开发

急急急!Kafka Topic 资源权限紧张怎么办?

Zilliz

Zilliz mivlus kafkatopic

指导机器人如何翻译狗叫笑话

FinClip

这8个摸鱼神器,千万别让你老板知道!

引迈信息

效率 程序员 工具 低代码 JNPF

如何将 Outlook 邮件自动转发到 Gmail

外贸IT程序客

谷歌 youtube

如何按发件人、大小、日期和未读对 Gmail 中的电子邮件进行排序

外贸IT程序客

谷歌收录 youtube

如何修复 ChatGPT 的内部服务器错误消息

外贸IT程序客

ChatGPT 人工智能ChatGPT 吗? ChatGPT4

怎样在 Gmail 中设置电子邮件自动提醒

外贸IT程序客

谷歌收录 youtube

C语言 unsigned long long 计算当前纳秒数时是否会越界

linux大本营

C'语言

挑战三大任务,Amazon Q 生成代码的能力到底如何?_亚马逊云科技_Hanson_InfoQ精选文章