Amazon CodeWhisperer のよくある質問

全般
  • CodeWhisperer は、AI を活用した生産性向上ツールです。統合開発環境 (IDE) とコマンドラインで、単一行または全機能のコード候補をリアルタイムで生成し、ソフトウェアの迅速な構築を支援します。CodeWhisperer を使用すると、「Upload a file with server-side encryption」(サーバー側の暗号化を使用してファイルをアップロードする) など、特定のタスクを英語で概説するコメントを自然言語で記述できます。 この情報に基づいて、CodeWhisperer はタスクを実行できる 1 つ以上のコードスニペットを IDE で直接推奨します。すばやく簡単に最上位の提案を受け入れたり (タブキー)、その他の提案を表示したり (矢印キー)、引き続き独自のコードを記述したりできます。コードの提案を受け入れる前に必ずその内容を確認する必要があります。その結果、そのコードが意図したとおりに動作するように編集する必要がある場合があります。

    詳細については、Visual Studio (VS) Code and JetBrainsAWS Cloud9AWS Lambda コンソールJupyterLabAmazon SageMaker StudioCommand line および Visual Studio (プレビュー) のユーザーガイドを参照してください。

  • CodeWhisperer は、コードの提案を提供することで開発全体の労力を削減し、アイデア出し、複雑な問題解決、差別化されたコードの記述により多くの時間を割けるようにすることで、ソフトウェア開発の加速をサポートします。CodeWhisperer は、汎用コードの提案に加えて、AWS API を使用するためのコードの提案を提供するように作られています。CodeWhisperer は、セキュリティの脆弱性の検出と修復をサポートすることで、アプリケーションのセキュリティ強化を支援します。

  • ユーザーがコードを記述すると、CodeWhisperer は英語のコメントと周囲のコードを分析して、現在のタスクを完了するために必要なコードを推測します。CodeWhisperer は、1 つ以上のコードスニペットをコードエディタで直接提案し、コーディング時の作業を加速します。CodeWhisperer によるコードの提案は、Amazon やオープンソースコードなど、数十億行のコードでトレーニングされた大規模言語モデル (LLM) に基づいています。すばやく、より簡単に最上位の提案を受け入れたり (タブキー)、その他の提案を表示したり (矢印キー)、引き続き独自のコードを記述したりできます。コードの提案を受け入れる前に必ずその内容を確認してください。その結果、そのコードが意図したとおりに動作するように編集する必要がある場合があります。

  • CodeWhisperer は、コードスニペット、コメント、カーソルの位置、IDE で開いているファイルの内容などのコンテンツを入力として使用して、コードの提案を提供します。

  • IDE と CodeWhisperer サービスの間の安全な通信を確保するために、コンテンツは TLS プロトコルを使用して送信されます。盗聴や中間者攻撃を防ぐため、コンテンツは転送中に暗号化されます。CodeWhisperer Individual ユーザーの場合、ユーザーの設定に基づき、サービス改善の目的でコンテンツを保持する場合があります。このコンテンツは、保管中の暗号化と厳格なアクセスコントロールを使用して、安全な方法で保管されます。
     

  • Visual Studio (VS) Code と JetBrains の AWS Toolkit の一部として利用できる CodeWhisperer は、現在、Python、Java、JavaScript、TypeScript、C#、Go、Rust、PHP、Ruby、Kotlin、C、C++、シェルスクリプト、SQL、Scala、JSON、YAML、HCL をサポートしています。VS コード、JetBrains の IDE ファミリー (IntelliJ、PyCharm、GoLand、CLion、PhpStorm、RubyMine、Rider、WebStorm、DataGrip、Visual Studio (プレビュー) など) に加え、CodeWhisperer は AWS Cloud9、Lambda コンソール、JupyterLab、SageMaker Studio、macOs ターミナル、iTerm2、VS コード内蔵ターミナルなど、お気に入りのコマンドラインでも利用できます。 

  • VS Code、JetBrains IDE、または Visual Studio (プレビュー) を使い始めるには、以下の短いビデオをご覧くださいドキュメントの指示に従って進めることもできます。

    CodeWhisperer は AWS Cloud9 や Lambda コンソールでデフォルトでご利用いただけます。詳細については、以下のリンクを使用して、次の IDE で CodeWhisperer の使用を開始する方法の手順を参照してください。

  • CodeWhisperer を有効にすると、入力時にコードエディタにコードの提案が表示されます。CodeWhisperer を手動でトリガーするには、Option+C (MacOS) または Alt+C (Windows) を使用します。

  • CodeWhisperer は、1 つの関数やコードブロックが長すぎないようにするために、デベロッパーのコメントが短く、小さな個別のタスクにマッピングされている場合に最も効率的に機能します。同様に、CodeWhisperer は、デベロッパーが関数名などのさまざまなコード要素に直感的な名前を使用する場合に、有益なコードの提案を生成できます。周囲のコンテキストとして使用できるコードが多ければ多いほど、提案の精度が高くなります。

  • はい。AWS Toolkit の [デベロッパーツール] パネルの [CodeWhisperer] セクションで自動提案を一時停止できます。自動提案は、再開するまで一時停止されたままになります。CodeWhisperer を手動でトリガーするには、Option+C (MacOS) または Alt+C (Windows) を使用します。

  • CodeWhisperer のリファレンストラッカーは、コードの提案が CodeWhisperer のオープンソースの特定のトレーニングデータに類似している可能性があるかどうかを検出します。リファレンストラッカーは、リポジトリ URL やプロジェクトライセンス情報を使用してこのような提案にフラグを付けたり、(オプションで) フィルタリングして除外したりできます。これにより、リファレンス付きのコードを簡単に検索して確認し、別のプロジェクトのコンテキストでどのように使用されているかを確認してから、そのコードの使用を決定することができます。コードフローが妨げられていない状況を確実に維持するために、すべてのリファレンスはログ記録され、後で確認できるようになっています。そのため、中断することなくコーディングを続けることができます。

  • コードをスキャンして見つけにくいセキュリティの脆弱性を特定し、特定された問題の修正に役立つコード候補を得ることができます。組み込みのセキュリティスキャンの目的は、漏えいした認証情報やログインジェクションなどの問題を検出することです。生成 AI によるコード提案は、特定された脆弱性の修復を支援し、アプリケーション・コードに合わせて調整されるため、自信を持って修正を迅速に受け入れることができます。Java、Python、JavaScript で利用可能なセキュリティスキャンは、TypeScript、C#、AWS CloudFormation (YAML、JSON)、AWS CDK (TypeScript、Python)、HashiCorp Terraform (HCL) でもご利用いただけます。脆弱性を修正するコード提案は現在、Java、Python、JavaScript で記述されたコードに対応しています。

  • CodeWhisperer は、Amazon やオープンソースコードなど、さまざまなデータソースでトレーニングされた基盤モデル (FM) を搭載した生成 AI サービスです。さらに、IDE の CodeWhisperer 経由で Amazon Q にアクセスすることもできます。Amazon Q は、Amazon Bedrock に基づいて構築されています。Amazon Bedrock は、Amazon や大手の AI 企業が提供する高性能な FM を選択できる、生成 AI アプリケーションを構築するためのフルマネージド型サービスです。Amazon Q は複数の FM を使用してタスクを完了し、ロジックを使用してタスクをジョブに最適な FM にルーティングします。

