Amazon Web Services ブログ

Amazon CodeWhisperer を使用してクラウドの知識を深める

この記事は、2024 年 4 月 1 日に Karan Lakhwani によって執筆された「Use Amazon CodeWhisperer to advance your cloud knowledge」を翻訳したものです。


Amazon CodeWhisperer は人工知能 (AI) を活用した革新的な生産性ツールで、開発者の生産性を向上させ、クラウドの学習を加速できます。Amazon CodeWhisperer は機械学習 (ML) を利用して、統合開発環境 (IDE) でインテリジェントなコード提案を行います。

Amazon CodeWhisperer は、何十億行もの Amazon のコードや公開されているコードを学習しています。組み込みのセキュリティスキャンを備えており、特定された問題を改善するためのコード提案を提供し、 AWS のベストプラクティスを満たした AWS サービスのデプロイを容易にします。Amazon CodeWhisperer を使って、コードサンプル、API リファレンス、Infrastructure as Code (IaC) テンプレートを生成することができるため、経験の浅いクラウドアーキテクトから経験豊富な開発者まで、クラウドの習熟度を高めることができます。

このブログでは、開発者やクラウドアーキテクトが Amazon CodeWhisperer を教育のツールとして活用する 3 つの実践的な方法を紹介します。

1. Infrastructure as Code テンプレートを作成する

AWS を初めて使う人の多くは、 AWS マネジメントコンソールを使ってリソースを手動でデプロイします。しかし、クラウドの習熟度が高まるにつれ、AWS CloudFormationTerraform などのサービスを使った Infrastructure as Code (IaC) の採用が推奨されています。 IaC を使えば宣言的なコードテンプレートを介して AWS インフラストラクチャ全体をデプロイできるため、エラーを低減し、制御された方法で、繰り返し可能かつ拡張性のあるデプロイが可能になります。これらのテンプレートはブループリントの役割を果たし、 AWS リソースのデプロイ方法を学ぶのに最適です。

→ Amazon CodeWhisperer を活用

Amazon CodeWhisperer があなたの指示と周辺のコードに基づいて IaC テンプレートを生成することで、 IaC の学習を加速させることができます。以下の例では、AWS CloudFormation テンプレートを作成するための指示をコメントとして記述しました。Amazon CodeWhisperer は、 CloudFormation テンプレートを作成する最初のステップである AWSTemplateFormatVersion セクションを生成しています。

次に、Virtual Private Cloud (VPC), サブネット, Elastic Compute Cloud (EC2) インスタンスを作成するための追加の手順を Amazon CodeWhisperer に指示しています。Amazon CodeWhisperer は、 AWSTemplateFormatVersion の行から、これが CloudFormation テンプレートであることを認識し、手順を実行するために必要なコード (グレー色で表示) を生成します。コードを受け入れるには、単純に Tab キーを押すだけです。

Amazon CodeWhisperer でコード生成を行うことで、構文、ドキュメント、リソース仕様を手動で調べる必要がないため、開発プロセスを高速化できます。

クラウド初学者は Amazon CodeWhisperer を使用して、 AWS CloudFormation テンプレートの形式や、 AWS サービスをプログラムでデプロイする方法を素早く理解することができます。このような方法は、新しい IaC の言語を学ぶ時や、クラウド環境を素早く学ぶ必要がある時に出発点として役立ちます。あなたが提供する仕様と指示に基づいて、Amazon CodeWhisperer は開発を進めることができます。

2. 組織のコードベースを学習する

新しいチームに参加したり、新しいプロジェクトに着手したりする際、組織のコーディングやクラウドアーキテクチャのベストプラクティスの複雑さを理解するのは難しいことがあります。Amazon CodeWhisperer は、組織の内部ライブラリやアーキテクチャパターンに基づいて提案を生成するようにカスタマイズできます。これにより、 Amazon CodeWhisperer はより関連性の高いコードを提案し、開発者はより早くオンボーディングでき、AWS クラウドサービスを習得するのに役立ちます。

→ Amazon CodeWhisperer を活用

Amazon CodeWhisperer は、組織の GitHub, AWS CodeCommit, その他の Git リポジトリに接続できます。その後、 Amazon CodeWhisperer は組織にカスタマイズされたコード候補を生成し、ドキュメントや様々な開発プロジェクトを確認する必要なく、組織のコーディングスタイルとアーキテクチャパターンを迅速に学習できるようサポートします。

さらに、 Amazon CodeWhisperer は経験豊富な開発者やアーキテクトにとって継続的な学習ツールとなります。組織は新しい基準、ライブラリ、フレームワークをコードベースに追加でき、 Amazon CodeWhisperer はそれらを提案に組み込みます。これにより、熟練の開発者はアナウンスやドキュメントの変更を読む必要がなくなり、組織の変更や技術に関する最新情報を入手できます。

3. Amazon CodeWhisperer を Amazon Q と統合して学習を深める

時々、 Amazon CodeWhisperer が提案したコードよりも、さらに詳細な説明やガイダンスが必要な場合があります。このとき Amazon CodeWhisperer は IDE で利用可能なインタラクティブ生成 AI アシスタントの Amazon Q と統合できます。IDE の中で Amazon Q にコードの説明、リファクタリング、修正、最適化を求めることができ、より深い洞察が得られるので、推奨されたコードについてより多くを学ぶことができます。

最初の例において、生成されたコードを範囲選択して右クリックし、 Amazon Q にそのコードを説明するよう求めることができます (下の画像の右側) 。これにより、 Amazon Q チャットボットが開き (画像の左側) 、選択されたコードを説明してくれます。

Amazon CodeWhisperer と Amazon Q の統合により、コード生成と知識習得のループが生まれ、開発者はクラウド上で継続的にスキルアップしながらコーディングの生産性を高めることができます。

Amazon CodeWhisperer をさらに学習しましょう

Amazon CodeWhisperer の詳細を学習するには、オンライン学習センターである AWS Skill Builder の無料 30 分コース「Amazon CodeWhisperer – Getting Started (Japanese) 」をご確認ください。このコースでは、 Amazon CodeWhisperer の主要機能と、お使いの IDE に Amazon CodeWhisperer をインストールとセットアップし、使用開始する方法を学ぶことができます。Amazon CodeWhisperer は、Visual Studio Code, JetBrains IDE, AWS Cloud9, AWS Lambda, JupterLab などで利用可能です。

次に、AWS Jam の「Build using Amazon CodeWhisperer」で実践的な経験を積むことができます。これらの課題を通して、時間のかかるコーディングタスクを効果的に行い、生産性を最大化する方法を学びます。この AWS Jam には 7 つの魅力的なチャレンジが含まれており、自分のペースで完了できます。AWS Skill Builder サブスクリプションの 7 日間無料トライアルを利用して、この Jam を無料で受講できます。

まとめ

Amazon CodeWhisperer は、開発者やクラウドアーキテクトが AWS やその組織のアプリケーション開発プロセスについて学ぶ方法を強化する強力な AI ツールです。Amazon CodeWhisperer のコード生成機能、組織のコードベースに関する知識、Amazon Q との統合を活用することで、クラウドネイティブアプリケーションを構築しながら AWS について学ぶことができます。ぜひ深く掘り下げて、Amazon CodeWhisperer にクラウド教育を導いてもらいましょう!

このブログは生成 AI モデルの Claude の支援を受けて執筆しました。このブログの構文とコンテンツを補強・改善するために Anthropic AI アシスタントを使用しています。 https://www.anthropic.com


この記事の翻訳は Technical Instructor の西村 諄が担当しました。