Amazon の AI 搭載のコーディング支援ツール、CodeWhisperer に乾杯。今日現在、このツールは、ある意味、機能不全に陥っています。
CodeWhisperer は現在、Amazon のビジネス指向の生成 AI チャットボットである Q ファミリーの一部である Q Developer であり、新しく発表された Q Business にも拡張されています。AWS を通じて利用できる Q Developer は、CodeWhisperer と同様に、アプリのデバッグやアップグレード、トラブルシューティング、セキュリティスキャンの実行など、開発者が日常業務で行うタスクの一部に役立ちます。
TechCrunch とのインタビューで、AWS のゼネラルマネージャー兼 AI 開発者エクスペリエンス担当ディレクターの Doug Seven 氏は、CodeWhisperer はブランド化に少々失敗したと示唆した。サードパーティの指標もそれを反映している。無料プランがあるにもかかわらず、CodeWhisperer は、180 万人を超える有料個人ユーザーと数万の法人顧客を抱える最大のライバルである GitHub Copilot の勢いに追いつくのに苦労した。(初期の印象が悪かったのも、間違いなくプラスにはならなかった。)
「CodeWhisperer は、私たちが [コード生成] を始めたきっかけですが、より幅広いユースケースに適したブランドと名前を持ちたいと考えていました」と Seven 氏は語ります。「Q Developer は、CodeWhisperer がさらに幅広い分野に進化したものと考えることができます。」
そのため、Q Developer は、データベースの作成と管理に一般的に使用されるプログラミング言語である SQL を含むコードを生成できるほか、そのコードをテストし、開発者のクエリから考案された新しいコードの変換と実装を支援できます。
Copilot と同様に、顧客は Q Developer を社内のコードベースで微調整して、ツールのプログラミング推奨事項の関連性を向上させることができます。(現在は廃止されている CodeWhisperer でもこのオプションが提供されていました。) また、エージェントと呼ばれる機能により、Q Developer は機能の実装やコードのドキュメント化やリファクタリング (つまり再構築) などの作業を自律的に実行できます。
Q Developer に「アプリに「お気に入りに追加」ボタンを作成」などのリクエストをすると、Q Developer はアプリ コードを分析し、必要に応じて新しいコードを生成し、ステップごとの計画を作成し、提案された変更を実行する前にコードのテストを行います。開発者は、Q が計画を実装する前に計画を確認して反復し、ステップを接続して、必要なファイル、コード ブロック、テスト スイート全体に更新を適用できます。
「舞台裏で何が起こっているかというと、Q Developer は実際にコードに取り組むための開発環境を立ち上げているのです」とセブン氏は言う。「つまり、機能開発の場合、Q Developer はコード リポジトリ全体を取得し、そのリポジトリのブランチを作成し、リポジトリを分析し、依頼された作業を実行して、コードの変更を開発者に返します。」
エージェントはコードのアップグレード プロセスを自動化および管理することもできると Amazon は述べています。現在、Java 変換 (具体的には、Apache Maven を使用して構築された Java 8 および 11 から Java バージョン 17) が稼働しており、.NET 変換も近日中に開始される予定です。「Q Developer はコードを分析してアップグレードが必要なものを探し、すべての変更を行ってから開発者に返し、開発者がレビューしてコミットできるようにします」と Seven 氏は付け加えました。
私にとって、Agents は、ソフトウェアのバグ修正や新機能の計画を同様に生成して実装する GitHub の Copilot Workspace によく似ています。そして、Workspace と同様に、このより自律的なアプローチが AI を活用したコーディング アシスタントを取り巻く問題を解決できるとは、私は完全には確信していません。
GitClear が過去数年間にプロジェクト リポジトリにコミットされた 1 億 5000 万行を超えるコードを分析した結果、Copilot によって、コードベースにプッシュされる誤ったコードが増えていることが判明しました。セキュリティ研究者は他にも、Copilot や同様のツールによってソフトウェア プロジェクトの既存のバグやセキュリティ問題が拡大する可能性があると警告しています。
これは驚くことではありません。AI を活用したコーディング アシスタントは素晴らしいように思えます。しかし、既存のコードでトレーニングされており、その提案は他のプログラマーの作業のパターンを反映しています。その作業には重大な欠陥がある可能性があります。アシスタントの推測によってバグが生まれますが、特に多数の開発者が AI コーディング アシスタントを採用し、アシスタントの判断に従う場合は、バグを見つけるのが困難な場合が多くあります。
コーディング以外のリスクの少ない領域では、Q Developer は AWS 上の企業のクラウド インフラストラクチャの管理を支援できます。または、少なくとも企業が自ら管理するために必要な情報を提供します。
Q Developer は、「すべての Lambda 関数を一覧表示する」や「他の AWS リージョンにあるリソースを一覧表示する」などのリクエストに対応できます。現在プレビュー段階のボットは、AWS コマンドラインインターフェイスのコマンドを生成 (実行は不可) したり、「第 1 四半期に最もコストがかかった上位 3 つのサービスは何ですか?」などの AWS コスト関連の質問に答えたりすることもできます。
では、これらの生成 AI の利便性にはどれくらいの費用がかかるのでしょうか?
Q Developer は、AWS コンソール、Slack、および Visual Studio Code、GitLab Duo、JetBrains などの IDE で無料で利用できますが、制限があります。無料版では、カスタム ライブラリ、パッケージ、API の微調整は許可されず、ユーザーはデフォルトでデータ収集スキームにオプトインされます。また、月間上限も設定されており、エージェント タスク (機能の実装など) は 1 か月あたり最大 5 件、AWS アカウント リソースに関するクエリは 1 か月あたり最大 25 件です (Amazon が自社のサービスに関する質問に上限を設定するのは不可解ですが、これが現実です)。
Q Developer のプレミアム バージョンである Q Developer Pro は、ユーザー 1 人あたり月額 19 ドルで、より高い使用制限、ユーザーとポリシーを管理するためのツール、シングル サインオン、そしておそらく最も重要な IP 補償が追加されます。
多くの場合、Q Developer などのコード生成サービスを支えるモデルは、著作権で保護されているか、または制限的なライセンスの下にあるコードでトレーニングされています。ベンダーは、モデルが著作権で保護されたコードで故意にまたは無意識に開発された場合でも、フェアユースによって保護されると主張していますが、誰もが同意しているわけではありません。GitHub と OpenAI は、Copilot がクレジットを付与せずにライセンスされたコード スニペットを繰り返すことを許可したことで著作権を侵害したとして、集団訴訟を起こされています。
アマゾンは、顧客がAWSに防御権を委ね、「AWSが適切と判断する方法」で和解する限り、サービスが第三者の知的財産権を侵害しているという主張に対してQ Developer Proの顧客を弁護すると述べている。

元記事: https://techcrunch.com/2024/04/30/amazon-codewhisperer-is-now-called-q-developer-and-is-expanding-its-functions/