MLを利用したコーディングコンパニオンであるPlatoBlockchainDataIntelligenceであるAmazonCodeWhispererのご紹介。 垂直検索。 愛。

MLを利用したコーディングコンパニオンであるAmazonCodeWhispererの紹介

我々は発表することに興奮している アマゾン コード ウィスパラー、開発者の自然なコメントと以前のコードに基づいてコードの推奨事項を提供することにより、開発者の生産性を向上させるのに役立つ機械学習(ML)を利用したサービス。 CodeWhispererを使用すると、開発者は「ファイルをS3にアップロードする」など、特定のタスクの概要をわかりやすい英語で簡単にコメントを書くことができます。 これに基づいて、CodeWhispererは、指定されたタスクに最適なクラウドサービスとパブリックライブラリを自動的に判断し、特定のコードをその場で構築し、生成されたコードスニペットをIDEで直接推奨します。

クラウドは、コンピューティング、ストレージ、データベース、分析、およびMLへのオンデマンドアクセスを提供することでアプリケーション開発を民主化しましたが、ソフトウェアアプリケーションを構築する従来のプロセスでは、開発者は、コードの定型的なセクションを作成するために多くの時間を費やす必要があります。彼らが解決しようとしているコア問題に直接関係しています。 最も経験豊富な開発者でさえ、正しいプログラミング構文と最良のコーディング慣行に従っていることを確認しながら、複数のプログラミング言語、フレームワーク、およびソフトウェアライブラリに追いつくのは難しいと感じています。 その結果、開発者はWebからのコードスニペットの検索とカスタマイズにかなりの時間を費やしています。 CodeWhispererを使用すると、開発者はIDEに集中し続け、すでにカスタマイズされてすぐに使用できるリアルタイムのコンテキスト推奨事項を利用できます。 IDEから離れる気を散らすものが少なく、すぐに使用できるリアルタイムの推奨事項により、コーディングタスクをより迅速に完了し、生産性を向上させることができます。

この投稿では、CodeWhispererの利点と開始方法について説明します。

MLのパワーを開発者の指先にもたらす

CodeWhispererは、JetBrains、Visual Studio Code、および AWS クラウド9。 上の AWSラムダ コンソール、CodeWhispererは、ネイティブコード提案機能として利用できます。 起動時に、CodeWhispererを使用して、Python、Java、およびJavaScriptの推奨コードを生成できます。 IDEのプラグインまたは拡張画面に移動してAWSToolkitを検索すると、AWSToolkitをインストールできます。

MLを利用したコーディングコンパニオンであるPlatoBlockchainDataIntelligenceであるAmazonCodeWhispererのご紹介。 垂直検索。 愛。

CodeWhispererを有効にすると、コードまたはコメントの記述を開始すると、IDEでコードの推奨事項の受信が自動的に開始されます。 あなたがいる場所で開発者に会うことで、CodeWhispererを使いやすく実験しやすくしています。 数分以内に開始して、すぐに生産性のメリットを享受できます。

従来のオートコンプリートよりもはるかに

従来のオートコンプリートツールは、オブジェクトのプロパティやメソッドのリストなど、XNUMX語の補完を提供します。 CodeWhispererは、関数全体と論理コードブロックを一度に生成することにより、生産性を大幅に向上させます。 また、CodeWhispererは、わかりやすい英語のコメントで表現された開発者の意図を理解しています。 次の例は、JSONファイルのキーをCSVファイルのヘッダーとして使用するという開発者の意図を考慮しながら、CodeWhispererがJSONファイルをCSVファイルに変換する関数全体を生成する方法を示しています。

MLを利用したコーディングコンパニオンであるPlatoBlockchainDataIntelligenceであるAmazonCodeWhispererのご紹介。 垂直検索。 愛。

AWSでのアプリケーションの構築がさらに簡単になりました

CodeWhispererは、以下を含む最も人気のあるサービス全体でAWSアプリケーションプログラミングインターフェイス(API)のコード推奨を提供することにより、開発者がAWSサービスを簡単に使用できるようにします。 アマゾン エラスティック コンピューティング クラウド (Amazon EC2)、Lambda、および Amazon シンプル ストレージ サービス (Amazon S3)。 IDEでコードを記述すると、CodeWhispererはコメントを自動的に分析し、必要な機能のために関連するクラウドサービスとパブリックソフトウェアライブラリを使用してコードをアセンブルし、ベストプラクティスを満たすコードスニペットと関数全体をIDEで直接推奨します。 次の例は、CodeWhispererが、サーバー側の暗号化を使用してファイルをAmazonS3にアップロードするための関数全体を生成する方法を示しています。

MLを利用したコーディングコンパニオンであるPlatoBlockchainDataIntelligenceであるAmazonCodeWhispererのご紹介。 垂直検索。 愛。

責任を持ってAIの力を活用する

