効果的なプロンプト・コンテキストのTips
前ページでプロンプトとコンテキストの重要性を説明しました。
本ページではプロンプト・コンテキストの質を向上させるための具体的な方法を紹介します。
一貫性のあるコーディングスタイル
GitHub Copilotは既存のソースコードを元に予測し提案を行います。
インデント、命名規則、宣言方法、コメントの書き方等のコーディングスタイルを一貫性のあるものにすることで、GitHub Copilotも一貫性のある提案を行ってくれるようになります。
変数名などに意味のある名前を付ける
効果的なプロンプト・コンテキストの原則でも説明していますが、意図・具体性はGitHub Copilotを使う上で重要です。
変数名・関数名の命名も原則に従う必要があります。
関数名を具体度を上げることで、GitHub Copilotが意図を解釈し、より的確な提案が得られます。
- 抽象度が高い名前(関数名
fetchData
)の場合- ⇛ 抽象的な提案し か得られない
- ⇛ 抽象的な提案し か得られない
- 具体的な名前(関数名
fetchUserData
)の場合- ⇛ より具体的な提案が得られる
- ⇛ より具体的な提案が得られる
型やコメントを付ける
変数名・関数名以外にも、GitHub Copilotはコード上の型情報を認識して提案を行います。
静的型付け言語の型宣言はもちろん、動的型付け言語においても、タイプヒンティングを用いて型を宣言することで、提案の精度を上げることができます。
型宣言がない言語ではDocコメント等で代用できます。
また、GitHub Copilotは変数名や関数名もコンテキストとして扱うため、具体的で説明的な命名を行うことでより良い提案を行ってくれます。
効果的なコンテキストの指定
ソースコード以外にも、VS Codeで開いているファイルやGitHub Copilot Chatでのやりとりで、コンテキストをGitHub Copilot にインプットさせ、提案の精度を向上できます。
ここではコンテキストをインプットする方法を示します。
コンテキストに含ませたいファイルだけ開いておく
GitHub Copilotでは、VS Codeで関連するファイルを開き、無関係なファイルを閉じておくことで、より適切なコンテキストを提供できます。
コンテキストスイッチングを行ったり、次のタスクに移るときには、不要なファイルを閉じることを忘れないでください。
GitHub Copilot Chatの場合は、関連ファイルを開くことに加えてコンテキスト変数#editor
を使う必要があります。
#editor
の使い方はGitHub Copilot Chat > コンテキスト変数を参照ください。
コンテキスト変数・エージェントコマンド・スラッシュコマンドを使う
GitHub Copilot Chatでは、コンテキスト変数・エージェントコマンド・スラッシュコマンドなどのキーワードを使用して、特定のタスクまたはコンテキストにフォーカスできます。 詳細は以下を参照ください。