業界・業務から探す
導入目的・課題から探す
データ・AIについて学ぶ
News
Hakkyについて
ウェビナーコラム
◆トップ【AI・機械学習】
LLMの出力比較Bard Extensions(拡張機能)ClaudeGitHub CopilotとはGrokLLMエージェントデザインパターンまとめ生成AIの速度比較AIによる画面操作生成AI比較複雑なタスクを解決するAgentic AI設計戦略と応用例
Hailuo AI
AI

執筆者:Hakky AI

CodeWhisperer 使い方|導入から活用事例、トラブルシューティングまで

tip
記事のポイント
  • CodeWhispererは、AIでコード生成を支援。導入から設定、主要IDEとの統合、使用方法を解説。
  • 自動提案や手動トリガーでコーディングを効率化。リアルタイムな提案表示で高品質な開発を支援。
  • 多様な言語とAWSサービスをサポート。AWSとの統合でリソース操作が簡略化、開発効率が向上。

はじめに

Amazon CodeWhispererは、AIを活用してコード生成を支援するツールです。本記事では、CodeWhispererの導入から設定、主要IDEとの統合、具体的な使用方法までを網羅的に解説します。

開発効率を向上させ、より安全なコード作成を支援するCodeWhispererの全貌を、ビジネスリテラシーの高い読者にもわかりやすくご紹介します。具体的な手順や設定方法を丁寧に説明し、オウンドメディアにふさわしい信頼感のある情報を提供します。

CodeWhispererの基本:インストールと設定

CodeWhispererを利用するには、対応するIDEにAWS Toolkitをインストールし、認証設定を行う必要があります。

AWS Toolkitのインストール手順

AWS Toolkitは、VS CodeとIntelliJ IDEAでCodeWhispererを利用するために不可欠な拡張機能です。VS CodeにAWS Toolkitをインストールするには、まずVS Codeを開き、アクティビティバーから拡張機能アイコンを選択します。

拡張機能マーケットプレイスで「AWS Toolkit」を検索し、表示されたAWS Toolkit for VS Codeをインストールします。インストールが完了したら、VS Codeを再起動してAWS Toolkitを有効にします。

IntelliJ IDEAの場合、"File > Settings > Plugins"からAWS Toolkitプラグインを検索し、インストールします。インストール後、IntelliJ IDEAを再起動してプラグインを有効化してください。

これにより、AWSサービスとの連携が容易になり、CodeWhispererの機能が利用可能になります。

認証方法の選択と設定

CodeWhispererを利用するためには、AWS環境との認証設定が必須です。認証方法として、以下の3種類があります。

  • AWS Builder ID
  • IAM Identity Center
  • IAM認証

AWS Builder IDは、個人のメールアドレスを使用してサインアップし、AWSのサービスを利用するためのIDです。IAM Identity Centerは、組織内の複数のAWSアカウントへのアクセスを一元管理するためのサービスです。IAM認証は、AWS Identity and Access Management (IAM) を使用して、ユーザーまたはサービスに特定のAWSリソースへのアクセス権を付与する方法です。

最適な認証方法を選択するには、利用者の環境と要件を考慮する必要があります。例えば、個人のプロジェクトであればAWS Builder IDが手軽ですが、企業環境であればIAM Identity CenterやIAM認証が推奨されます。設定手順は、AWS Toolkitの指示に従い、必要な情報を入力して認証を完了させます。

CodeWhispererの有効化

AWS Toolkitのインストールと認証設定が完了したら、CodeWhispererをIDEで有効化します。VS Codeでは、AWS ToolkitのメニューからCodeWhispererを選択し、「Start」ボタンをクリックします。IntelliJ IDEAでは、AWS Toolkitプラグインの設定からCodeWhispererを有効にします。

CodeWhispererが正常に動作しない場合は、以下の点を確認してください。

  • まず、AWS Toolkitが最新バージョンであることを確認します。
  • 次に、認証設定が正しく行われているかを確認します。
  • また、IDEの設定でCodeWhispererが有効になっているかを確認します。

これらの手順を踏むことで、CodeWhispererをスムーズに利用開始できます。

CodeWhispererの使い方:コーディングを効率化

Amazon CodeWhispererを活用することで、コーディングの効率を大幅に向上させることができます。ここでは、自動提案の活用、手動トリガーによる提案、提案の適用と編集という3つの主要な機能に焦点を当て、具体的な使用方法を解説します。

自動提案の活用

Amazon CodeWhispererは、コーディング中にリアルタイムでコードの提案を表示する機能を備えています。この機能を活用することで、開発者は記述するコードの量と時間を大幅に削減できます。

