Amazon Web Services ブログ

ソースコードを自動生成する Amazon CodeWhisperer でアクセンチュアが開発生産性を向上させた方法

Amazon CodeWhisperer は、統合開発環境 (IDE) で記載されたコードやコメントから提案コードを生成する AI アシスタントで、開発者の生産性の向上に役立ちます。 CodeWhisperer のような AI アシスタントを導入することで、必要なコードがリアルタイムに提案され IDE とドキュメントや Q&A サイト間の往復 ( コンテキストスイッチ ) が減りコーディングの完了を早めることができます。 CodeWhispererは、何十億行ものコードでトレーニングされた大規模言語モデル (LLM) により 15 のプログラミング言語でコードを書けます。執筆時点で、 Java、Python、JavaScript、TypeScript、C#、Go、Ruby、Rust、Scala、Kotlin、PHP、C、C++、シェル、SQL をサポートしています。「 S3 にファイルをアップロードする」といった実行したいタスクのコメントで書くだけで、最も適したクラウドサービスとライブラリを自動的に判断し、提案する一連のコードを組み立てIDEで直接表示します。 IDE として、 CodeWhisperer は Visual Studio Code や JetBrains IDE をサポートしシームレスに統合されます。

この記事では、アクセンチュアが開発者の生産性を向上させるためにCodeWhispererを実際どのように使用しているか説明します。「アクセンチュアは、Velocity プラットフォームにおけるソフトウェア開発のベストプラクティスイニシアチブの一環として、Amazon CodeWhisperer を使用し開発を加速させています」と、テクノロジーアーキテクチャを担当するシニアマネージャー Balakrishnan Viswanathan は言います。「 Velocity チームは、開発者の生産性を向上させる方法を模索していました。複数のオプションを探した結果、開発作業を 30% 削減できる Amazon CodeWhisperer に出会い、現在はセキュリティ、品質、パフォーマンスの向上にさらに注力しています。」

アクセンチュアで確認された CodeWhisperer のメリット

アクセンチュア Velocity チームは、 人工知能 (AI) と機械学習 (ML) に関わるプロジェクトを CodeWhisperer で加速しています。挙げられたメリットを次にあげます。

  • ボイラープレートや反復的なコードの作成に費やす時間が削減され、より重要なソフトウェアの構築に集中できる。
  • 開発者が責任を持ち提案されたコードを使用することで、構文的に正確でセキュアなアプリケーションが作成できる。
  • Web からコードスニペットを検索してカスタマイズしなくても、関数全体やコードブロックを生成できる。
  • 経験の浅い開発者や、なじみのないコードを扱う開発者のオンボーディングを迅速に行うことができる。
  • セキュリティスキャンを開発者の IDE で行うことで、開発の早い段階でセキュリティリスクを検出できる。

以下のセクションでは、アクセンチュア Velocity チームが CodeWhisperer を使用した方法について詳しく説明します。

新規プロジェクトへの開発者のオンボーディング

アクセンチュアでプロジェクトに参画した AWS に不慣れな開発者は、 CodeWhisperer のおかげで短期間で  Amazon Simple Storage Service (Amazon S3) や Amazon DynamoDB などの AWS サービスのコードを書くことができるようになり、プロジェクトに貢献することができました。生産性が向上することで、 AWS のサービスを使用するプロジェクトをすばやく立ち上げることができます。 CodeWhisperer は、コードを行やブロック単位で生成できます。さらに、ソースコード中のコメントをより具体的にするとより関連性の高いコードを生成します。

定型的な処理の提案

開発者は CodeWhisperer を使用し定型的な処理の実装を効率化できました。例えば、「機械学習用のデータを前処理する関数」と入力するだけで、前処理用の関数を作成できました。 CodeWhisperer はコードブロック全体を生成することができ、 作成には数分しかかからりませんでした。

開発者がなじみのない言語でコードを書くのを助ける

チームに初めて参加した Java 開発者は、 CodeWhisperer の生成するコードをベースにすることで構文を調べることなく Python コードの記述を始めることができました。

コード内のセキュリティ脆弱性の検出

開発者は IDE で「 Run security scan 」を実行するだけでセキュリティの問題を検出できました。発見された問題の詳細な情報は、IDE で直接確認できます。これにより、開発者は問題を早期に発見し修正できます。

アクセンチュアの AI エンジニアリングコンサルタントである Nino Leenus 氏は次のように語っています。「開発者として、 CodeWhisperer を使うことでコードをより迅速に記述できます。」「さらに、 CodeWhisperer はタイプミスやその他の一般的なエラーを排除し、より正確なコーディングを支援します。開発者にとって、同じコードを複数回書くのは面倒です。 AI による自動生成技術は、必要になる可能性のある後続のコード部分を提案することで、似たコードを書く回数を減らします。」

おわりに

本記事で Amazon の AI コードアシスタントである CodeWhisperer を紹介しました。CodeWhisperer は大規模なデータセットで学習した機械学習モデルを使用することで、コードの提案や補完を行うだけでなく、自然言語による記述から関数やクラス全体を生成することができます。アクセンチュアで CodeWhisperer を使用することで得られたメリットとして、プロジェクトで新たな言語やサービスに触れることになった開発者の生産性向上や、一般的なコーディングに費やしていた時間と労力の削減などを取り上げました。

今すぐ、お気に入りの IDE で CodeWhisperer をアクティベートできます。 CodeWhisperer は、既存のコードとコメントに基づいて提案を自動的に生成します。Amazon CodeWhisperer にアクセスして始めましょう。

翻訳は機械学習 Developer Relations の久保が担当しました。

原文はこちらです。