Skip to main content

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

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

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

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

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

Copilot のレビューは、コーディングのスタイルとベスト プラクティスに関する自然言語の説明であるカスタム指示を使ってカスタマイズできます。 詳しくは、「GitHub Copilot のリポジトリ カスタム命令を追加する」をご覧ください。

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

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

入力処理

コード変更を他の関連するコンテキスト情報 (たとえば、GitHub の pull request のタイトルと本文) や定義したカスタム指示と組み合わせてプロンプトを形成し、そのプロンプトを大規模言語モデルに送信します。

言語モデルの分析

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

応答の生成

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

出力の形式

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

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

モデルの使用法

Copilot コード レビューは、入念に調整されたモデル、プロンプト、システム動作の組み合わせを使って、さまざまなコードベースについての一貫した高品質のフィードバックを提供する、専用の製品です。 モデルを変更すると、レビュー コメントの信頼性、ユーザー エクスペリエンス、品質が損なわれる可能性があるため、モデルの切り替えはサポートされていません。この機能を使うたびに、Premium 要求が 1 つ消費されます。 「GitHub Copilot における要求」を参照してください。

メモ

Copilot コード レビューは、organization の [Models] 設定ページで有効にされていないモデルを使う場合があります。 「GitHub Copilot のポリシーと機能を Organization で管理する」をご覧ください。

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

誤検知

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

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

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

潜在的なバイアス

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

次のステップ

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