例えば、Javaでpublic static void mainと記述し始めると、CodeWhispererはメソッドの残りの部分を自動的に提案します。提案を受け入れるには、Tabキーを押すだけです。また、コーディングスタイルや変数名に基づいて提案が調整されるため、一貫性のあるコードを維持できます。

提案を確認する際は、表示された候補をカーソルキーで選択し、詳細を確認できます。これにより、意図しないコードの誤りを防ぎ、より正確なコードを迅速に記述できます。この自動提案機能は、特に新しいAPIやライブラリを使用する際に役立ち、学習コストを削減する効果も期待できます。

さらに、チームで共有されているコーディング規約がある場合、CodeWhispererはその規約に沿った提案を行うため、コードレビューの時間を短縮し、開発プロセス全体を効率化します。リアルタイムな提案表示は、開発者がより創造的な作業に集中できるようサポートし、結果として高品質なソフトウェアの開発に貢献します。

手動トリガーによる提案

Amazon CodeWhispererでは、自動提案に加えて、手動でコード提案をトリガーすることも可能です。この機能は、Option + C (Mac)またはAlt + C (Windows)を押すことで利用できます。

手動トリガーは、特定の状況下で特に役立ちます。例えば、新しい関数やメソッドの開始時に、手動でトリガーすることで、CodeWhispererはその関数やメソッドの構造に関する提案を行います。これにより、開発者は最初から構造を考える手間を省き、より迅速にコーディングを開始できます。

また、エラーが発生した際に、問題のあるコードブロックを選択し、手動でトリガーすることで、修正案や代替案が提案されることがあります。これにより、デバッグ作業が効率化され、問題解決までの時間を短縮できます。

さらに、特定のAPIやライブラリの使用方法が不明な場合、関連するコードを記述し、手動でトリガーすることで、CodeWhispererはそのAPIやライブラリの適切な使用方法に関する提案を行います。これにより、ドキュメントを参照する手間を省き、よりスムーズに開発を進めることができます。

手動トリガーは、開発者がより積極的にCodeWhispererを活用し、コーディングの効率を最大限に引き出すための強力なツールとなります。

提案の適用と編集

Amazon CodeWhispererから提案されたコードは、Tabキーを押すことで簡単に適用できます。この自動補完機能により、開発者は手動でコードを入力する手間を大幅に削減し、コーディング速度を向上させることができます。

しかし、提案されたコードが完全に要件を満たさない場合もあります。その際は、提案されたコードを適用した後、必要に応じて修正やカスタマイズを行うことが重要です。例えば、変数名を変更したり、特定のロジックを追加したりすることができます。

CodeWhispererは、適用されたコードを学習し、その後の提案に反映させるため、修正やカスタマイズを行うことで、よりパーソナライズされた提案を受けられるようになります。また、提案されたコードの一部だけを適用することも可能です。

例えば、関数名だけを適用し、関数の内部ロジックは自分で記述することができます。これにより、CodeWhispererの提案を柔軟に活用し、自分のコーディングスタイルに合わせた開発が可能です。

提案の適用と編集を繰り返すことで、CodeWhispererは開発者のコーディングパターンを学習し、より適切な提案を行うようになります。これにより、開発者はCodeWhispererをより効果的に活用し、コーディングの効率をさらに向上させることができます。

CodeWhispererの対応言語とAWSサービス

Amazon CodeWhispererは、多様なプログラミング言語とAWSサービスをサポートし、開発プロセスを効率化します。

サポートされているプログラミング言語

CodeWhispererは、開発者がより効率的にコーディングできるよう、幅広いプログラミング言語をサポートしています。

主要な言語として、JavaScript、TypeScript、Python、Java、C#、Rust、Go、Ruby、Scala、Kotlin、PHP、C、C++、Shell、SQLなどが挙げられます。

例えば、Pythonでは、OWASPの脆弱性や暗号化ライブラリのベストプラクティスを満たさない脆弱性を検出し、修正の提案が可能です。TypeScriptでは、静的型付けの利点を活かしたコード生成が可能です。C#では、Microsoftの技術との統合を容易にします。Rustでは、安全性も考慮したコード生成が可能です。Goでは、テストコードの自動生成やマイクロサービスアーキテクチャの設計支援が効率化されます。

これらの言語に対応することで、CodeWhispererは様々な開発ニーズに応え、開発者は日々のコーディング作業をよりスムーズに進めることができます。

統合されているAWSサービス

CodeWhispererは、AWS Cloud9、AWS Lambda、SageMaker AI Studioといった主要なAWSサービスとの統合を特徴としています。

