GitHub Copilotプロンプトとキーワードを調べる

完了

GitHub Copilotのチャット インターフェイスでは、自然言語処理と機械学習を使用してプロンプトを解釈し、関連する応答を提供します。 プロンプトと提供するコンテキストは、正確で有用な応答を生成するために不可欠です。

プロンプトの品質

GitHub Copilotのプロンプトを記述するときは、応答の品質を向上させるために次のガイドラインを検討してください。

  • 送信するプロンプトは、明確で簡潔で、具体的である必要があります。 たとえば、"この関数を使用する方法" を尋ねる代わりに、" calculateTotal 関数が shoppingCart.js ファイルでどのように機能するかを説明できますか?" という質問を行うことができます。

  • 長いプロンプトを記述する必要がある場合は、いくつかの短い文を使用してプロンプトを記述する必要があります。 まず、目標を説明する概要から始めて、具体的な詳細を指定します。

  • 複雑なプロンプトをより小さく、より管理しやすい部分に分割することを検討してください。 複雑なプロンプトを分解すると、AI が意図を理解し、より正確な応答を提供するのに役立ちます。 後続のプロンプトは、前のプロンプトを基にして、要求を絞り込み、より具体的な回答を得ることができます。 ピア プログラマとの共同作業は、人と一緒に作業するのと似ています。 最初に会話をフレームに収めてから、解釈が間違っている可能性がある 1 つの要求ですべてを送信するのではなく、具体的な詳細を記述することをお勧めします。

プロンプト キーワードを使用する

GitHub Copilot Chat では、自然言語テキストの処理に加えて、キーワードを使用して、プロンプトのコンテキストと意図を指定するのに役立ちます。 キーワードは、GitHub Copilot Chatのコンテキストで特定の意味を持つ特別な単語または語句です。 キーワードを使用すると、AI が何を求めているかを理解し、より関連性の高い回答を提供できます。

GitHub Copilotでは、次のキーワードを使用して、プロンプトのコンテキストと意図を指定できます。

  • チャット参加者: チャット参加者は、GitHub Copilotがより良い応答を生成するのを助ける特定の分野の専門家のようなものです。 チャット参加者は、 @ 記号を使用して指定します。

  • スラッシュ コマンド: スラッシュ コマンドは、プロンプトの意図 (目標または目的) を記述するのに役立ちます。 質問に答えるときの GitHub Copilot Chat のタスクの 1 つは、意図を決定し、何をしたいかを理解することです。 スラッシュ コマンドは、意図を明確にするのに役立ちます。

  • チャット変数: チャット変数はドメイン固有のコンテキストを提供します。 #記号を使用して、チャット プロンプトでチャット変数を参照できます。 チャット変数を使用すると、チャット プロンプトに含めるコンテキストをより具体的に指定できます。

チャット参加者

GitHub Copilot Chatは、関心のあるコンテキストを理解し、最適なリソースを適用できる場合に、より適切な応答を提供します。 GitHub Copilot Chatチャット参加者をプロンプトに追加することで、より良い応答を生成できます。 チャット参加者は、より良い応答を提供する特定の分野の専門家のようなものです。 チャット参加者は、 @ 記号を使用して指定します。

現在、GitHub Copilot Chatでは、次の組み込みのチャット参加者がサポートされています。

  • @vscode: @vscode 参加者は、Visual Studio Code エディター自体のコマンドと機能について認識し、それらを使用するのに役立ちます。
  • @terminal: @terminalの参加者は、統合ターミナルシェルおよびその内容を支援できます。
  • @github: @github 参加者は、Web 検索、コード検索、および企業のナレッジ ベースに基づいている回答を得ることができます。

プロンプトの前に特定のチャット参加者を付けることで、GitHub Copilotがより関連性の高い応答を生成することができます。

スラッシュ コマンド

スラッシュ コマンドは、GitHub Copilot Chat質問するときに意図を理解するのに役立ちます。 コード ベース (/explain) について学習していますか、問題の修正に関するヘルプ (/fix)、またはテスト ケース (/tests) を作成していますか? GitHub Copilot Chat何をしようとしているかを把握できるようにすることで、タスクへの応答を調整し、役に立つコマンド、設定、コード スニペットを提供できます。

組み込みのスラッシュ コマンドの例:

  • /clear: 新しいチャット セッションを開始します。
  • /explain: 選択したコードのしくみを説明します。
  • /fix: 選択したコードの修正プログラムを提案します。
  • /tests: 選択したコードの単体テストを生成します。

チャット変数

チャット変数は、コンテキストを指定するために使用されます。 #記号を使用して、チャット プロンプトでチャット変数を参照できます。 たとえば、 #selection 変数には、アクティブなエディターでのテキストの選択が含まれます。

チャット変数を使用すると、チャット プロンプトに含めるコンテキストをより具体的に指定できます。 たとえば、"どの並べ替えアルゴリズムが #selectionで使用されているか" というプロンプトでは、選択したコード スニペットにチャット要求がフォーカスされます。

@vscodeなどのチャット参加者は、ドメイン固有のコンテキストを提供するチャット変数を提供できます。

組み込みのチャット変数の例を以下に示します。

  • #selection: アクティブなエディターの現在の選択範囲。 エディターの内容は、チャット ビュー コンテキストに暗黙的に含まれます。
  • #<file or folder name>: #を入力し、その後にファイル名またはフォルダー名を入力して、チャット コンテキストとして追加します。
  • #codebase: 関連するワークスペース コンテンツをコンテキストとしてプロンプトに追加します。
  • #terminalSelection: アクティブなターミナルの選択。
  • #terminalLastCommand: アクティブなターミナルの最後の実行コマンド。

#codebaseは何ですか?

  • #codebase キーワードは、ユーザー プロンプトに基づいてコードベース検索を実行し、関連するコードをコンテキストとしてチャット プロンプトに追加するツールです。
  • #codebase キーワードを使用すると、言語モデルは制御されたままになり、#codebaseを編集シナリオ用の他のツールと組み合わせることができます。
  • #codebase キーワードは、すべてのチャット モード (Ask、Agent、Plan) で使用できます。
  • 例: "add a tooltip to this button, consistent with other button #codebase"、"add unit tests and run them #codebase"

GitHubでは、チャット プロンプトで #codebase を使用することをお勧めします。柔軟性が高くなります。

概要

GitHub Copilotのチャット インターフェイスでは、自然言語処理と機械学習を使用してプロンプトを解釈し、関連する応答を提供します。 プロンプトと提供するコンテキストは、正確で有用な応答を生成するために不可欠です。 明確で簡潔で具体的なプロンプトを使用し、複雑なプロンプトをより小さな部分に分割し、チャット参加者、スラッシュ コマンド、チャット変数などのキーワードを使用することで、応答の品質を向上させることができます。