介绍 Amazon CodeWhisperer,这是 ML 支持的编码伴侣 PlatoBlockchain 数据智能。 垂直搜索。 哎。

介绍 Amazon CodeWhisperer,这是 ML 支持的编码伴侣

我们很高兴宣布 亚马逊 CodeWhisperer,一种机器学习 (ML) 支持的服务,通过根据开发人员的自然评论和先前的代码提供代码建议,帮助提高开发人员的工作效率。 使用 CodeWhisperer,开发人员可以简单地用简单的英语编写一个概述特定任务的注释,例如“将文件上传到 S3”。 基于此,CodeWhisperer 自动确定哪些云服务和公共库最适合指定任务,动态构建特定代码,并直接在 IDE 中推荐生成的代码片段。

尽管云通过提供对计算、存储、数据库、分析和机器学习的按需访问使应用程序开发民主化,但构建软件应用程序的传统过程仍然需要开发人员花费大量时间编写样板代码部分与他们试图解决的核心问题直接相关。 即使是最有经验的开发人员也很难跟上多种编程语言、框架和软件库,同时确保他们遵循正确的编程语法和最佳编码实践。 因此,开发人员花费大量时间从 Web 搜索和自定义代码片段。 使用 CodeWhisperer,开发人员可以专注于 IDE,并利用已经定制并可以使用的实时上下文建议。 远离 IDE 的干扰更少,即用型实时建议可帮助您更快地完成编码任务并提高工作效率。

在这篇文章中,我们将讨论 CodeWhisperer 的好处以及如何开始使用。

让 ML 的力量触手可及

CodeWhisperer 作为 AWS Toolkit 扩展的一部分提供,适用于主要 IDE,包括 JetBrains、Visual Studio Code 和 AWS 云9。 在 AWS Lambda 在控制台中,CodeWhisperer 可作为本机代码建议功能使用。 在启动时,您可以使用 CodeWhisperer 为 Python、Java 和 JavaScript 生成代码推荐。 您可以通过转到 IDE 的插件或扩展屏幕并搜索 AWS Toolkit 来安装 AWS Toolkit。

介绍 Amazon CodeWhisperer,这是 ML 支持的编码伴侣 PlatoBlockchain 数据智能。 垂直搜索。 哎。

启用 CodeWhisperer 后,当您开始编写代码或注释时,您会自动开始在 IDE 中接收代码推荐。 通过与您所在的开发人员会面,我们使 CodeWhisperer 易于使用和试验。 您可以在几分钟内开始并立即开始享受生产力优势。

远远超过传统的自动完成

传统的自动完成工具提供单字完成,例如,对象的属性或方法列表。 CodeWhisperer 通过一次生成整个函数和逻辑代码块来提供更好的生产力提升。 此外,CodeWhisperer 了解开发人员通过简单的英语注释表达的意图。 以下示例显示了 CodeWhisperer 如何生成将 JSON 文件转换为 CSV 文件的整个函数,同时考虑开发人员将 JSON 文件中的键用作 CSV 文件的标头的意图。

介绍 Amazon CodeWhisperer,这是 ML 支持的编码伴侣 PlatoBlockchain 数据智能。 垂直搜索。 哎。

在 AWS 上构建应用程序变得更加容易