AWS Cloud9との統合により、クラウドベースでの開発が容易になり、場所を選ばずに開発作業を進めることが可能です。AWS Lambdaとの統合では、サーバーレスアプリケーションの開発を効率化し、インフラ管理の負担を軽減します。SageMaker AI Studioとの連携により、機械学習モデルの開発とデプロイがスムーズに行えます。

例えば、Amazon S3のバケットを作成するコードを「create S3 bucket」というコメントを入力するだけで自動生成できます。

これらの統合により、開発者はAWSの強力なサービス群を最大限に活用し、より高度なアプリケーションを迅速に開発できます。

AWSサービス利用時のメリット

CodeWhispererを利用してAWSサービスを操作する主なメリットは、AWSリソースへのアクセスと操作が簡略化される点です。

例えば、AWSのAPIを直接記述する代わりに、CodeWhispererが提供するコード提案を活用することで、より迅速かつ正確にAWSリソースを操作できます。

また、CodeWhispererはAWSサービス固有のコード提案も提供します。これにより、開発者はAWSのベストプラクティスに沿ったコードを容易に記述でき、セキュリティやパフォーマンスの向上に繋がります。

さらに、AWSサービスとの統合により、開発者はAWSの最新機能をすぐに利用できるようになり、常に最新の技術を活用した開発が可能になります。

これらのメリットにより、AWS環境での開発効率が大幅に向上します。

AWSサービスCodeWhispererとの統合によるメリット
AWS Cloud9クラウドベースでの開発が容易になり、場所を選ばずに開発作業を進めることが可能
AWS Lambdaサーバーレスアプリケーションの開発を効率化し、インフラ管理の負担を軽減
SageMaker AI Studio機械学習モデルの開発とデプロイがスムーズに行える

Hakkyの機械学習プロダクト開発支援とは | 詳細はこちら

IDEとの統合:VS CodeとIntelliJ IDEA

Amazon CodeWhispererは、VS CodeとIntelliJ IDEAの両方で利用でき、それぞれのIDEに最適化された設定と使用方法があります。

VS Codeでの設定と使い方

VS CodeでCodeWhispererを使用するには、まずAWS Toolkit拡張機能をインストールし、AWS Builder IDで認証を行う必要があります。AWS Toolkitをインストールするには、VS Codeの拡張機能マーケットプレイスで「AWS Toolkit」を検索し、インストールします。

インストール後、AWSアイコンがアクティビティバーに表示されるので、それをクリックしてAWS Toolkitを開きます。次に、AWS Builder IDを使用してサインインします。まだIDをお持ちでない場合は、AWSのウェブサイトで無料で作成できます。

サインイン後、VS CodeにCodeWhispererの使用を許可するプロンプトが表示されるので、「Allow」をクリックします。これで、VS CodeでCodeWhispererが有効になり、コーディング中に自動的にコード提案が表示されるようになります。

例えば、Pythonでfizzbuzzを実行するプログラムを作成する場合、# Create a function to generate fizzbuzzとコメントを入力し、Alt+C (Windows) または Option+C (MacOS)を押すと、CodeWhispererが関数の定義を提案します。Tabキーを押すと、提案されたコードが自動的に挿入されます。

AWSサービスを利用するコードを生成する場合、関連するコメントを記述することで、CodeWhispererが適切なコードを提案します。例えば、DynamoDBにデータを投入する関数を作成する場合、# Create a function to upload data to DynamoDBとコメントを入力すると、必要なboto3ライブラリのインポートやテーブルへのデータ投入処理を含むコードが提案されます。

IntelliJ IDEAでの設定と使い方

IntelliJ IDEAでCodeWhispererを使用するには、AWS Toolkitプラグインをインストールし、AWS Builder IDで認証を行う必要があります。IntelliJ IDEAのプラグインマーケットプレイスで「AWS Toolkit」を検索し、インストールします。

インストール後、ツールバーまたはメニューからAWS Toolkitを開き、AWS Builder IDでサインインします。まだIDをお持ちでない場合は、AWSのウェブサイトで無料で作成できます。

サインイン後、IntelliJ IDEAにCodeWhispererの使用を許可するプロンプトが表示されるので、「Allow」をクリックします。これで、IntelliJ IDEAでCodeWhispererが有効になり、コーディング中に自動的にコード提案が表示されるようになります。

例えば、Rustで2つの整数を加算する関数を作成する場合、// add two integersとコメントを入力し、改行すると、CodeWhispererが関数の定義を提案します。Tabキーを押すと、提案されたコードが自動的に挿入されます。

