Skip to main content

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

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

Note

GitHub Copilot コード レビュー について

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

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

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

GitHub Copilot コード レビュー でサポートされている言語は英語のみです。

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

入力処理

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

言語モデルの分析

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

応答の生成

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

出力の形式

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

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

GitHub Copilot コード レビュー のユース ケース

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

GitHub Copilot コード レビュー のパフォーマンスの向上

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

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

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

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

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

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

コーディングのガイドラインを構成すると、Copilot がコーディングのスタイルとベスト プラクティスを理解できるようになります。 詳しくは、「GitHub Copilot コード レビューのコーディング ガイドラインの構成」をご覧ください。

GitHub Copilot コード レビュー の制限

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

制限付きのスコープ

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

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

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

誤検知

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

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

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

潜在的なバイアス

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

次のステップ

Copilot コード レビュー の使用方法の詳細については、次を参照してください。