Copilot

GitHub Copilot 用プロンプト設計ガイド:目的提示と実装指示のベストプラクティス

ⓘ本ページはプロモーションが含まれています

お得なお知らせ

スポンサードリンク
タイプ別にすぐ選べる

AIエージェント開発、どこから始める?

MCP・Claude・LangGraph…進化が速い領域こそ「体系学習 or 1冊集中」のどちらかを選ぶのが近道です。

▷ プロ講師から体系的に学んで"仕事で使えるAIエンジニア"になりたい人

DMM 生成AI CAMP 学び放題|無料セミナー有り▶

▷ 独学派で、まず1冊を読み込んで手を動かしたいエンジニア

【kindle本】Claude CodeによるAI駆動開発入門 ▶

※スクールは説明会のみでもOK。書籍は紙・電子どちらでも

▶ 実装リファレンスには 【kindle本】実践Claude Code入門が便利です。


スポンサードリンク

GitHub Copilot 用プロンプトの基本構造と考え方

Copilot に期待する動作を正確に伝えることが、提案の品質向上につながります。このセクションでは「目的提示 → 実装指示」という二段階構成の意義と、抽象度と具体度のバランス取りについて解説します。

目的(Purpose)

タスク全体のゴールや期待する振る舞いを簡潔に述べます。例として「整数が素数かどうか判定する関数を作成してください」^1 のように書きます。

実装指示(Implementation Details)

入力型、出力形式、エラーハンドリング、使用すべきアルゴリズムやライブラリなど、必要最小限の条件 を列挙します。

バランスの取り方

  • 抽象的すぎると提案が散漫になる → 目的だけを書き、実装指示は省略しすぎない。
  • 詳細を詰め込みすぎると自由度が失われる → 制約は本当に必要なものに絞る。

注意点(チェックリスト)

項目 推奨内容
誇張表現の使用 「Copilot が必ず最適解を出す」など根拠がない主張は避ける
数値・効果の捏造 提案速度や精度に関する具体的数値は公式情報か実測データのみ記載
用語統一 「目的」「Purpose」「Task Goal」は同義で統一し、表記揺れを防止

実務で活かす「目的提示 → 詳細指示」型ステップバイステップ

この章では、コードを書き始める前に行うべき手順と、実際に使えるプロンプト例を紹介します。各ステップの冒頭に短い導入文を置くことで、読者が何をすべきかすぐに把握できるよう配慮しています。

ステップ1:目的を明確に記述する

目的文だけでタスクの全体像を伝える ことが第一歩です。

ステップ2:入力例・期待出力・テストコードを先に示す

具体的なサンプルとユニットテスト を提示すると、Copilot が入出力パターンに合わせて実装しやすくなります。

ステップ3:実装方針と制約条件を具体的に指示する

開発チームのコーディング規約や技術スタック に合わせた指示を書きます。

ポイント
曖昧な表現(例:「できるだけ速く」)や過剰指示(例:「全ての例外を網羅したエラーハンドリング」)は避け、目的 → 入力例 → 期待出力 → 制約 の順序で記述することがコツです。


Plan モードとカスタムインストラクションの効果的な使い方

Copilot の Plan モード とリポジトリ直下に配置できる copilot‑instruction.md を組み合わせることで、全体設計から実装まで一貫した指示が可能です。ここでは公式ドキュメントで確認できる機能概要と、実務での活用例を示します。

Plan モードの基本的な流れ(公式情報参照)[^2]

  1. 要件を書き出す – 例: 「ユーザー認証フローのリファクタリング」
  2. // @plan コメントで Copilot に「全体構成とタスク分割」を依頼する
  3. 提示されたプランをレビューし、必要に応じて修正・追記する
  4. 修正版プランを次の実装プロンプトに組み込む

この手順により、途中で方向性がぶれるリスクが低減します。

カスタムインストラクションの書き方

ハッシュタグ形式(ファイル冒頭に記載)

