当前位置:首页 » 《随便一记》 » 正文

CodeGeeX、CodeWhisperer、Github Copilot三款AI辅助编程工具,程序员该如何选择?

5 人参与  2023年05月04日 12:17  分类 : 《随便一记》  评论

点击全文阅读


亚马逊今天在Re:Mars大会上宣布推出CodeWhisperer,这是一款类似于CodeGeeX和GitHub Copilot的AI辅助编程工具,它根据一个注释或几个按键来自动补全整个函数。目前支持Java、JavaScript和Python,和CodeGeeX一样,使用了数十亿行公开可用的开源代码、自己的代码库、公开可用的文档和公共论坛上的代码进行了训练。

现在,CodeWhisperer作为AWS IDE工具包的一部分在预览版中发布,这意味着开发人员可以在他们的IDE中使用它,包括Visual Studio Code、IntelliJ IDEA、PyCharm、WebStorm和亚马逊自己的AWS Cloud 9。AWS Lambda控制台的支持也即将到来。

在今天的发布之前,负责亚马逊AI服务的副总裁Vasi Philomin强调,亚马逊并不是简单的为了复制Copilot或者CodeGeeX而创建了这个工具。他指出,公司多年前就通过CodeGuru,其AI代码审核和性能分析器,以及DevOps Guru,用于查找操作问题的工具,为今天的发布打下了基础。

“我认为技术已经到了我们认为是合适的时间点,”Philomin说。在内部,亚马逊仅与少数开发人员进行了测试,主要是为了保守这个发布的秘密。

前文中提到的CodeGeeX也是一个使用AI技术的辅助编程工具,帮助开发人员更快的编写代码。可以自动完成整个函数的编写,只需要根据注释或Tab按键即可。它已经在Java、JavaScript和Python等二十多种语言上进行了训练,并基于大量公开的开源代码、官方文档和公共论坛上的代码来优化自己的算法。CodeGeeX作为一款中国原创的AI辅助编程工具,现在免费提供给所有开发者使用,同时完全开源,程序员使用普遍认为编写代码的效率提升2倍以上。

CodeGeeX的使用一样,CodeWhisperer会不断的检查您的代码和注释,甚至会考虑您自己的编码风格和变量名称。基于上下文信息,以及您光标所在的位置,它将生成自己的定制代码片段。需要注意的是,CodeWhisperer与Copilot等工具有一些不同之处。首先,虽然系统生成的大多数代码都是新的,但每次生成接近训练数据中现有片段的代码时,它会记录下来并突出显示原始函数的许可证。这取决于开发人员是否使用它。这应该可以减轻使用这种工具可能带来的一些(虽然可能不是全部的)版权问题。

Philomin强调的另一个因素是安全性。基于亚马逊自己管理大型代码库并在出现问题后进行调查的经验,以及其对CodeGuru的经验,CodeWhisperer将扫描代码以查找潜在的安全问题。

“安全性在AWS中始终很重要,因此我们希望确保我们生成的代码是安全的,” Philomin说道。“虽然我们已经生成了代码,而且开发人员可以更改它,CodeWhisperer具有运行当前源文件扫描的功能。它将扫描并告诉您在生成的或更改的代码中存在的任何问题和安全漏洞。”

Philomin还强调,团队努力确保CodeWhisperer生成的代码不会产生任何偏见。不过,如果出现这种情况,团队已经实施了自动删除该代码的过滤器。

实际的用户/开发者体验非常简单。和CodeGeeX一样,开发人员可以在不同的代码建议之间进行选择。它可以自动完成注释,仅基于这些注释,它就会生成建议使用的函数代码。一个简单的例子是查看一个数字是否为质数。

虽然CodeWhisperer对于AWS生态系统之外的开发人员也可以使用,但Philomin指出,团队更注重使用它来访问AWS更多服务的开发人员。他认为开发人员现在可以测试这项服务,很快可能会听到CodeWhisperer的表现如何,以及它与像CodeGeeX、Copilot这样的项目相比如何。不过,无论如何,在这个领域有更多的选择是很好的。

CodeWhisperer现已作为AWS IDE Toolkit的一部分进行预览,程序员的生产力提升工具再添一员猛将。

本文由博客一文多发平台 OpenWrite 发布!


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/60639.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1