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

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

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

    阅读完需:约 4 分钟

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

活动推荐: #生成式 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】协议,转载请保留原文出处及本版权声明。

公众号推荐:

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

2023-08-24 14:385167

评论

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

【Java知识点详解 10】为何要配置环境变量(1),java从入门到精通第五版电子书百度云

Java 程序员 后端

【Linux 4】定时任务调度与进程服务管理,java编译器下载教程

Java 程序员 后端

Zookeeper原理篇-Zookeeper启动流程分析,从底层开始带你了解并发编程

Java 程序员 后端

【Java技术探索】,区块链技术kafka

Java 程序员 后端

《黑马程序员》通讯录管理系统实战,终于搞明白了

Java 程序员 后端

【Java从0到架构师】学习记录,BAT大厂面试基础题集合

Java 程序员 后端

Web开发基础:JavaScript常用类、面向对象和BOM,java中锁的实现原理

Java 程序员 后端

Zookeeper系列-我保证!样样聚到!没有一句废话,今日头条面试经历

Java 程序员 后端

“996”为什么还没实行,mybatis从入门到精通电子书

Java 程序员 后端

【Java 多线程 3】线程池2,linux内核编程进阶篇pdf

Java 程序员 后端

XML简介,kafka教程尚谷

Java 程序员 后端

【Java8 新特性 5】Java8 stream的详细用法,java开发面试视频

Java 程序员 后端

「Java」几种典型的内存溢出案例,linux视频教程迅雷下载

Java 程序员 后端

【java后台面经】春招&秋招求职大佬面试经验分享,java面试线程问题

Java 程序员 后端

【MyBatis 1】SQL注入,Java技术功底不够如何去面试

Java 程序员 后端

YYDS,瞬间秒杀全网,这套Java面试笔记可以解决90,kafka基础架构消费模式

Java 程序员 后端

《重构 改善既有代码的设计 3》代码的可理解性应该是我们虔诚追求的目标

Java 程序员 后端

「并发原理专题」AQS的技术体系之CLH,java基础重点知识点

Java 程序员 后端

「源码解析」 消息队列Kombu基本架构综述,透过根源从而探究红黑树的本质

Java 程序员 后端

【 大厂必考之JVM】01,kafka原理和面试笔试题目

Java 程序员 后端

【95 后 Java 程序员的大厂梦】三年开发经验,springboot开源项目讲解

Java 程序员 后端

【Java知识点详解 10】为何要配置环境变量,rabbitmq的消息持久化原理

Java 程序员 后端

【PyQt5】designer 页面点击按钮跳转页面,华为面试笔试题java

Java 程序员 后端

“996”为什么还没实行(1),java零基础教程视频

Java 程序员 后端

《零基础》MySQL 连接的使用(二十),开发多年HashMap原理不知道

Java 程序员 后端

【MyBatis 2】MyBatis-Plus,java多线程常见面试题

Java 程序员 后端

Zookeeper(从7个方面来了解Zookeeper基础概念),java新技术网站

Java 程序员 后端

「Java」手把手理解CAS实现原理,学习linux编程

Java 程序员 后端

【Java 强化】代码规范,springcloud视频

Java 程序员 后端

volatile 和原子类的异同,画个图理解一下,面试官让我下周来上班

Java 程序员 后端

《项目开发团队分配管理软件》,nginx面试题阿里

Java 程序员 后端

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