Amazon CodeWhisperer
IDE 内でリアルタイムにコード提案を生成する AI コーディングコンパニオン
何ができるか
Amazon CodeWhisperer は、開発者が IDE (統合開発環境) でコードを書いている最中に、文脈を理解してコードの補完や関数全体の提案をリアルタイムで生成するサービスです。コメントや既存のコードから意図を読み取り、適切なコードスニペットを提案します。セキュリティスキャン機能も備えており、コード内の脆弱性を検出して修正案を提示します。
どのような場面で使うか
日常的なコーディング作業で、ボイラープレートコードの自動生成、AWS SDK の API 呼び出しコードの補完、ユニットテストの自動生成などに活用されています。また、不慣れなプログラミング言語やフレームワークを使う際に、コメントで意図を記述するだけで実装コードを提案してもらう場面でも利用されます。 この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
身近な例え
経験豊富なペアプログラミングのパートナーに例えるとわかりやすいでしょう。あなたが「ここで S3 からファイルを取得したい」とつぶやく (コメントを書く) と、パートナーが「こう書けばいいよ」とコードを提案してくれます。提案を採用するかどうかはあなたが判断し、必要に応じて修正します。
CodeWhisperer とは
Amazon CodeWhisperer は、コードを書く作業を支援するサービスです。VS Code、JetBrains IDE、AWS Cloud9 などの開発環境にプラグインとしてインストールすると、コードを入力するたびにリアルタイムで補完候補を提案します。Python、JavaScript、TypeScript、Java、C# など 15 以上のプログラミング言語に対応しています。
コード提案の仕組み
CodeWhisperer は、カーソル位置の前後のコード、コメント、インポート文などの文脈を分析し、次に書くべきコードを予測します。1 行の補完から、関数全体やクラスの実装まで、さまざまな粒度の提案を生成します。特に AWS SDK を使ったコードの提案に強く、S3 へのファイルアップロードや DynamoDB へのクエリなど、AWS サービスとの連携コードを正確に提案できます。
セキュリティスキャン
CodeWhisperer にはセキュリティスキャン機能が組み込まれています。コード内のセキュリティ脆弱性 (ハードコードされた認証情報、SQL インジェクション、クロスサイトスクリプティングなど) を検出し、修正案を提示します。OWASP Top 10 や CWE (Common Weakness Enumeration) に基づいた検出ルールが適用されます。コードを書きながらリアルタイムでセキュリティチェックが行われるため、脆弱性の早期発見に役立ちます。
はじめかた
CodeWhisperer を使い始めるには、VS Code の拡張機能マーケットプレイスから AWS Toolkit をインストールします。Builder ID (無料) または IAM Identity Center でサインインすると、CodeWhisperer が有効になります。コードを入力すると自動的に提案が表示され、Tab キーで採用できます。Individual プラン (無料) でもコード提案とセキュリティスキャンの基本機能を利用できます。
注意点
- CodeWhisperer の提案はあくまで候補であり、正確性の検証は開発者の責任。提案されたコードをそのまま採用せず、必ずレビューすること
- リファレンストラッカー機能により、提案コードがオープンソースのコードに類似している場合にライセンス情報が表示される。ライセンス条件を確認してから採用すること
- Individual プラン (無料) と Professional プラン (有料) がある。Professional プランでは組織全体のポリシー管理や SSO 連携が利用可能
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。