責任ある AI
  • IDE と同様に、CodeWhisperer が提供するコードの提案を含め、お客様が記述するコードはお客様が所有します。お客様は、受け入れる CodeWhisperer の提案を含め、ご自分が記述するコードに対して責任を負います。コードの提案を受け入れる前に必ずその内容を確認してください。その結果、そのコードが意図したとおりに動作するように編集する必要がある場合があります。

  • 生成 AI として、CodeWhisperer は、その基礎となるモデルが学習されたコードと、あなたが以前のコードやコメントとして提供したコンテキストから学んだことに基づいて、新しいコードを作成します。CodeWhisperer はトレーニングデータからコードを再現するようには設計されていませんが、まれに公開されているコードとほぼ一致するコードを生成する可能性があります。CodeWhisperer の出力が一般に公開されているコードと一致することを検出した場合、組み込みの参照トラッカーは、ライセンスの種類 (たとえば、MIT や Apache) と一般に公開されているコードの URL への参照を通知します。これにより、リファレンス付きのコードを簡単に検索して確認し、別のプロジェクトのコンテキストでどのように使用されているかを確認してから、そのコードを使用するかどうかを決定することができます。コーディングフローが妨げられていない状況を確実に維持するために、すべてのリファレンスはログ記録され、後で確認できるため、中断することなくコーディングを続けることができます。

  • はい。CodeWhisperer の構成設定では、[コードリファレンスを持つ提案を含む] オプションの選択を解除できます。これにより、CodeWhisperer は、ライセンスされた既知のオープンソースコードへのリファレンスを持つ提案を提供しなくなります。無料の CodeWhisperer Individual Tier ユーザーの場合、この設定は IDE でご利用いただけます。CodeWhisperer Professional を使用すると、AWS 管理者は AWS マネジメントコンソールから組織レベルでこの設定を一元的に構成できます。

  • CodeWhisperer は、有害なフレーズを含むコードの提案や、バイアスを示す一般的に知られているコード構造を含む提案をフィルタリングして除外できます。

  • CodeWhisperer は、セキュリティに脆弱性のあるコードが提案されないように設計されており、セキュリティ上の脆弱性ができるだけ多く除外されます。ただし、CodeWhisperer の生成的な性質を踏まえると、セキュリティ上の問題があるコードの提案を完全に排除することはできません。そのため、CodeWhisperer には、Python、Java、および JavaScript プロジェクト内のセキュリティの脆弱性を検出する、組み込みのコードスキャン機能が備わっています。これには、CodeWhisperer からのコードの提案やユーザーが記述したコードが含まれます。

  • CodeWhisperer は、Amazon やオープンソースコードなど、さまざまなデータソースでトレーニングされました。CodeWhisperer は、英語のコメントからコードの提案を生成するようにトレーニングされ、検証されています。トレーニングデータセットにはさまざまな例が含まれているため、CodeWhisperer は、英語以外の言語で記述されたコメントからコードの提案を提供できる可能性がありますが、これはサポートされていないユースケースです。

