Skip to main content

GitHub Copilot の使用についてのベスト プラクティス

Copilot を最大限に活用する方法について説明します。

Copilot の長所と短所を理解する

GitHub Copilot は AI コーディング アシスタントであり、コードをより速く楽に記述できるため、問題解決とコラボレーションにより多くのエネルギーを集中できます。 Copilot の操作を開始する前に、使用すべき場合と使用すべきではない場合を理解しておくことが重要です。

Copilot が最適な場合の一部を次に示します

  • テストと繰り返しコードの記述
  • デバッグと構文の修正
  • コードの説明とコメント
  • 正規表現の生成

Copilot は次の場合には適していません

  • コーディングとテクノロジに関係のないプロンプトに対応する
  • 専門知識やスキルを更新する。 自分自身が責任者であって、Copilot はサービスの強力なツールであることを忘れないでください。

ジョブに適した Copilot ツールを選択する

Copilot コード補完と Copilot Chat は一部の機能を共有していますが、2 つのツールはそれぞれ別の状況で使用するのが最適です。

コード補完は次の目的に最適です

  • コード スニペット、変数名、および関数を記述する際の補完
  • 繰り返しコードの生成
  • 自然言語のインライン コメントからのコード生成
  • テスト駆動開発用のテスト生成

一方、Copilot Chat は次の目的に最適です

  • コードに関する質問への自然言語での回答
  • コードの大きなセクションを生成し、そのコードを反復処理してニーズを満たす
  • キーワードとスキルを使用して特定のタスクを実行する。 Copilot Chat には、プロンプトの重要なコンテキストを提供し、一般的なタスクをすばやく実行するように設計されたキーワードとスキルが組み込まれています。 さまざまな種類のキーワードとスキルが、さまざまな Copilot Chat プラットフォームで使用できます。 「IDE で GitHub Copilot に質問する」と「GitHub.com で GitHub Copilot に関する質問をする」を参照してください。
  • 特定のペルソナとしてタスクを完了する。 たとえば、Copilot Chat に、コードの品質、読みやすさ、効率性について非常に気をつかう C++ のシニア開発者として振舞うように伝え、コードをレビューするように依頼できます。

思慮深いプロンプトを作成する

プロンプト エンジニアリング、つまり Copilot が簡単に理解して対応できるように要求を構造化することは、Copilot が価値のある応答を生成する能力において重要な役割を果たします。 プロンプトを作成するときに覚えておく必要があるいくつかの簡単なヒントを次に示します。

  • 複雑なタスクを分割する。
  • 要件について具体化する。
  • 入力データ、出力、実装などの例を提供する。
  • 適切なコーディング プラクティスに従う。

詳細については、「GitHub Copilot のプロンプト エンジニアリング」を参照してください。

Copilot の機能をチェックする

Copilot は非常に強力ですが、それでも間違いを犯す可能性があるツールであり、提案するコードを常に検証する必要があります。 次のヒントを使用して、正確で安全な提案を受け入れるようにします。

  • 実装する前に、提案されたコードを理解します。 Copilot の提案を完全に理解するために、Copilot Chat にコードの説明を求めることができます。
  • ** Copilot の提案を慎重にレビューします。** 提案されたコードの機能とセキュリティだけでなく、今後のコードの読みやすさと保守容易性も考慮します。
  • 自動テストとツールを使用して、Copilot の動作をチェックします。 lint、code scanning、IP スキャンなどのツールを使用すると、セキュリティと正確性チェックの追加レイヤーを自動化できます。

Tip

必要に応じて、Copilot の動作で既存のパブリック コードとの類似性をチェックすることもできます。 類似のコードを使用しない場合は、パブリック コードに一致する提案を却下できます。 「個人のサブスクライバーとしての Copilot ポリシーの管理」、「organization 内での Copilot のポリシーの管理」、または「企業内の Copilot のポリシーと機能を管理する」を参照してください。

Copilot を役立つ出力に導く

Copilot をより価値のある応答に導くために、次のようないくつかの調整を行うことができます。

  • Copilot に役立つコンテキストを次のように指定します
    • IDE で Copilot を使用している場合は、関連するファイルを開き、無関係なファイルを閉じます。
    • Copilot Chat では、特定の要求が有用なコンテキストでなくなった場合は、その要求を会話から削除します。 または、特定の会話のどのコンテキストも役に立たない場合は、新しい会話を開始します。
    • Copilot Chat in GitHub.com を使用している場合は、特定のリポジトリ、ファイル、シンボルなどをコンテキストとして指定します。 「GitHub.com で GitHub Copilot に関する質問をする」を参照してください。
    • IDE で Copilot Chat を使用している場合は、キーワードを使用して、Copilot を特定のタスクまたはコンテキストにフォーカスします。 「IDE で GitHub Copilot に質問する」を参照してください。
  • プロンプトを書き直して、さまざまな応答を生成します。 Copilot が役に立つ応答を提供していない場合は、プロンプトを言い換えるか、要求を複数の小さなプロンプトに分割してみます。
  • 入手した最適な提案を選択します。 コード補完を使用している場合、Copilot は複数の提案を提供する可能性があります。 キーボード ショートカットを使用すると、使用可能なすべての提案をすばやく確認できます。 オペレーティング システムの既定のキーボード ショートカットについては、「環境での GitHub Copilot の構成」を参照してください。
  • 今後の提案を改善するためのフィードバックを提供します。 次のようなさまざまな方法でフィードバックを提供できます。
    • コード補完の場合は、Copilot の提案を受け入れるか拒否します。
    • Copilot Chat の個々の応答の場合は、応答の横にあるサムアップ アイコンまたはサムダウン アイコンをクリックします。
    • IDE の Copilot Chat の場合は、環境に固有の手順について「IDE で GitHub Copilot に質問する」を参照してください。
    • Copilot Chat in GitHub.com の場合は、フィードバック ディスカッションにコメントを残します。

Copilot の機能を最新の状態に保つ

新しい機能を作成し、既存の機能に基づいて構築し、ユーザー エクスペリエンスを向上させるために、新しい機能が Copilot に定期的に追加されています。 Copilot の機能を最新の状態に保つには、変更ログを参照してください。