CodeWhisperer 通过为 AWS 应用程序编程接口 (API) 跨最流行的服务(包括 亚马逊弹性计算云 (Amazon EC2)、Lambda 和 亚马逊简单存储服务 (亚马逊 S3)。 当您在 IDE 中编写代码时,CodeWhisperer 会自动分析注释,使用相关云服务和公共软件库组装代码以获得所需的功能,并直接在 IDE 中推荐符合最佳实践的代码片段甚至整个功能。 以下示例显示 CodeWhisperer 如何使用服务器端加密生成将文件上传到 Amazon S3 的整个函数。

介绍 Amazon CodeWhisperer,这是 ML 支持的编码伴侣 PlatoBlockchain 数据智能。 垂直搜索。 哎。

负责任地利用人工智能的力量

我们已经在大量公开可用的代码上训练了 CodeWhisperer 模型,以提高推荐的准确性。 简单地说,模型的准确性与训练数据的大小成正比。 虽然这在准确性方面帮助了我们,但这些类型的模型也可以学习一些不需要的模式。 我们相信,虽然人工智能无疑可以提高生产力,但我们必须以负责任的方式利用这种力量。 有一些出色的功能使 CodeWhisperer 在这个领域独树一帜。

在 AWS,我们喜欢说安全是零工作。 这就是为什么 CodeWhisperer 还提供对您的代码(由 CodeWhisperer 生成并由您编写)运行扫描以检测安全漏洞的原因。 以下屏幕截图说明了 CodeWhisperer 的安全扫描功能。 我们包含了一个可能导致资源泄漏的代码片段。 当你选择 运行安全扫描, CodeWhisperer 检测到此漏洞并显示问题。

介绍 Amazon CodeWhisperer,这是 ML 支持的编码伴侣 PlatoBlockchain 数据智能。 垂直搜索。 哎。

其次,我们提供了一个参考跟踪器,可以检测生成的输出何时可能与特定的训练数据相似。 尽管模型已经学会了如何编写代码并基于学习生成全新的代码,但在极少数情况下,独立生成的代码推荐可能类似于训练数据中的唯一代码片段。 通过在发生这种情况时通知您并为您提供存储库和许可信息,CodeWhisperer 使您可以更轻松地决定是否在您的项目中使用该代码,并根据您的需要确定相关的源代码归属。

CodeWhisperer 通过在推荐弹出窗口中显示通知实时告诉您,您看到的当前代码推荐可能类似于参考代码。 在以下屏幕截图中,我们发现生成的代码与 MIT 许可下的参考代码相似。 如果开发人员接受建议,CodeWhisperer 会记录接受和相应的许可信息。 然后,您可以通过选择 CodeWhisperer 节点下的打开 CodeWhisperer 参考面板来查看参考日志。

介绍 Amazon CodeWhisperer,这是 ML 支持的编码伴侣 PlatoBlockchain 数据智能。 垂直搜索。 哎。

最后,我们正在实施技术来检测基于常见刻板印象的偏见。 我们已经实施了过滤器,可以检测生成代码中的明显偏差,并删除可能被认为有偏见和不公平的代码推荐。 例如,想象一个通过自动筛选候选人来帮助招聘经理的招聘软件。 在平局的情况下,软件依赖于平局逻辑。 在为这种情况生成推荐时,AI 模型可能会根据不适当的参数生成有利于候选人的代码。 CodeWhisperer 可以检测其建议中的偏见,并在向开发人员显示建议之前将其过滤掉。

使用 CodeWhisperer 释放生产力提升

“在编码过程中,分心是一个持续的挑战,尤其是当需要切换上下文以在 Web 上查找代码示例和文档时。 Amazon CodeWhisperer 通过在我需要时自动提供有用的建议,让我专注于代码,因此我永远不必离开我的编辑器。”

– Ryan Grove,SmugMug 的高级软件工程师。

“我们很高兴与 AWS 合作,将 Amazon CodeWhisperer 引入 IntelliJ 平台。 在 JetBrains,我们的目标是让软件开发成为一种顺畅而愉快的体验。 我们工具的插件的可用性将帮助开发人员专注于他们的 IDE,并减少从 Web 搜索和自定义代码片段的需要。 从今天开始,IntelliJ IDEA、PyCharm 和 WebStorm 的用户可以直接在他们的 IDE 中使用 Amazon CodeWhisperer,在不久的将来还会支持更多的 IDE。”

– Max Shafirov,JetBrains 首席执行官。

入门

在预览期间,CodeWhisperer 可供全球所有开发人员免费使用。 要在预览版中访问该服务,请通过以下方式加入候补名单 报名. 有关该服务的更多信息,请访问 亚马逊 CodeWhisperer.


作者简介

介绍 Amazon CodeWhisperer,这是 ML 支持的编码伴侣 PlatoBlockchain 数据智能。 垂直搜索。 哎。安库尔·德赛 是 AWS AI 服务团队的首席产品经理。

介绍 Amazon CodeWhisperer,这是 ML 支持的编码伴侣 PlatoBlockchain 数据智能。 垂直搜索。 哎。阿图尔·迪奥 是 AWS AI 服务团队的产品管理总监。

时间戳记:

更多来自 AWS机器学习