IntelliJ IDEAでは、CodeWhispererが既存のコードとコメントに基づいて、より高度なコード提案を行うことができます。また、セキュリティ上の問題があるコードを検出する機能も利用できます。

IDEごとのCodeWhispererの最適化

CodeWhispererは、VS CodeとIntelliJ IDEAの両方で利用できますが、それぞれのIDEに合わせて設定を最適化することで、より効率的なコーディング環境を構築できます。

VS Codeでは、settings.jsonファイルを編集して、CodeWhispererの動作をカスタマイズできます。例えば、コード提案の表示タイミングや、提案のフィルタリング条件などを設定できます。

IntelliJ IDEAでは、Editor > Code Completionの設定で、CodeWhispererの提案に関する詳細な設定が可能です。例えば、自動補完の表示遅延や、提案の優先順位などを調整できます。

また、両方のIDEで、CodeWhispererが生成したコードのスタイルをプロジェクトのコーディング規約に合わせるために、コードフォーマッターの設定を行うことが推奨されます。これにより、チーム開発におけるコードの一貫性を保ち、可読性を向上させることができます。

さらに、CodeWhispererのデータ共有設定を確認し、必要に応じてオプトアウトすることで、プライバシーを保護することも重要です。

IDE設定ファイル/場所最適化のポイント
VS Codesettings.jsonコード提案の表示タイミング、提案のフィルタリング条件
IntelliJ IDEAEditor > Code Completion自動補完の表示遅延、提案の優先順位

CodeWhispererの活用事例

CodeWhispererは、日々のコーディング作業を効率化するための強力なツールです。具体的なコード生成例を通じて、開発効率がどのように向上するかを紹介します。

Pythonでの関数自動生成

CodeWhispererは、Pythonでの関数自動生成において、開発者の負担を軽減し、効率的なコーディングを支援します。コメントから関数を自動生成する例や、API連携を効率化するコード例を通じて、その具体的な活用方法を解説します。# Function to add a and bとコメントを記述すると、CodeWhispererは以下のようなコードを提案します。

def add(a, b):
    return a + b

さらに、# Test case for the add functionというコメントを追加すると、以下のようなUnitテストコードも自動的に生成されます。

import unittest

class TestAddFunction(unittest.TestCase):
    def test_add_function(self):
        self.assertEqual(add(5, 3), 8)
        self.assertEqual(add(-1, 1), 0)

if __name__ == '__main__':
    unittest.main()

また、AWS Lambda関数を自動生成する例として、# Function to upload a file to an S3 bucketと記述すると、S3バケットへのファイルアップロード用のコードが提案されます。

import boto3

def upload_file_to_s3(bucket_name, file_path):
    s3 = boto3.client('s3')
    s3.upload_file(file_path, bucket_name)

これらの例から、CodeWhispererは、コメントに基づいて必要なコードを予測し、迅速に生成する能力があることがわかります。これにより、開発者は手動でコードを書く時間を削減し、より複雑な問題解決に集中できます。

CodeWhispererを使用することで、通常manual codingに関わる手間を約60%削減できるという報告もあります。一度の作業にかかる時間を66%短縮できるとする研究結果も存在します。

JavaScriptでのテストコード自動生成

CodeWhispererは、JavaScriptでのテストコード自動生成においても、その能力を発揮します。既存のコードに対するテストコードの自動生成や、テスト駆動開発(TDD)の支援を通じて、開発者はより品質の高いコードを効率的に作成できます。

例えば、既存のJavaScript関数に対して、以下のようにコメントを追加します。

// Function to calculate the area of a rectangle
function calculateArea(width, height) {
  return width * height;
}

これに対して、CodeWhispererは以下のようなテストコードを提案します。

// Test case for calculateArea function
describe('calculateArea', () => {
  it('should return the correct area', () => {
    expect(calculateArea(5, 3)).toBe(15);
    expect(calculateArea(10, 7)).toBe(70);
  });

  it('should return 0 if either width or height is 0', () => {
    expect(calculateArea(0, 5)).toBe(0);
    expect(calculateArea(5, 0)).toBe(0);
  });
});

このように、CodeWhispererは関数の目的を理解し、適切なテストケースを自動的に生成します。これにより、開発者はテストコードを書く手間を省き、より迅速にテストを実施できます。

また、テスト駆動開発(TDD)においては、最初にテストコードを書き、そのテストをパスするように実装を進めることが推奨されますが、CodeWhispererはこのプロセスを支援し、テストコードの作成を効率化します。CodeWhispererを活用することで、開発者はより多くの時間を実装に費やし、高品質なJavaScriptアプリケーションを開発できます。