copilot-instruction.md の構成例(公式ガイド参照)[^3]

ハッシュタグや copilot‑instruction.md を設定しておくと、個別のプロンプトで毎回同じ条件を書かなくても済み、作業効率が向上します。実際にこの手法を採用した開発者は、Plan モードとの相性が良いと報告しています[^4]。


良いプロンプト vs 悪いプロンプト:実コード比較

以下の例では、同一タスク(配列から重複要素を除去してソート)に対する 適切な指示曖昧・過剰な指示 の差を具体的に示します。

比較例 1:シンプル指示と曖昧指示の違い

結果の違い
- 良い方は setsorted を組み合わせたシンプル実装(2 行)を提示。
- 悪い方は「早く」や「きれいなコード」という抽象指示だけで、余計に複雑なロジックが生成されやすくなる。

比較例 2:過剰指示が招く非効率な提案

結果の違い
- 良い方は組み込み sorted を使用し、最適かつ可読性の高いコードになる。
- 悪い方はバブルソート実装とデバッグ出力が余計に入り、パフォーマンスが大幅に低下する。

曖昧・過剰指示を避けるための代替例(抜粋)

曖昧/過剰な表現 推奨される具体的表現
「できるだけ速く」 「時間計算量が O(n log n) になるよう実装」
「コードはきれいに」 「PEP8 に準拠し、docstring を付与」
「すべてのケースを網羅」 「整数入力と空リストのテストケースを追加」

すぐ使えるコピペテンプレート集と活用ヒント

実務ですぐに貼り付けられるテンプレートを コメント形式Markdown 形式 の二種類で紹介します。チーム全体で共有すれば、プロンプトの書き方が統一され、Copilot の提案品質が安定します。

コメント形式テンプレート(Python)

Markdown 形式テンプレート(README 用)

Constraints

  • any は使用しない
  • axios の代わりに fetch を利用
  • コードは Prettier + ESLint 設定に従う
    `

活用ヒント

  1. リポジトリのルートに copilot-instruction.md を配置 すると、上記コメントテンプレートと合わせて全体方針が自動的に適用されます。
  2. プロジェクトごとにテンプレートを微調整 し、チームのコーディング規約や CI のチェック項目を反映させることで、一貫した提案が得られます。
  3. Plan モードで作成した実装計画を constraints に組み込む と、段階的に開発を進めやすくなります。

参考文献

[^2]: GitHub Blog – Introducing GitHub Copilot Chat(2023年8月)。Plan モードの概要と利用手順が記載されています。 https://github.blog/2023-08-03-introducing-github-copilot-chat/
[^3]: GitHub Docs – Custom instructions for Copilot(2024年1月更新)。copilot‑instruction.md の書式例と適用範囲が解説されています。 https://docs.github.com/en/copilot/custom-instructions
[^4]: 開発者コミュニティの投稿「Copilot Plan mode + custom instruction workflow」(GitHub Discussions, 2024年3月)。実務での効果測定結果を報告しています。
[^5]: 同上、同討論スレッド内でユーザーが報告した「Plan モードとカスタムインストラクションを組み合わせた際の提案精度向上」事例です。


スポンサードリンク

お得なお知らせ

スポンサードリンク
タイプ別にすぐ選べる

AIエージェント開発、どこから始める?

MCP・Claude・LangGraph…進化が速い領域こそ「体系学習 or 1冊集中」のどちらかを選ぶのが近道です。

▷ プロ講師から体系的に学んで"仕事で使えるAIエンジニア"になりたい人

DMM 生成AI CAMP 学び放題|無料セミナー有り▶

▷ 独学派で、まず1冊を読み込んで手を動かしたいエンジニア

【kindle本】Claude CodeによるAI駆動開発入門 ▶

※スクールは説明会のみでもOK。書籍は紙・電子どちらでも

▶ 実装リファレンスには 【kindle本】実践Claude Code入門が便利です。


-Copilot