免费的实时AI编程助手:Amazon CodeWhisperer使用体验

前言

  随着大型语言模型(LLM)的普及,AI编程助手作为LLM技术的一个突出应用场景,正在逐渐改变开发者们的工作方式。本文将深入探讨由亚马逊推出的实时AI编程助手:Amazon CodeWhisperer。让我们一起来探索它的功能、优势以及对编程方式的潜在影响。

什么是 Amazon CodeWhisperer

  Amazon CodeWhisperer是亚马逊推出的实时AI编程助手,经过数十亿行代码的训练,可以根据注释和现有代码实时生成从代码片段到全函数的代码建议。此外,CodeWhisperer 可以标记或筛选类似开源训练数据的代码建议,获取相关开源项目的存储库 URL 和许可证,开发者可以轻松地查看它们并添加归因。更重要的是,CodeWhisperer 可以扫描代码来检测难以发现的漏洞,获取代码建议来立即修复这些漏洞。最贴心的是,CodeWhisperer 支持 Python、Java 和 JavaScript 等15 种编程语言,还有支持 VS Code、IntelliJ IDEA、Amazon Cloud9、Amazon Lambda 控制台、JupyterLab 和 Amazon SageMaker Studio 等集成式开发环境。

Amazon CodeWhisperer功能特性
  • 量身定制的实时代码建议
  • 支持热门编程语言和 IDE
    • 支持的语言:Python、Java、JavaScript、TypeScript、C#、Go、Rust、PHP、Ruby、Kotlin、C、C++、Shell 脚本、SQL 和 Scala
    • 支持的IDE:JetBrains IDE(IntelliJ IDEA、PyCharm、WebStorm 和 Rider)、Visual Studio(VS)Code、AWS Cloud9、AWS Lambda 控制台、JupyterLab 和 Amazon SageMaker Studio
  • CodeWhisperer 通过提供针对 AWS API 进行优化的代码建议,让开发人员更高效地使用 AWS 服务
  • 内置安全扫描,可以扫描 Java、JavaScript 和 Python 项目以检测难以发现的漏洞,也是目前市面上唯一一个具有安全扫描功能的AI编程助手
  • 负责任地编写代码:开源代码的引用跟踪器、避免偏见
  • 个人用户完全免费,无任何功能阉割
Amazon CodeWhisperer安装配置

  Amazon CodeWhisperer被集成在AWS Toolkit插件中,AWS Toolkit支持多种IDE,我们可以在开发者常用的VS Code,JetBrains IDE应用商店内搜索AWS Toolkit安装。本文将基于VS Code演示Amazon CodeWhisperer基本的安装配置

  • 在VS Code应用商店中搜索AWS Toolkit并安装

    VeryCapture_20231008200122

  • 插件安装成功后,点击左侧工具栏中的AWS图标,按照下图步骤,登录AWS Builder ID

    image-20231008202359569

    image-20231008203030721

    image-20231008203426170

    image-20231008203628090

    image-20231008203749530

Amazon CodeWhisperer本地初体验

  插件安装成功后,我们先来简单了解下插件的使用方法:

操作 快捷键
手动触发CodeWhisperer建议 MacOS: Option + C
Windows: Alt + C
接受建议 Tab
下一个建议
上一个建议
拒绝建议 ESC、退格键,或继续输入内容,一旦出现字符不匹配,建议将立即消失

