Amazon Web Services ブログ

Amazon Q Developer (IDE 内) をプライベートコードベースでカスタマイズ

7月10日、 Amazon Q Developer (IDE 内) のカスタマイズ機能をインラインコード補完で一般利用できるようにし、チャットのカスタマイズ機能のプレビューをローンチしました。Amazon Q をカスタマイズして、IDE コードエディタとチャットにおいて、プライベートコードリポジトリから特定の推奨コードを生成できるようになりました。

Amazon Q Developer は人工知能 (AI) コーディングコンパニオンです。既存のコメントやコードから導き出された推奨コードを統合開発環境 (IDE) で提供することで、ソフトウェアデベロッパーがアプリケーション開発を迅速に行えるようにします。Amazon Q では、Amazon およびオープンソースプロジェクトの何十億行ものコードでトレーニングされた大規模言語モデル (LLM) を舞台裏で使用しています。

Amazon Q は IDE で利用でき、JetBrainsVisual Studio Code、および Visual Studio (プレビュー中) の拡張機能をダウンロードできます。IDE テキストエディタでは、入力時にコードが提案されるか、入力したコメントから関数全体が記述されます。また、Q Developer とチャットして、特定のタスク用のコードを生成するように依頼したり、発見したコードベースのコードスニペットを説明したりすることもできます。

新しいカスタマイズ機能により、デベロッパーは組織の内部ライブラリ、API、パッケージ、クラス、メソッドに基づいた、より適切なコードのレコメンデーションを受け取ることができるようになりました。

例えば、金融機関に勤務するデベロッパーが、ある顧客のポートフォリオ総額を計算する関数を書くことを任されているとしましょう。これで、デベロッパーはコメントで意図を説明したり、computePortfolioValue(customerId: String) などの関数名を入力したりでき、Amazon Q は、組織のプライベートコードベースから学習した例に基づいて、その関数を実装するためのコードを提案します。

デベロッパーはチャットで組織のコードについて質問することもできます。上の例では、デベロッパーがチームに初めて入社し、顧客 ID を取得する方法がわからないとします。チャットで平易な英語を使って、「データベースに接続して特定の顧客の customerId を取得するにはどうすればいいですか?」と質問できます。 Amazon Q チャットは、「データベース接続 XYZ を利用して、顧客の苗字と名前から得られた customerId を取得する関数を見つけました」と答えてくれるかもしれません。

管理者は、社内の Git リポジトリ (GitHub、GitLab、BitBucket など) または Amazon Simple Storage Service (Amazon S3) バケットから構築されたカスタマイズを作成します。これは、Amazon Q が意図を理解し、タスクに最も適した内部 API とパブリック API を判断し、推奨コードを生成するのに役立ちます。

Amazon Q のカスタマイズ機能は、お客様が AWS にかける強力なデータプライバシーとセキュリティの期待事項に応えるものです。Amazon Q と共有するコードベースは、お客様の組織には公開されません。基盤モデルのトレーニングには使用しません。カスタマイズがデプロイされると、推論エンドポイントは組織内のデベロッパー専用になります。自分のコードに基づいたレコメンデーションは、他社のデベロッパー IDE には表示されません。どのデベロッパーが個々のカスタマイズにアクセスできるかを決定し、メトリクスに従ってデプロイしたカスタマイズのパフォーマンスを測定できます。

Amazon Q のカスタマイズ機能は、検索拡張生成 (RAG) などの主要な技術手法に基づいて構築されました。この非常に詳細なブログ記事では、Amazon Q カスタマイズ機能の背後にある科学について詳しく説明しています

CodeWhisperer RAG ダイアグラム

昨年 10 月 17 日にプレビューを開始して以来、カスタマイズを更新する機能と、IDE でチャットをカスタマイズする機能という 2 つの新機能が追加されました。

組織のコードベースは絶えず進化しているので、Amazon Q には常に最新のコードスニペットを提案してもらいたいと考えていらっしゃることでしょう。Amazon Q 管理者は、AWS マネジメントコンソールで更新プロセスをワンステップで開始できるようになりました。管理者はコードリポジトリの最新のコミットに基づいて定期的な更新をスケジュールし、デベロッパーが常に非常に正確なコード提案を受けられるようにすることができます。

