加入收藏 | 设为首页 | 会员中心 | 我要投稿 驾考网 (https://www.jiakaowang.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 动态 > 正文

AI编程,详情比较GitHub Copilot对比Amazon CodeWhisperer

发布时间:2023-11-01 10:52:37 所属栏目:动态 来源:
导读:AI编程,详细比较GitHub Copilot对比Amazon CodeWhisperer

1、简介
GitHub Copilot和Amazon CodeWhisperer是采用人工智能技术驱动的编码助手,它们将自动完成编码功能提升到一个全新的水平。在最佳状态下,它们可
AI编程,详细比较GitHub Copilot对比Amazon CodeWhisperer

1、简介
GitHub Copilot和Amazon CodeWhisperer是采用人工智能技术驱动的编码助手,它们将自动完成编码功能提升到一个全新的水平。在最佳状态下,它们可以根据开发者提供的简短描述性文本编写功能完整、可运行的代码块。通过这种做法,不但能提高开发效率、还可以使编程变得更加有趣。

2、什么是人工智能编码助手?
GitHub Copilot和Amazon CodeWhisperer是与代码编辑器集成的服务,可以帮助开发者更快地编写代码。但与常见的自动完成工具(如“IntelliSense”)不同,Copilot和CodeWhisperer利用的是在源代码和自然语言上都经过训练的机器学习模型,因此它们既能理解编程语言,也能理解人类语言。这使它们能够理解用简单英语编写的注释,根据开发者的意图生成代码,并匹配开发者的模式和风格。当开发者输入时,它们甚至会提供完成初始注释本身的建议。可以接受顶部的建议,也可以查看更多建议,或者继续编写自己的代码。

2.1 什么是GitHub Copilot?

开始输入描述性注释或函数名称,Copilot会尝试自动补全其余内容。

Copilot非常易于使用,并与所有主要的代码编辑器进行了简化集成。GitHub Copilot针对七种主要的编程语言进行了优化(详见下表),但也可以生成其他语言和各种框架的建议。

2.2 什么是Amazon CodeWhisperer?

Amazon CodeWhisperer是由亚马逊开发的。它的机器学习模型是在各种数据源(包括亚马逊的内部代码和开放源代码)上训练出来的。

3、比较

GitHub Copilot与Amazon CodeWhisperer的比较。

3.1 哪个更受欢迎?
由于CodeWhisperer的发布时间较短,GitHub Copilot凭借其一年的先发优势,目前占据着主导地位。根据GitHub自己的数据,在预览阶段的12个月里,超过120万开发者使用了Copilot的技术预览版。他们自己的研究表明,用户平均接受了GitHub Copilot提供的所有补全内容的26%,并且高达40%的开发者的代码文件是由GitHub Copilot生成的。

3.2 隐私如何保护?
为了提高性能,Copilot和CodeWhisperer都会收集用户的数据。在工作中使用这些工具是否会危及企业的代码库或数据?这是一个重要的问题,对于大多数公司来说可能是一个潜在的决定因素。

Amazon CodeWhisperer也会收集某些信息,如上下文信息(包括文件内容)、反馈、遥测指标和用户环境信息。在其服务条款中,亚马逊表示在预览阶段会向开发者提供打开或关闭内容共享的选项。

3.3 风险和漏洞如何处理?
这两个助手都是在可能包含不安全编码模式、错误或过时的API或习惯用语引用的公共代码上进行训练的。报告《Asleep at the Keyboard? Assessing the Security of GitHub Copilot’s Code Contributions》研究发现,在使用Copilot的测试场景中,多达40%的代码存在漏洞。

GitHub承认Copilot有时可能会建议使用旧的或已弃用的库和语言,并且它可能会合成包含不良模式的代码。为了减少这种情况,他们建议将其与GitHub Actions、Dependabot和CodeQL等工具结合使用,以帮助提高代码质量。

3.4 公共代码的(错误)使用情况如何?
关于在训练集中大量使用公共代码的问题已经引起了人们的关注。理想情况下,助手应该始终生成之前从未见过的代码。如果助手直接从训练集中引用代码,这可能使代码失去合理使用的资格,并可能侵犯原始所有者的版权。

为了减少这种情况,Copilot内置了一个过滤器,试图检测和抑制GitHub Copilot建议中包含的代码与GitHub上的公共代码相匹配的情况。这个过滤器是可选的,可以关闭。根据GitHub官方的说法,Copilot大约有1%的情况下会输出与公共代码完全相同的超过约150个字符的代码片段。他们将此归咎于GitHub Copilot无法从开发者正在编写的代码中获取足够的上下文,或者此问题存在一个常见的、甚至是普遍的解决方案。

4、胜出者是谁?
在语言和集成开发环境(IDE)支持方面,GitHub Copilot是胜者。它正式推出的时间更长,这就给了GitHub工作人员更多的时间来修复错误和解决问题。使用它需要进行少量的资金投入,但开发者将获得一个功能齐全、随时可用的产品。如果你想要在github上发布自己的代码,你可以选择使用这个工具。github是一个免费的开源项目管理平台,可以帮助你管理和维护你的项目。
 

(编辑:驾考网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章