AI 年度盘点与2025发展趋势展望,50+案例解析亮相AICon 了解详情
写点什么

挑战三大任务,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:385329

评论

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

让宝妈宝爸告别安全顾虑,区块链构建母婴行业新生态

CECBC

母婴

话题讨论|三大运营商Q1业绩大增,5G开始收割?

程序员架构进阶

5G 话题讨论 28天写作 4月日更 通信运营商

Dubbo 注册中心

青年IT男

dubbo

【一定要看哦】转瞬之间的成长,传播知识的梦想(赠予极客邦【1周年】)

洛神灬殇

程序人生 1 周年盛典 InfoQ 写作平台 1 周年 InfoQ 的朋友们

弱网下的极限视频通信学习感悟!

txp

音视频

LeetCode题解:191. 位1的个数,位运算,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

ceph-csi源码分析(3)-rbd driver-服务入口分析

良凯尔

Kubernetes 源码分析 Ceph CSI

一文带你了解华为云GaussDB的五大黑科技

华为云开发者联盟

数据库 华为云 GaussDB(for Influx) 时间线 tpmC

Faiss源码剖析:类结构分析

华为云开发者联盟

机器学习 KNN Faiss 类结构 Quantizer

耗时5小时,用低代码搭了2套应用,我才明白它为什么能火了

优秀

低代码 低代码开发 低代码开发平台 低代码平台

写作平台一周年-感谢曾经的自己

数据社

InfoQ 写作平台 1 周年 人气作者 TOP10

弱网下的极限实时视频通信

疯狂的驸马

音视频 编码 极限视频通信

北美一工作搜索引擎公司技术岗面经

HoneyMoose

图的学习总结

Nick

数据结构 数据结构与算法

ceph-csi源码分析(4)-rbd driver-controllerserver分析

良凯尔

Kubernetes 源码分析 Ceph CSI

客服中心简单分析

zzz

奋力前行,感谢有你

IT蜗壳-Tango

IT蜗壳 人气作者 TOP10

uni-app rtm插件集成指南及常见问题--iOS

anyRTC开发者

uni-app ios 音视频 WebRTC sdk

软件 IT 专业大学生职业方向情况调查

李孟聊AI

大学生日常 IT 大学生

如果你不知道从哪本书开始阅读,那就从这本开始吧

小天同学

读书 好书推荐 读后感 4月日更

漫游语音识别技术——带你走进语音识别技术的世界

攻城先森

深度学习 学习 音视频 nlp 语音识别

vue+webpack+vue-cli

Vue js 打包 webpack vuecli

人类视觉神经科学助力音视频产业革命-弱网下的极限实时通信

张音乐

音视频 笔记 弱网下的极限实时视频通信

NumPy之:数据类型对象dtype

程序那些事

Python 数据分析 Numpy 程序那些事

笔记分享--弱网下的极限实时视频通信

攻城先森

音视频 端到端 #弱网 极限视频通信

golang单元测试踩坑系列(一)

geange

单元测试 Go 语言

一房地产数据服务初创公司的面经

HoneyMoose

Python3 print变量打印输出功能后面隐含的几个知识点

老猿Python

Python print str repr

Kubernetes 上如何控制容器的启动顺序?

张晓辉

Kubernetes istio

First Unique Character in a String 的变种问题返回第一个找到符合条件的字符

HoneyMoose

中国区块链产业全景图

CECBC

技术应用

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