[ 云计算 | AWS ] AI 编程助手新势力 Amazon CodeWhisperer:优势功能及实用技巧

文章目录

    • [一、Amazon CodeWhisperer 简介](#一、Amazon CodeWhisperer 简介)
      • [1.1 CodeWhisperer 是什么](#1.1 CodeWhisperer 是什么)
      • [1.2 Amazon CodeWhisperer 是如何工作的](#1.2 Amazon CodeWhisperer 是如何工作的)
    • [二、Amazon CodeWhisperer 的优势和功能](#二、Amazon CodeWhisperer 的优势和功能)
      • [2.1 Amazon CodeWhisperer 的优势](#2.1 Amazon CodeWhisperer 的优势)
      • [2.2 Amazon CodeWhisperer 的代码功能](#2.2 Amazon CodeWhisperer 的代码功能)
    • [三、Amazon CodeWhisperer 安装](#三、Amazon CodeWhisperer 安装)
      • [3.1 安装到 IntelliJ IDEA](#3.1 安装到 IntelliJ IDEA)
      • [3.2 安装到 VS Code 中](#3.2 安装到 VS Code 中)
    • [四、Amazon CodeWhisperer 使用实战](#四、Amazon CodeWhisperer 使用实战)
      • [4.1 根据注释生成相应代码](#4.1 根据注释生成相应代码)
      • [4.2 测试返回多个记录](#4.2 测试返回多个记录)
    • [五、CodeWhisperer 学习好礼](#五、CodeWhisperer 学习好礼)

一、Amazon CodeWhisperer 简介

1.1 CodeWhisperer 是什么

Amazon CodeWhisperer 利用机器学习在您编码时提供实时代码建议。这些量身定制的建议适合您当前的代码库,从注释到完整的功能。此外,该工具还执行安全扫描,通过查明可能的漏洞来提高代码质量。通过提供个性化、上下文相关的支持,CodeWhisperer 提高了效率并促进了编码最佳实践的采用。

一句话总结,Amazon CodeWhispere r是 Amazon 推出的一款AI编程助手。

这里提一下,Amazon CodeWhisperer 有两种,一种是个人用,一种是专业级的,大致的区分概括如下:

CodeWhisperer 个人用:代码建议和参考跟踪免费;每月还可免费扫描 50 次代码。

CodeWhisperer 专业级:根据最大用户数(即每个用户每月)按月计费。

1.2 Amazon CodeWhisperer 是如何工作的

我使用起来 Amazon CodeWhisperer 的感受是,你可以当 Amazon CodeWhisperer是一款人工智能伙伴。

你在 IDE 中写代码,或者有疑问编写注释等的时候,IDE会自动的发送你的需求,或者你想要的给 Amazon CodeWhisperer,Amazon CodeWhisperer 会使用 AI 生成基于 IDE中先前的代码和注释生成在你编写代码时提供类似自动补全的建议。你可以通过开始编写你想要使用的代码,或者写下自然语言描述想要代码实现的功能。

二、Amazon CodeWhisperer 的优势和功能

2.1 Amazon CodeWhisperer 的优势

个人研究学习的时候发现:Amazon CodeWhisperer优势还是比较多的,毕竟是大公司开发,起主要的功能可以归纳为:

  1. 通用代码生成器: Amazon CodeWhisperer 是一款旨在通过实时生成代码建议来帮助开发人员的工具。

  2. 机器学习驱动: CodeWhisperer 使用机器学习算法来理解和分析您编写的代码。它利用此分析来生成相关且上下文感知的代码建议。

  3. 实时建议:当您编写代码时,CodeWhisperer 会提供自动、即时的代码建议。这种实时反馈可以帮助简化编码流程并提高生产力。

  4. 上下文感知建议: CodeWhisperer 生成的建议是根据您的特定代码库量身定制的。它会考虑您现有的代码、注释和当前上下文来提供相关建议。

  5. 建议的范围不同: CodeWhisperer 的建议的复杂程度可能有所不同。它们的范围可以从简单的注释或代码注释到整个函数或代码块。

  6. 提高生产力:通过提供相关代码建议,CodeWhisperer旨在帮助开发人员更高效地编写代码,减少手动搜索代码示例或语法的需要。

  7. 代码安全分析:除了代码生成之外,CodeWhisperer 还能够扫描您的代码是否存在安全问题。它可以突出显示潜在的安全漏洞,帮助您识别和解决代码库中的安全问题。通过提供实时建议并突出显示安全问题,CodeWhisperer 可以推广编码最佳实践并鼓励遵守编码标准。

  8. 以开发人员为中心: CodeWhisperer 旨在支持开发人员完成编码任务。它旨在提供符合开发人员意图和编码实践的有意义的建议。CodeWhisperer 的代码建议根据开发人员的风格和编码偏好量身定制,打造更加个性化的编码体验。

  9. 学习潜力:开发人员可以从 CodeWhisperer 生成的建议中学习,深入了解编码模式和最佳实践。

2.2 Amazon CodeWhisperer 的代码功能

其实作为开发者,我们的重点大部分是关注 Amazon CodeWhisperer 能给出的diamante级别的建议到底是什么,体验下来可以看到 CodeWhisperer 给出的几种建议:

  • 单行代码完成:提供在您键入时完成单行代码的建议,帮助语法和函数调用。

  • 完整函数生成:根据上下文和编码模式自动生成完整函数。

  • 块完成:提供完成循环或条件等代码块的建议,从而改进代码结构。

  • Docstring 和 Javadoc 补全:生成函数和类的文档字符串,帮助编写代码文档。

  • 逐行建议:提供实时逐行编码建议,提高代码质量和效率。

  • 单行注释完成:提供完成单行注释的建议,帮助代码解释和注释。

例如,你可以通过单击向右箭头接受建议或查看多个代码建议。

三、Amazon CodeWhisperer 安装

3.1 安装到 IntelliJ IDEA

  1. 在 IntelliJ IDEA 中点击 Setting 打开设置窗口,随后点击 Plugins 进入插件页面
  2. 在搜索栏内搜索 AWS ToolKit
  3. 点击 Install 安装插件
  1. 待插件安装完毕后点击右下角 OK 确认安装,安装完毕后将在 IDE 中看到 AWS ToolKit 插件
  1. 启用 CodeWhisperer 在弹出窗口中,选择"使用个人邮箱注册并登录 Builder ID",点击右下角 Connect。
  1. 登陆 Builder ID

在登录时您将看到如下窗口。请点击"打开并复制验证码",并使用验证码进行验证。

跳转到你的浏览器,粘贴刚刚复制的验证码

随后将跳转至登录注册页面。如果为首次使用,请用您的电子邮箱进行注册。注册和登录完毕后即可开始使用 CodeWhisperer

3.2 安装到 VS Code 中

与安装到 IntelliJ IDEA 中类似,此处不做过多介绍,直接在插件市场里找到亚马逊的AWS Toolkit插件直接安装即可。

四、Amazon CodeWhisperer 使用实战

4.1 根据注释生成相应代码

给出的提示词如下(创建一个函数来创建DynamoDB表):

python 复制代码
# Create a function to create a DynamoDB table

Amazon CodeWhisperer 给出的解决方案:

另外尝试生成的更具体的案例,我们给出的提示词如下:

bash 复制代码
# 函数创建DynamoDB表,以员工ID为主键和 readcapacity单 位为100和写入容量单位为200
# Function to create a DynamoDB table with employee ID as primary key and ReadCapacityUnits at 100 and WriteCapacityUnits at 200

Amazon CodeWhisperer 给出的解决方案:

从这里可以看出,就和 ChatGPT 类似,如果你的提示词更具提,CodeWhisperer 生成的内容也更具具体,符合你的期望,所以适当的写出提示词给 CodeWhisperer,才能更好的让他来帮助到你。

4.2 测试返回多个记录

在这里,我们根据提供的代码,使用 CodeWhisperer 来生成多个记录。

所使用的测试代码如下:

我们给出自己的需求,和相应的提示词给 CodeWhisperer

python 复制代码
# Patch get_products and test lambda_handler returns a multiple records
# Patch get_products和test lambda_handler返回多条记录

CodeWhisperer 根据我们的提示词生成并返回相应的代码

python 复制代码
# Patch get_products and test lambda_handler returns multiple records
@patch('product_api.get_products')
def test_lambda_handler_multiple(self, mock_get_products):
mock_get_products.return_value = [{'id': '1', 'name': 'test', 'description': 'test'}, {'id': '2', 'name': 'test2', 'description': 'test2'}]
response = product_api.lambda_handler(None, None)
self.assertEqual(response['statusCode'], 200)
self.assertEqual(response['body'], '[{"id": "1", "name": "test", "description": "test"}, {"id": "2", "name": "test2", "description":
"test2"}]')

五、CodeWhisperer 学习好礼

云上探索实验室开展至今,越来越多的人都对 AI 编程助手 Amazon CodeWhisperer 赞不绝口。为了让大家在体验时不走弯路,快速上手 Amazon CodeWhisperer,云上探索实验室-码上学堂来啦!为了让更多的伙伴们加入到学课阵营中,云上探索实验室面向所有伙伴们,特别招募码上学堂领学员,邀人加入码上学堂,有好礼相送哦。

活动链接:https://mp.weixin.qq.com/s/WgeRzML5MogLSWeM57zv3w


(参与学习奖品)

CodeWhisperer 学课通道:

相关推荐
martian6651 小时前
【人工智能数学基础篇】——深入详解多变量微积分:在机器学习模型中优化损失函数时应用
人工智能·机器学习·微积分·数学基础
人机与认知实验室2 小时前
人、机、环境中各有其神经网络系统
人工智能·深度学习·神经网络·机器学习
黑色叉腰丶大魔王2 小时前
基于 MATLAB 的图像增强技术分享
图像处理·人工智能·计算机视觉
迅易科技5 小时前
借助腾讯云质检平台的新范式,做工业制造企业质检的“AI慧眼”
人工智能·视觉检测·制造
古希腊掌管学习的神6 小时前
[机器学习]XGBoost(3)——确定树的结构
人工智能·机器学习
ZHOU_WUYI6 小时前
4.metagpt中的软件公司智能体 (ProjectManager 角色)
人工智能·metagpt
靴子学长7 小时前
基于字节大模型的论文翻译(含免费源码)
人工智能·深度学习·nlp
AI_NEW_COME8 小时前
知识库管理系统可扩展性深度测评
人工智能
海棠AI实验室8 小时前
AI的进阶之路:从机器学习到深度学习的演变(一)
人工智能·深度学习·机器学习
hunteritself8 小时前
AI Weekly『12月16-22日』:OpenAI公布o3,谷歌发布首个推理模型,GitHub Copilot免费版上线!
人工智能·gpt·chatgpt·github·openai·copilot