AWSのコード生成AI「CodeWhisperer」、生成モデルのカスタマイズが可能に。社内の独自ライブラリやAPIを生成コードに組み込める新機能がプレビュー公開
Amazon Web Services(AWS)は、コメントやコードの一部からAIがコードを自動生成してくれるサービス「Amazon CodeWhisperer」の新機能として、生成モデルをカスタマイズし、社内の独自ライブラリやAPIなども生成されるコードに組み込むことができる新機能をプレビュー公開しました。
下記はAWS CEO Adam Selipsky氏のツイート。
Exciting news! Amazon CodeWhisperer’s new customization capability is now available in preview! The new feature helps customers to securely customize CodeWhisperer suggestions using their private codebases, internal APIs, libraries, and best practices in code suggestions. This… pic.twitter.com/JugsxLe2nY
— Adam Selipsky (@aselipsky) October 17, 2023
Amazon CodeWhispererは、オープンソースやAmazon社内のコードリポジトリなどから収集した数十億行のコードを基に機械学習を行い、プログラマが書き始めたコードの続きや、コメントの内容からコードを生成、提案してくれるサービスです。
コードを生成してくれる代表的なAIサービスであるGitHub Copilotの、AWS版と言ってよいでしょう。
特にAmazon内部のリポジトリを基に学習されているため、AWSのサービスを活用するコードの生成は得意とされています。
また、脆弱性のあるコードになっていないかどうかを発見し改善案を提案してくれるセキュリティスキャン機能や、オープンソースのコードと似たコードにフラグを立てて警告してくれる機能なども備えています。
対応するプログラミング言語はPython、Java、JavaScript、TypeScript、C#、Rust、Go、Ruby、Scala、Kotlin、PHP、C、C++、Shell、SQL.など。対応するコードエディタはVisual Studio Code、IntelliJ IDEA、AWS Cloud9などです。
CodeWhispererの生成モデルをカスタマイズ
一部の企業や組織では、社内で独自に開発したライブラリや社内で利用されているサービスのAPIなどを利用したソフトウェア開発が行われています。
今回のAmazon CodeWhispererの新機能では、これら社内限のライブラリやAPIを含むコードを追加でAmazon CodeWhispererに読み込ませることでAmazon CodeWhispererの生成モデルをカスタマイズできるというものです。
生成モデルをカスタマイズした後のAmazon CodeWhispererは必要に応じて社内限のライブラリやAPIが組み込まれた形でコードを生成してくれるため、独自ライブラリやAPIを使った開発でもAmazon CodeWhispererを用いた生産性の向上が期待できます。
社内限のライブラリやAPIのコードをCodeWhispererに読み込ませる
Amazon CodeWhispererの生成モデルをカスタマイズするには、AWS CodeStarコネクションを使ってAmazon CodeWhispererを社内用のライブラリやAPIを用いたコードを含むGitHub、GitLab、BitBucketのコードリポジトリに接続するか、もしくはコードをAmazon S3のバケットにアップロードします。
生成モデルをカスタマイズしたらその内容を確認し、手動で有効化してチームメンバーのIDEで利用できるようにします。メンバーごとに、カスタマイズされた生成モデルを利用するかしないかなども設定可能です。
この新機能は有料のAmazon CodeWhisperer Professional版でプレビュー提供されます。
あわせて読みたい
オラクル、Java開発を効率化するVSCode用拡張機能「Oracle Java Platform Extension for Visual Studio Code」を公開
≪前の記事
マイクロソフト、Webアプリのテスト自動化サービス「Microsoft Playwright Testing」プレビュー公開。クロスブラウザ/クロスプラットフォームのテストを並列実行