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 で GitHub Copilot に質問をする」を参照してください。
  • 特定のペルソナとしてタスクを完了する。 たとえば、Copilot Chat に、コードの品質、読みやすさ、効率性に非常に気を配るシニア C++ 開発者であるように伝え、コードのレビューを依頼することができます。

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

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

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

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

Copilot の機能をチェックする

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

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

ヒント

必要に応じて、Copilot の動作で既存のパブリック コードとの類似性をチェックすることもできます。 類似のコードを使用しない場合は、パブリック コードに一致する提案を却下できます。 「Managing Copilot policies as an individual subscriber」、「organization 内での Copilot のポリシーの管理」、または「Managing policies and features for Copilot in your enterprise」を参照してください。

Copilot を役立つ出力に導く

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

  • Copilot に役立つコンテキストを次のように指定します
    • IDE で Copilot を使用している場合は、関連するファイルを開き、無関係なファイルを閉じます。
    • Copilot Chat では、特定の要求がもはや役に立つコンテキストではなくなった場合、その要求を会話から削除します。 または、特定の会話のどのコンテキストも役に立たない場合は、新しい会話を開始します。
    • Copilot Chat in GitHub を使っている場合は、特定のリポジトリ、ファイル、シンボルなどをコンテキストとして指定します。 「GitHub で 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 の場合は、フィードバック ディスカッションにコメントを残してください。

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

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