推奨の精度を向上させるために、公開されている大量のコードでCodeWhispererモデルをトレーニングしました。 簡単に言えば、モデルの精度はトレーニングデータのサイズに正比例します。 これは精度の面で私たちを助けましたが、これらのタイプのモデルはいくつかの不要なパターンを学習することもできます。 AIは間違いなく生産性を向上させることができますが、責任を持ってこの力を活用する必要があると私たちは信じています。 この分野でCodeWhispererをユニークにするいくつかの傑出した機能があります。

AWSでは、セキュリティはジョブゼロであると言いたいです。 そのため、CodeWhispererは、セキュリティの脆弱性を検出するために、コード(CodeWhispererによって生成され、ユーザーによって作成されたもの)に対してスキャンを実行する機能も提供します。 次のスクリーンショットは、CodeWhispererのセキュリティスキャン機能を示しています。 リソースリークを引き起こす可能性のあるコードスニペットが含まれています。 あなたが選ぶとき セキュリティスキャンを実行する、CodeWhispererはこの脆弱性を検出し、問題を表示します。

MLを利用したコーディングコンパニオンであるPlatoBlockchainDataIntelligenceであるAmazonCodeWhispererのご紹介。 垂直検索。 愛。

次に、生成された出力が特定のトレーニングデータに類似している可能性があることを検出できる参照トラッカーを提供します。 モデルはコードの記述方法を学習し、その学習に基づいて完全に新しいコードを生成しますが、ごくまれに、独立して生成された推奨コードがトレーニングデータの一意のコードスニペットに似ている場合があります。 これが発生したときに通知し、リポジトリとライセンス情報を提供することで、CodeWhispererは、プロジェクトでコードを使用するかどうかを簡単に決定し、適切と思われる関連するソースコードの帰属を作成します。

CodeWhispererは、推奨ポップアップに通知を表示することにより、表示されている現在の推奨コードが参照コードに類似している可能性があることをリアルタイムで通知します。 次のスクリーンショットでは、生成されたコードはMITライセンスの下にある参照コードに類似していることがわかります。 開発者が推奨を受け入れると、CodeWhispererは受け入れと対応するライセンス情報をログに記録します。 次に、CodeWhispererノードの下にあるOpen CodeWhisperer Reference Panelを選択して、参照ログを表示できます。

MLを利用したコーディングコンパニオンであるPlatoBlockchainDataIntelligenceであるAmazonCodeWhispererのご紹介。 垂直検索。 愛。

最後に、一般的なステレオタイプに基づいてバイアスを検出する手法を実装しています。 生成されたコードの明らかな偏りを検出し、偏りがあり不公平と見なされる可能性のあるコードの推奨事項を削除するフィルターを実装しました。 たとえば、候補者を自動的に候補リストに載せることでマネージャーの採用を支援する採用ソフトウェアを想像してみてください。 同点の場合、ソフトウェアはタイブレーカーロジックに依存します。 このシナリオの推奨事項を生成している間、AIモデルが不適切なパラメーターに基づいて候補を優先するコードを生成する可能性があります。 CodeWhispererは、開発者に推奨事項を表示する前に、推奨事項のバイアスを検出してフィルターで除外できます。

CodeWhispererで生産性の向上を解き放つ

「特に、Webでコードサンプルやドキュメントを検索するためにコンテキストを切り替える必要がある場合は、コーディング中に気を散らすことが常に課題になります。 Amazon CodeWhispererは、必要なときに役立つ提案を自動的に提供することで、コードに集中できるようにします。そのため、エディターを離れる必要はありません。」

– SmugMugのスタッフソフトウェアエンジニア、RyanGrove。

「AmazonCodeWhispererをIntelliJプラットフォームに導入するためにAWSと協力できることをうれしく思います。 JetBrainsでは、ソフトウェア開発をスムーズで楽しい体験にすることを目指しています。 ツールのプラグインが利用できることで、開発者はIDEに集中でき、Webからコードスニペットを検索してカスタマイズする必要がなくなります。 現在、IntelliJ IDEA、PyCharm、およびWebStormのユーザーは、自分のIDEでAmazon CodeWhispererの操作を開始でき、近い将来、さらに多くのIDEがサポートされる予定です。」

– JetBrains CEO、MaxShafirov。

スタートガイド

プレビュー期間中、CodeWhispererは世界中のすべての開発者が無料で利用できます。 プレビューでサービスにアクセスするには、次の方法で順番待ちリストに参加してください サインアップする。 サービスの詳細については、次のWebサイトをご覧ください。 アマゾン コード ウィスパラー.


著者について

MLを利用したコーディングコンパニオンであるPlatoBlockchainDataIntelligenceであるAmazonCodeWhispererのご紹介。 垂直検索。 愛。アンクルデサイ AWSAIサービスチーム内のプリンシパルプロダクトマネージャーです。

MLを利用したコーディングコンパニオンであるPlatoBlockchainDataIntelligenceであるAmazonCodeWhispererのご紹介。 垂直検索。 愛。アトゥル・デオ AWSAIサービスチームの製品管理ディレクターです。

タイムスタンプ:

より多くの AWS機械学習