Skip to main content

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

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

GitHub Copilotコード レビュー の概要

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

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

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

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

入力処理

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

言語モデルの分析

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

応答の生成

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

出力の形式

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

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

モデルの使用法

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

メモ

Copilotコード レビューは、organization の [Models] 設定ページで有効にされていないモデルを使う場合があります。 [モデル] 設定ページでは、コパイロットチャット のみが制御されます。

Copilotコード レビュー は一般公開されているため、すべてのモデルの使用は一般公開の条件に従います。 「組織内のGitHub Copilotのポリシーと機能の管理」をご覧ください。

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

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

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

人間のレビューを補足するために Copilotコード レビュー を使用します, それらを置き換えるのではなく、

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

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

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

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

カスタム指示

コーディング スタイルとベスト プラクティス Copilot 理解するのに役立つカスタム命令を構成できます。 詳しくは、「GitHub Copilot用のリポジトリカスタム命令の追加」をご覧ください。

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

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

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

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

誤検知

Copilotコード レビュー には、"幻覚" のリスクがあります。つまり、存在しないか、コードの誤解に基づいているレビュー済みコードの問題が強調表示される可能性があります。 Copilotコード レビューによって生成されたコメントは、アクションを実行して変更を加える前に、慎重に確認して検討する必要があります。

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

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

潜在的なバイアス

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

次のステップ

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