CodeWhispererのトラブルシューティング

CodeWhispererの利用中に問題が発生した場合、いくつかの一般的な原因と解決策があります。ここでは、CodeWhispererが正常に動作しない場合や、期待どおりの提案が得られない場合の対処法について解説します。

CodeWhispererが動作しない場合の対処法

CodeWhispererが正常に動作しない場合、ライセンス不備、権限設定不足、バージョンコンフリクト、設定エラー、リージョン選択の不適切さなどが考えられます。まずは、IAM設定を確認し、CodeWhispererが利用可能な状態になっているかを確認してください。

特に、プロフェッショナル版を利用している場合は、IAMアイデンティティセンター経由での認証と組織的なライセンス管理が必須です。IAM Userに必要な権限(例:codewhisperer:GenerateRecommendations)が付与されているかを確認し、不足している場合は追加してください。

Amazon Linux2を使用している場合は、Node.jsのバージョンがv16系までサポートされていることを確認し、必要に応じてバージョンを調整してください。CodeWhispererの有効化とIAM設定が完了しているか、エラーが発生していないかを確認します。

CodeWhispererのAPIを使用するリージョンが正しいか確認し、必要に応じて変更してください。例えば、ある環境では、職員が誤って特定のアクションへの権限を追加しなかったため、CodeWhispererが動作しませんでした。

IAM設定画面にアクセスし、codewhisperer:GenerateRecommendationsの権限を追加することで、CodeWhispererが正常に動作するようになりました。また、別の環境では、Amazon Linux2でNode.js v18をインストールしたため、CodeWhispererが動作しませんでした。

Node.js v16をインストールすることで、CodeWhispererが正常に動作するようになりました。CodeWhispererの設定画面で有効化が完了していなかった事例もあります。設定画面から有効化を行うことで、エラーを解消しました。

問題原因解決策
CodeWhispererが動作しないライセンス不備、権限設定不足、バージョンコンフリクト、設定エラー、リージョン選択の不適切IAM設定の確認、IAM Userへの権限追加(例:codewhisperer:GenerateRecommendations)、Node.jsのバージョン調整(Amazon Linux2の場合v16系まで)、CodeWhispererの有効化確認、APIリージョンの確認と修正
CodeWhispererが動作しないIAM設定でcodewhisperer:GenerateRecommendationsの権限がないIAM設定画面でcodewhisperer:GenerateRecommendationsの権限を追加
CodeWhispererが動作しないAmazon Linux2でNode.js v18をインストールNode.js v16をインストール
CodeWhispererが動作しないCodeWhispererの設定画面で有効化が完了していない設定画面から有効化を行う

提案が期待通りでない場合の改善策

CodeWhispererの提案が期待通りでない場合、プロンプトの書き方を見直すことが重要です。CodeWhispererは、提出されたコメントに基づいてコードを生成するため、コメントが曖昧または不明瞭な場合、適切なコード生成が難しくなります。

タスク名を明確に記述し、プロンプトのコンテキストを明記することで、CodeWhispererが適切なコードを生成する確率が高まります。例えば、「VPCを作成し、サブネットやインターネットゲートウェイを作成する」など具体的なタスク名を用いることで、CodeWhispererが正確な提案を行うことができます。

また、「AWSでVPCを作成し、サブネットやインターネットゲートウェイを作成する」というプロンプトを使用することで、AWS環境でのコード生成を適切に行うことができます。プロンプトの意図がCodeWhispererに伝わるように、具体的な指示を記述してください。

CodeWhispererへのフィードバックも改善に繋がります。提案されたコードが不適切な場合、その理由をフィードバックとして送信することで、CodeWhispererの学習能力が向上し、より適切な提案が得られるようになります。積極的にフィードバックを活用し、CodeWhispererの精度向上に貢献してください。

おわりに

Amazon CodeWhispererは、日々のコーディングを効率化し、開発者の生産性を向上させる強力なツールです。導入と設定は簡単で、様々な言語やAWSサービスに対応しています。

もし、機械学習を活用したプロダクト開発にご興味をお持ちでしたら、ぜひ弊社の支援サービスをご検討ください。お客様の課題解決をサポートいたします。

tip
お知らせ

貴社の開発効率を最大化しませんか?

CodeWhispererを活用した、より迅速で高品質な開発支援にご興味はありませんか?


tip
お知らせ

貴社の開発効率を最大化しませんか? CodeWhispererを活用した、より迅速で高品質な開発支援にご興味はありませんか?


関連記事

参考文献

2025年06月13日に最終更新
読み込み中...