Skip to main content

GitHub Copilot コード レビューの責任ある使用

その目的、機能、制限事項について理解することで、GitHub Copilot code review を安全に責任を持って使用する方法について説明します。

Note

GitHub Copilot code review について

GitHub Copilot code review は、コードをレビューしてフィードバックを提供する AI を利用した機能です。

ユーザーが Copilot からコード レビューを要求すると、Copilot はコード変更と関連する追加のコンテキストをスキャンし、コードに関するフィードバックを提供します。 そのフィードバックの一環として、特定の推奨されるコード変更も提供されることがあります。

Copilot のレビューは、コーディングのスタイルとベスト プラクティスに関する自然言語の説明であるコーディングのガイドラインを使用してカスタマイズできます。 詳しくは、「Configuring coding guidelines for GitHub Copilot code review」を参照してください。

GitHub Copilot code review でサポートされている言語は英語のみです。

GitHub Copilot code review はコードを検査し、自然言語処理と機械学習を組み合わせて使用することでフィードバックを提供します。 このプロセスは、いくつかの手順に分けることができます。

入力処理

コード変更を他の関連するコンテキスト情報 (たとえば、GitHub の pull request のタイトルと本文) やコーディングのガイドラインと組み合わせることでプロンプトを形成し、そのプロンプトが大きな言語モデルに送信されます。

言語モデルの分析

その後、プロンプトは、大量のテキスト データでトレーニングされたニューラル ネットワークである Copilot 言語モデルを通過します。 言語モデルにより、入力プロンプトが分析されます。

応答の生成

言語モデルによって、入力プロンプトの分析に基づいた応答が生成されます。 この応答は、自然言語の提案とコードの提案の形式を取ることができます。

出力の形式

Copilot によって生成された応答は、Visual Studio Code に直接、または GitHub の pull request レビューとしてユーザーに表示され、特定のファイルの特定の行に関連するコード フィードバックを提供します。

Copilot がコードの提案を提供した場合、提案は提案された変更として表示されます。この変更は数回のクリックで適用できます。

GitHub Copilot code review のユース ケース

GitHub Copilot code review の目標は、開発者のコードに関するフィードバックをすばやく提供することです。 これにより、開発者はコードをより迅速にマージする準備ができ、全体的なコード品質を向上させることができます。

GitHub Copilot code review のパフォーマンスの向上

人間のレビューを置き換えるためではなく、人間のレビューを補完するために Copilot code review を使用する

GitHub Copilot code review はコード品質を向上させる強力なツールですが、人間のレビューを置き換えるためではなく、ツールとして使用することが重要です。

常に Copilot code review によって生成されたフィードバックをレビューして検証し、慎重な人間のレビューで Copilot のフィードバックを補完することで、コードが要件を満たしていることを確認する必要があります。

フィードバックを提供する

Copilot code review で問題や制限が発生した場合は、Copilot のコメントのサムズアップ ボタンとサムズダウン ボタンを使用してフィードバックを提供することをお勧めします。 これは、GitHub がツールを改善し、懸念事項や制限事項に対処するのに役立ちます。

コーディングのガイドラインを構成する

コーディングのガイドラインを構成すると、Copilot がコーディングのスタイルとベスト プラクティスを理解できるようになります。 詳しくは、「Configuring coding guidelines for GitHub Copilot code review」を参照してください。

GitHub Copilot code review の制限

コードベースやプログラミング言語などの要因によって、GitHub Copilot code review を使う場合に、パフォーマンスのレベルが異なる場合があります。 次の情報は、GitHub Copilot code review に適用されるシステム制限とパフォーマンスに関する主な概念を理解するのに役立ちます。

制限付きのスコープ

Copilot code review は特定の一連のプログラミング言語のみをサポートし、限られた一連の特定のコード品質の問題のみを検出するように設計されています。 関連するすべての問題を確実に検出して修正するには、Copilot code review を慎重な人間のコード レビューで補完する必要があります。

コード品質の問題の見落とし

Copilot では、特に変更が大きい場合や複雑な場合、コード内に存在するすべての問題が特定されない場合があります。 関連するすべての問題を確実に検出して修正するには、Copilot code review を慎重な人間のコード レビューで補完する必要があります。

誤検知

Copilot code review には「錯覚」のリスクがあります。つまり、レビューされたコードに存在しない問題やコードの誤解に基づく問題が特定されることがあります。 アクションを実行して変更を加える前に、Copilot code review によって生成されたコメントを慎重にレビューして検討する必要があります。

不正確または安全でないコード

コメントの一部として、Copilot code review は特定のコードに関する提案を提供する場合があります。 生成されたコードは有効であるように見えますが、実際には意味的または構文的に正しくないか、コメントで検出された問題を正しく解決できないことがあります。 さらに、Copilot によって生成されたコードには、セキュリティの脆弱性やその他の問題が含まれていることがあります。 常に Copilot によって生成されたコードを慎重にレビューし、テストする必要があります。

潜在的なバイアス

Copilot のトレーニング データは既存のコード リポジトリから取得されており、ツールによって永続化される場合があるバイアスとエラーが含まれていることがあります。 さらに、Copilot code review は特定のプログラミング言語やコーディングのスタイルに偏っていることがあるため、最適ではないフィードバックや不完全なフィードバックにつながる場合もあります。

次のステップ

Copilot code review の使用方法の詳細については、次を参照してください。