料金と利用可能なリージョン
  • CodeWhisperer Individual は、AWS ビルダー ID を作成してサインインすることで無料でご利用いただけます。サインアッププロセスはわずか数分で完了し、クレジットカードや AWS アカウントは必要ありません。

    CodeWhisperer Professional はユーザーあたり 19 USD/月で、管理者はシングルサインオン (SSO) 認証を使用して、組織のために CodeWhisperer を有効にすることができます。管理者は、CodeWhisperer を既存のワークフォース ID ソリューションとより簡単に統合し、ユーザーとグループへのアクセスを提供し、コードリファレンスを持つ提案を包含または除外するなど、組織全体の設定を構成できます。詳細については、「Amazon CodeWhisperer の料金」をご覧ください。
     

  • CodeWhisperer は AWS リージョンに依存せず、世界中のデベロッパーにご利用いただけます。CodeWhisperer は現在、米国東部 (バージニア北部) リージョンでホストされています。他のリージョンに IAM アイデンティティセンターがある場合、CodeWhisperer Professional 管理者は、承認されたクロスリージョンアプリケーションとして CodeWhisperer を設定できます。

  • AWS 管理者は、AWS マネジメントコンソールを通じて、組織に対して CodeWhisperer を有効にできます。前提条件として、組織で SSO がまだ有効になっていない場合、管理者は IAM アイデンティティセンターを通じて SSO を設定する必要があります。SSO 認証が設定されたら、管理者は CodeWhisperer を有効にして、アクセス権を組織のユーザーやグループに割り当てることができます。

  • CodeWhisperer 用の SSO は、IAM アイデンティティセンターによって有効に機能します。詳細については、「CodeWhisperer ユーザーガイド」を参照してください。