新しいチャットのカスタマイズ (プレビュー中) では、組織内のデベロッパーが IDE でコードの一部を選択してチャットに送信し、選択したコードが何をするのか説明を求めることができます。デベロッパーは、「データベースに接続して特定の顧客の customerId を取得する方法を教えてください」など、組織のコードベースに関連する一般的な質問をすることもできます。

では、その使用方法を見てみましょう
このデモでは、現在一般的に利用できる新しいカスタマイズ更新機能に焦点を当てることにしました。カスタマイズの作成方法、有効化の方法、デベロッパーへアクセス権を付与する方法を簡単に学ぶには、同僚の Donnie の素晴らしい投稿をお読みください

既存のカスタマイズを更新するには、Amazon Q コンソールページの「カスタマイズ」セクションに移動します。更新したいカスタマイズを選択します。次に、[Actions] (アクション) と [Create new version] (新しいバージョンを作成) を選択します。

Codewhisperer のカスタマイズ - アップデート 1a

カスタマイズを作成したときと同じように、ソースコードリポジトリを選択して [Create] (作成) を選択します。

Codewhisperer のカスタマイズ

新しいバージョンのカスタマイズの作成には、取り込むコードの量によって異なるため、しばらく時間がかかる場合があります。準備が整うと、[Versions] (バージョン) タブに新しいバージョンが表示されます。新しいバージョンの評価スコアを以前のバージョンと比較し、デベロッパーが利用できるようにアクティブ化することを決定できます。以前のバージョンに戻すこともいつでもできます。

Codewhisperer のカスタマイズ - アップデート 3a

アクティブカスタマイズで気に入っている点の 1 つは、その効果をモニタリングして組織のデベロッパーの生産性を向上させることができることです。

[Dashboard] (ダッシュボード) ページでは、ユーザーのアクティビティを追跡します。日単位のアクティブユーザーの数、生成されたコード行の数、実行されたセキュリティスキャンの数などを追跡できます。私のように、過去に Amazon CodeWhisperer Professional を使用したことがある場合は、現在使用すると、一部のページに CodeWhisperer という名前が残っていることがあります。Amazon Q Developer という新しい名前に徐々に置き換えられる予定です。

Codewhisperer カスタマイズダッシュボード 1

Amazon Q はより多くのメトリクスを生成し、Amazon CloudWatch に公開されます。CloudWatch ダッシュボードを作成して、デプロイしたカスタマイズのパフォーマンスを監視できます。例えば、これはコード提案のブロック承認率ライン承認率をプログラミング言語ごとに分類して監視するカスタム CloudWatch ダッシュボードです。

Codewhisperer カスタマイズダッシュボード 2

サポート対象プログラミング言語
現在、Java、JavaScript、TypeScript、Python で記述されたコードベースに基づいて Amazon Q レコメンデーションをカスタマイズできます。C#、Go、Rust、PHP、Ruby、Kotlin、C、C++、シェルスクリプト、SQL、Scala など、Amazon Q がサポートする他の言語で作成されたファイルは、カスタマイズを作成したり、IDE でカスタマイズされたレコメンデーションを提供したりするときには使用されません。

料金と利用可能なリージョン
Amazon Q は AWS リージョンに依存せず、世界中のデベロッパーが利用できます。Amazon Q は現在、米国東部 (バージニア北部) でホストされています。Amazon Q 管理者は、他のリージョンに AWS IAM アイデンティティセンターがある場合は、Amazon Q を認可されたクロスリージョンアプリケーションとして設定できます。

Amazon Q カスタマイズ機能は、Amazon Q Developer プロフェッショナルサブスクリプション内で追加料金なしで利用できます。AWS アカウントごとに最大 8 つのカスタマイズを作成し、最大 2 つのカスタマイズをアクティブに保つことができます。

さあ、構築に取り掛かって、Amazon Q のカスタマイズを組織のデベロッパーに提案してみましょう

— seb

原文はこちらです。