2023年4月18日,亚马逊云科技宣布,实时AI编程助手Amazon CodeWhisperer正式可用,同时推出的还有供所有开发人员免费使用的个人版(CodeWhisperer Individual)。CodeWhisperer 帮助开发者基于注释生成代码,追踪开源参考,扫描查找漏洞。确保了开发人员可以专注于敏捷开发,不会由于搜索示例代码等工作而打断思绪。在创建复杂代码和面对不断变化的开发环境时,开发人员可以在自己喜欢的IDE(集成开发环境)中使用CodeWhisperer,例如Visual Studio Code、IntelliJ IDEA及其他IDE,从而提高工作效率、简化工作任务。CodeWhisperer可以帮助开发者创建代码胜任如下场景,比如常规、耗时的无差别任务,或是在使用不熟悉的API或SDK时构建示例代码,亦或要正确高效地使用亚马逊云科技API操作,还有其他场景比如编写读写文件、处理图像、编写单元测试等代码。
只需使用一个电子邮箱账号,用户就能够在几分钟内完成注册,开始高效地编写代码,甚至不需要注册亚马逊云服务用户账号。针对企业版用户,CodeWhisperer提供了具有诸多管理功能的专业版,比如与单点登录 (SSO)和身份与访问管理服务 (IAM)集成、为参考代码建议设置控制规则,以及具备更高的安全扫描限制。除了为Python、Java、JavaScript、TypeScript和C#生成代码片段建议外,正式发布版现在还支持Go、Rust、PHP、Ruby、Kotlin、C、C++、Shell脚本、SQL和Scala。CodeWhisperer不仅原生支持Amazon Cloud9或Amazon Lambda控制台,还通过插件集成到Visual Studio Code、IntelliJ IDEA、CLion、GoLand、WebStorm、Rider、PhpStorm、PyCharm、RubyMine和DataGrip等IDE中,方便用户使用。
帮助开发人员在开发中保持心流状态、减少干扰愈发重要。开发人员面对越来越大的完成任务的时间压力,在遇到问题时,他们常常被迫打断编程节奏,转而上网搜索、访问StackOverflow等网站或寻求同事的帮助以便完成任务,而查询的过程又会带来更多的干扰。为应对这一挑战,开发人员编写代码或注释时可以直接在IDE中直接寻求 CodeWhisperer建议并得到实时反馈,高效地完成工作。在预览期间,我们还进行了一项生产力测试,与未使用CodeWhisperer的参与者相比,使用CodeWhisperer的参与者完成任务的速度平均快57%,成功率高27%。
开发人员最终完成的代码可能存在各式各样的问题,比如含有隐藏的安全漏洞、存在偏见或不公正,或未能负责任地使用开源代码。这些问题之后还需要开发人员解决,从而影响他们的工作效率。CodeWhisperer在安全编码和负责任地使用AI方面是最好的编程助手。为了帮助开发人员负责任地编码,CodeWhisperer过滤掉了可能被认为有偏见或不公正的代码建议,它可以过滤或标记类似于特定开源训练数据的代码建议,并且是唯一具备该功能的编程助手。当生成的代码类似于训练集中的参考代码时,它会为代码提供额外的提示(比如代码库URL和许可证),帮助降低使用代码的风险,并使开发人员重复利用代码。
CodeWhisperer是唯一具有内置安全扫描功能(通过自动推理实现)的AI编程助手,用于查找难以检测的漏洞并提出补救建议,例如十大开放式Web应用程序安全项目(OWASP)中的漏洞以及不符合加密库最佳实践的漏洞等。如果CodeWhisperer发现了漏洞,它会提供解决问题的建议。
CodeWhisperer提供的代码建议并不仅限于生成调用亚马逊云服务上的代码。不过,CodeWhisperer针对最常使用的亚马逊云服务API进行了优化,比如Amazon Lambda或Amazon Simple Storage Service(Amazon S3),使其成为在亚马逊云服务上构建应用程序的最佳编程助手。CodeWhisperer在跨多种编程语言为通用场景提供代码辅助的同时,由于使用了基于亚马逊云服务API的额外代码进行调优,在那些调用亚马逊云服务的场景中,CodeWhisperer可以生成最高质量、最准确的代码。