Amazon Web Services(AWS)は米国時間6月23日、開発者向けの新たなツール「Amazon CodeWhisperer」を発表した。このツールは、機械学習(ML)を活用してコードのレコメンデーションを生成するというものであり、同日よりプレビュー版の提供が開始されている。
CodeWhispererによって、ソースコード内のカーソルの位置や、カーソルの前方にあるコード、同一プロジェクト内のその他のファイルに記述されたコードといった、コンテキスト情報に基づいたレコメンデーションがもたらされる。またこのツールは、「upload a file with server side encryption」(サーバー側での暗号化を用いてファイルをアップロードする)といった自然言語による簡単なプロンプトにも対応している。
CodeWhispererは、1行ずつコードを生成する従来型のコーディング支援ツールとは異なり、サブルーチン全体をまとめて生成する。また同ツールはJavaやJavaScript、Pythonといったプログラミング言語をサポートするとともに、複数の統合開発環境(IDE)に対応している。
CodeWhispererは、最新の大規模言語モデルを活用しており、オープンソースリポジトリーやAWS社内のリポジトリーのほか、APIドキュメントやフォーラムといった大規模データセットを用いて訓練されている。
AWSのデータおよびMLサービス担当バイスプレジデントであるSwami Sivasubramanian氏は「Amazon re:MARS 2022」カンファレンスの場で同日、「われわれはクラウドアプリケーションの開発で最も一般的に見られるパターンに基づいてモデルを訓練した。これにより、クラウド上でのかつてないほど迅速な構築と革新が可能になる」と述べた。
同氏によるとCodeWhispererは、バイアスやセキュリティ上の脆弱性、バグといったリスクを低減するための責任あるやり方でコーディング時の生産性を高めるために作り出されたという。また同ツールには、開発者のプロジェクトに潜む脆弱性を検出する上で利用できる組み込み型のセキュリティスキャナーも搭載されている。さらに、CodeWhispererの特定訓練データとコードのレコメンデーションが類似しているかどうかを検出する、組み込み型の参照追跡機能も搭載されている。これにより参照コードを容易に見つけ出してレビューできるとともに、他プロジェクトでどのように使われたかを調査できるようになる。
またCodeWhispererは、バイアスがかかり、不公平だと考えられるコードレコメンデーションを除去することで、コーディング時のバイアスを避けるための支援をプログラマーに提供するという。
この記事は海外Red Ventures発の記事を朝日インタラクティブが日本向けに編集したものです。