接下来,让我通过几个常见的开发场景来深入体验Amazon CodeWhisperer的功能和实用性:

  • 基于Comments的代码提示:20秒搞定冒泡排序

    VeryCapture_20231009191548

    运行一下,代码可正常运行并输出正确的结果:

    image-20231009192025534

  • 基于上下文的代码补全提示:流畅的编程体验

    通过动图我们可以看到,当我们输入一部分代码的时候,Amazon CodeWhisperer能够根据我们的输入内容以及周围的上下文内容,迅速洞察我们的编程意图,并随后提供精准的代码建议,它不仅仅是简单地匹配字符串,而是理解开发者的意图。然后,它会智能地预测下一步可能的操作,并向开发者提供相关的代码建议,开发者只需要做好Code Review就能快速的完成代码编写。这种能力使开发者能够更快地编写代码,减少了犯错的机会,提高了代码的质量。

    VeryCapture_20231009201516

  • 多种编程语言混合开发
    Amazon CodeWhisperer似乎是基于当前文件类型来确定编程语言,这种判断策略对前端工程师来说可能不太友好。举例来说:假设开发者正在编辑一个HTML登录页面,同时需要在该文件中编写JavaScript代码提交表单数据。自然而然地,开发者期望在编码过程中获得有关JavaScript的自动提示和补全功能,以提高开发效率和代码质量。然而,目前的情况是,虽然Amazon CodeWhisperer本身支持JavaScript,但由于它将当前文件类型识别为.html,它会向你显示以下信息:html is currently not supported by CodeWhisperer。这种情况下,开发者无法充分利用Amazon CodeWhisperer来辅助编写JavaScript代码。如果Amazon CodeWhisperer能够更智能地基于上下文内容来判断编程语言,而不仅仅依赖于文件类型,那么在同一文件中基于多种编程语言混合开发的产品体验将会得到显著提升,使开发者开发过程更加流畅,提高开发者的生产力和舒适度。

    image-20231009195327917

AWS CodeWhisperer的云端生态整合

  AWS CodeWhisperer充分依托AWS的强大生态系统,实现了AWS服务的无缝集成,将AI智能编程体验带到了云端IDE。AWS CodeWhisperer不仅可以在本地IDE中使用,还可以在AWS Cloud9、AWS Lambda 控制台和Amazon SageMaker Studio上免费使用,这显著提升了云端IDE编程的便捷性。下面将分享在AWS Cloud9中使用CodeWhisperer编写Python代码来创建S3存储桶的简单体验。

VeryCapture_20231010163254

总结

  Amazon CodeWhisperer是一款突破性的代码辅助工具,不仅仅是一个代码提示工具,更是一款智能化的编程伴侣。它不同于传统的代码提示工具,因为它具备高度理解和上下文感知的能力,这使得它在帮助开发者提高开发效率、降低错误率以及促进编程学习方面具有独特的优势。

  通过深度学习和自然语言处理技术,CodeWhisperer能够实时分析开发者的编码需求。这意味着它能够理解开发者正在解决的问题,并基于这一理解提供精准的代码建议、自动补全和错误检查。这不仅节省了开发者大量繁琐的代码书写工作,还让他们能够更专注于解决问题和创造价值。

  另一个显著的优势是它有助于降低错误率。CodeWhisperer能够及时发现潜在的代码问题,并给出改进建议,这有助于避免在后期开发过程中出现严重的错误,从而节省了时间和资源。

  此外,CodeWhisperer还是一个出色的编程学习工具。它提供了实时的代码解释和建议,帮助开发者理解编程概念和最佳实践。这对于初学者来说尤其有价值,因为它可以加速他们的学习过程,使他们更快地掌握编程技能。

  除了这些基本功能之外,Amazon CodeWhisperer还有两个独有的特性,使其在市场上脱颖而出。首先,它针对AWS API进行优化的代码建议,这意味着使用AWS云服务的后端开发者能够获得独有的代码建议和最佳实践,从而更好地利用AWS云服务。其次,CodeWhisperer提供了安全扫描功能,这是市面上唯一具有这个功能的AI助手。这意味着它可以帮助开发者及时发现潜在的安全漏洞和问题,提高应用程序的安全性。

  最重要的是,CodeWhisperer针对个人用户是完全免费的。这意味着任何开发者都可以充分利用它的功能,提高他们的开发效率,降低错误率,并加速编程学习过程,而无需支付额外费用。这使得它成为了一个极具吸引力的编程工具,无论是新手还是有经验的开发者都能受益匪浅。

猜你喜欢

转载自blog.csdn.net/u012203867/article/details/133753548
今日推荐