CodeWhisperer のカスタマイズ機能 (プレビュー)
  • CodeWhisperer のカスタマイズ機能では、CodeWhisperer をカスタマイズして、内部ライブラリ、API、ベストプラクティス、およびアーキテクチャパターンを認識させることで、より関連性の高いレコメンデーションを生成できます。詳細については、「CodeWhisperer をカスタマイズして、より良い提案を」を参照してください。

  • 現在、Java、JavaScript、TypeScript、および Python で記述されたコードベースで CodeWhisperer のレコメンデーションをカスタマイズできます。CodeWhisperer がサポートする他の言語 (C#、Go、Rust、PHP、Ruby、Kotlin、C、C++、シェルスクリプト、SQL、および Scala) で記述されたファイルは、カスタマイズを作成するときや、内部コードリポジトリに基づいて IDE でカスタマイズされたレコメンデーションを提供するときには使用されません。

  • AWS マネジメントコンソールを使用して、コードリポジトリを CodeWhisperer に安全に接続できます。CodeWhisperer の 管理者は、コンソールからプライベートなカスタマイズへのアクセスを簡単に管理でき、特定の開発者だけがアクセスできるようにすることができます。

  • それぞれのカスタマイズは他のユーザーから分離されており、この新機能で構築されたカスタマイズはいずれも、CodeWhisperer の基盤となる基盤モデルのトレーニングには使用されません。カスタマイズを作成する場合、CodeWhisperer の AWS Key Management Service (AWS KMS) のカスタマーマネージドキーを使用してカスタマイズデータを暗号化するオプションを使用することで、コードのセキュリティを維持できます。カスタマイズデータは、カスタマイズジョブが終了すると削除されます。

  • プレビュー中、CodeWhisperer のカスタマイズ機能を使用して、内部コードベースに基づいて最大 8 つのカスタマイズを作成できます。同時に最大 2 つのコードカスタマイズをアクティブに保つことができます。

Amazon Q IN IDE (プレビュー)
  • CodeWhisperer は、IDE とコマンドライン向けの生成 AI を活用した生産性向上ツールです。IDE に AWS Toolkit 拡張機能をインストールして CodeWhisperer モジュールにログインすると、IDE のインラインコード提案、カスタマイズ、セキュリティスキャン、Amazon Q などの機能にアクセスできます。Amazon Q は、仕事用に設計された生成 AI 搭載アシスタントです。IDE で使用すると、Amazon Q は AWS やその他の環境でのソフトウェア構築に関する質問に答えることができます。さらに、IDE 内のコードを理解し、コードの説明、テストの作成、アプリケーション言語バージョンのアップグレードなどの作業を支援します。

  • Amazon Q は Amazon CodeWhisperer を通じて IDE で利用でき、現在 Visual Studio (VS) Code と JetBrains ファミリーの IDE をサポートしています。IDE で Amazon Q を使い始めるには、「Amazon Q 入門 — AWS のエキスパートアシスタント」を参照するか、ドキュメントをお読みください。

  • Visual Studio (プレビュー) JetBrains、または VS Code 用の AWS ツールキットを、それぞれの拡張機能/プラグインマーケットプレイスからインストールします。次に、AWS ビルダー ID または AWS IAM アイデンティティセンターで認証します。認証が完了すると、Amazon Q は VS Code のアクティビティバーまたは JetBrains の右上に固定されたツールウィンドウに表示されます。Amazon Q を使い始めるにあたってさらにヘルプが必要な場合は、「Amazon Q 入門 — AWS のエキスパートアシスタント」を参照してください。

  • Amazon Q は、開発者環境でのコード生成と補完だけではありません。開発者が自然言語での会話を通じて対話できるようにし、開発者がライブラリや API の使用方法を学ぶのに役立つさまざまなユースケースをサポートし、プロンプトを解決するためのコードを生成し、複雑なコードロジックを説明し、コード内のエラーの考えられる解決策について説明します。これにより、開発者の効率と生産性が大幅に向上し、日々の開発ライフサイクルのパートナーとなり、ソフトウェアシステムで解決すべき適切な問題について考える余裕が生まれます。

  • Amazon Q は、AWS やその他の環境でのアプリケーションやワークロードの開始、構築、デプロイ、運用に関する質問に答えることができます。Amazon Q は、なじみのないコードベースの説明、エラーの修正、コードやテストの生成にも役立ちます。Amazon Q の機能開発機能を使用すると、IDE から直接、インタラクティブなステップバイステップの指示に従って、自然言語プロンプトからアプリケーション機能に短時間で移行できます。Amazon Q Code Transformation では、必須のパッケージ依存関係とフレームワークを特定して更新し、セキュリティのベストプラクティスを組み込んだ非推奨のコードを更新し、アップグレードしたアプリケーションが実行されることを検証するテストを生成することで、Java アプリケーションを最新の言語バージョンにアップグレードできます (プレビュー中に Java 8 または 11 から Java 17 にアップグレード)。

  • Amazon Q は、質問に答える際に次のコンテキスト情報を使用します。1.質問や会話パネルで生成された回答/コードなど、現在の会話のコンテキスト。2.IDE コンテキスト (選択したコード行、ファイル内のスニペットまたは関数、開発者が現在作業しているリポジトリを含む)。

  • Amazon Q は、CodeWhisperer Professional ユーザーからのコンテンツをサービス向上のために保存したり使用したりすることはありません。Amazon Q をAmazon CodeWhisperer Professional ユーザーとして使用する場合、AWS はサービス改善の目的で、クライアント側のテレメトリと使用状況メトリックス、およびフィードバックを収集して使用する場合があります。Amazon Q はこれを活用して、会話が進むにつれ、将来の対応をより適切に、開発者の指示や意図に合わせて調整します。IDE で設定を調整することで、このデータ収集をオプトアウトできます。CodeWhisperer 個人がお客様のデータを収集して使用する方法については、CodeWhisperer 個人に関するよくある質問をご覧ください。

  • プレビューでは、CodeWhisperer のカスタマイズ機能は Amazon Q ではサポートされません。Amazon Q は、CodeWhisperer によるカスタマイズを使用している場合でも、内部コードベースに基づいてカスタマイズされたコードレコメンデーションを提供しません。現在、カスタマイズ機能は、CodeWhisperer による IDE 内エクスペリエンスのコード生成ユースケースでのみサポートされています。

CODEWHISPERER コマンドライン (プレビュー)
  • CodeWhisperer for Command Line は、コンテキスト CLI 補完、インラインドキュメント、AI の自然言語から Bash への翻訳により、開発者がコマンドラインでより生産的になるようにします。CodeWhisperer for Command Line は、開発者の既存のコマンドラインと統合されるため、開発者は使用するツールを変更しなくてもメリットが得られます。

  • ユーザーがコマンドラインに入力している間、CodeWhisperer は 250 以上の CLI ツールのインライン補完とドキュメントを表示します。

    たとえば、開発者は `git ` と入力すると、すべての git サブコマンド、オプション、引数のリストが、使用頻度順に並べられて表示されます。開発者は `npm install ` と入力して、インストール可能なすべてのノードパッケージのリストを見ることもできます。最後に、開発者は `aws ` と入力すると、使用可能なすべての aws サブコマンドのリストが表示されます。 

  • コマンドライン用の CodeWhisperer は、自然言語のテキストプロンプト (「最新の git コミットを元に戻す」など) を取得して、すぐに実行可能な bash コードに変換できます

    始めるには、`q` を実行してプロンプトを挿入し、bash を実行するだけです!

  • コマンドライン用 CodeWhisperer は現在、以下のツールとの統合をサポートしています。

    1.オペレーティングシステム: macOS
    2.シェル: bash、zsh、fish
    3.ターミナルエミュレーター: iTerm2、macOS ターミナル、Hyper、Tabby
    4.IDE: VS コード内のターミナル
    5) CLI: git、aws、docker、npm、yarn など、250 種類以上の最も人気のある CLI (https://github.com/withfig/autocomplete を参照)

    macOS 上の Jetbrains IDE (フリートを除く)、Alacritty、Kitty、Wezterm をサポートするには、`cw integrations install input-method` を実行してください

  • CodeWhisperer は、サービス改善の目的で、お客様の利用状況やコンテンツに関するデータを保存することがあります。コンテンツには、CodeWhisperer が AI レコメンデーションと翻訳を生成するために使用するコマンドライン履歴の一部と、レコメンデーション自体のコンテンツが含まれます。CodeWhisperer は、プロフェッショナルレベルでのサービス向上の目的でお客様のコンテンツを収集することはありません。サービスの使用状況は、クライアント側のテレメトリで定量化されます。たとえば、AWS は、お客様が推薦を受け入れるか拒否したかを追跡することがあります。クライアント側のテレメトリには実際のコードは含まれておらず、IP アドレスなどの個人を特定できる情報 (PII) も含まれていません。コマンドラインダッシュボード用 CodeWhisperer の設定を調整することで、使用状況とコンテンツデータの収集をオプトアウトできます。

  • はい。
    1.`cw` を実行して設定ページを開きます。
    2.CLI 完了タブを選択します。
    3.ページの右上隅にあるスイッチを [オフ] に切り替えます。

PRIVACY CODEWHISPERER PROFESSIONAL
  • CodeWhisperer Professional は、コードスニペット、コメント、IDE で開いているファイルのコンテンツなどのコンテンツを使用します。このコンテンツは、サービスの提供と維持のみを目的としてサービスによって処理されます。CodeWhisperer Professional によって処理されたコンテンツは、サービス改善の目的で保存または使用されることはありません。

    さらに、AWS は、サービス改善の目的で、クライアント側のテレメトリや使用状況のメトリクスを収集して使用する場合があります。IDE で設定を調整することで、このデータ収集をオプトアウトできます。

    詳細については、「CodeWhisperer ユーザーガイド」を参照してください。

  • CodeWhisperer Professional によって処理されたコンテンツ (コードスニペット、コメント、IDE で開いているファイルのコンテンツなど) は、サービス改善の目的で保存または使用されることはありません。

    AWS は、サービス改善の目的で、クライアント側のテレメトリや使用状況のメトリクスを収集して使用する場合があります。IDE で設定を調整することで、このデータ収集をオプトアウトできます。

    詳細については、「CodeWhisperer ユーザーガイド」を参照してください。

  • いいえ。CodeWhisperer Professional によって処理されたコンテンツ (コードスニペット、コメント、IDE で開いているファイルのコンテンツなど) は、モデルをトレーニングするために保存または使用されることはないため、別のユーザーへのコードの提案で再製されることはありません。

プライバシー: CodeWhisperer Individual
  • CodeWhisperer Individual は、コードスニペット、コメント、カーソルの位置、IDE で開いているファイルの内容などのコンテンツを入力として使用して、コードの提案を提供します。IDE で AWS Toolkit の [CodeWhisperer コンテンツを AWS と共有] 設定を調整することで、AWS によるサービス改善を目的としたコンテンツの保存および使用をオプトアウトできます。

    さらに、AWS は、サービス改善の目的で、クライアント側のテレメトリや使用状況のメトリクスを収集して使用する場合があります。IDE で AWS Toolkit の [テレメトリ] 設定を調整することで、このデータ収集をオプトアウトできます。

    詳細については、「CodeWhisperer ユーザーガイド」を参照してください。

  • CodeWhisperer Individual は、サービスの提供と維持のために、また、(後述のようにオプトアウトしない限りは) CodeWhisperer の品質の改善と開発のために、コードスニペット、コメント、IDE で開かれたファイルのコンテンツなど、サービスによって処理されたコンテンツを保存および使用する場合があります。これには、コード生成を通じてデベロッパーの生産性を向上させる最適な方法の学習、サービスの潜在的な誤用の検出、CodeWhisperer 機能の有効性の評価、コード生成を可能にする基盤となる LLM の改善、ランキングアルゴリズムの微調整などが含まれます。IDE で設定を調整することで、AWS によるサービス改善を目的としたコンテンツの保存および使用をオプトアウトできます。

    さらに、AWS は、サービス改善の目的で、クライアント側のテレメトリや使用状況のメトリクスを収集して使用する場合があります。IDE で設定を調整することで、このデータ収集をオプトアウトできます。

    詳細については、「CodeWhisperer ユーザーガイド」を参照してください。

  • CodeWhisperer Individual では、IDE で設定を調整することで、データ収集をオプトアウトできます。

    詳細については、「CodeWhisperer ユーザーガイド」を参照してください。

  • 当社では、CodeWhisperer Individual ユーザーから収集した固有のプライベートコードが再生成されないようにするための安全策を講じています。

プライバシー全般
ドキュメントを参照

詳細については、CodeWhisperer のドキュメントをご覧ください。

詳細はこちら »

CodeWhisperer で構築を始めましょう