Github Copilot Agent Modeでの開発

はじめに
生成AIを活用した開発は「とりあえず使ってみる」段階から、「チームの生産性を戦略的に底上げする」段階へ急速に移りつつあります。 しかし実際には、思ったとおりにコードが出力されなかったり、曖昧な指示が原因で修正往復が続いたり、ハルシネーション(あり得ないAPIやクラスの生成)に振り回されたりと、現場ならではの課題も少なくありません。
このドキュメントでは IntelliJ 上での Github Copilot の Agent モード活用を中心に、準備すべき設定ファイル、運用サイクル(PDCA)、指示文の書き方、注意すべき落とし穴、速度とコスト見積りの考え方、そして“人間の開発力こそ今後さらに重要になる”という視点まで、実際の経験を交えながら体系的に整理します。
「これから何が得られるのか?」
- Agent モードの具体的な使い方と準備物がわかる
- うまくいかないときの原因と対処パターンが先回りで理解できる
- 指示精度を高める“日本語の書き方”改善ヒントが手に入る
- ハルシネーション/ポチョムキン(わかったふり)への現実的な付き合い方がわかる
- 速度向上と見積りの現実的なラインを把握できる
- チーム共有用ルール(copilot-instructions.md / Global設定)の育て方がわかる
「読んでみようかな」と感じた方へ―― このドキュメントは単なる機能紹介ではなく、“明日から使って成果を伸ばすための具体的運用ノウハウ”を中心に書かれています。 最初から完璧に使いこなす必要はありません。 まずは最小構成で回し、少しずつ指示ファイルを育てながらチューニングしていく。そのための初期ロードマップとしてご活用ください。
ここでは Github Copilot の Agent Mode について記載します。
IntelliJでの利用を前提とした説明が文章内に出てきます。
![]()
使用する生成AI
使用する生成AIは「Claude Sonnet 4」を使用します。
それ以外の生成AIでもプログラムを作成することはできますが、
いろいろ試した結果「Claude Sonnet 4」が一番思っているプログラムを出力してくれると感じました。
copilot-instructions.md
プロジェクト内にcopilot-instructions.mdを設置します。
以下のように置きます。
プロジェクト
└.github/
└ copilot-instructions.md
copilot-instructions.md の中身は以下のようなことを記載します。
# GitHub Copilot プロジェクトルール
GitHub Copilot によるコード生成の際に従うべきプロジェクトルールを以下に示します。
## Github Copilot の応答について
* 解説をつけてください
* どのプログラムを参考にしたのかを明記してください
* サイトを参考にした場合は、サイト名とURLを明記してください
## コーディング規約
### フロントエンド
* TypeScript
* Vue 3 (Composition API)
### バックエンド
* Java
* Doma
* Lombok
### その他
* HTML
* CSS
* SCSS
* JSON
* Markdown
* SQL
* Shell Script
* Gradle
* Calico2 (社内フレームワークなので、ネット上には情報はないです)
## 命名規則
ディレクトリなどの命名規則は下記ルールでお願いします。
* Javaのパッケージ名
全て小文字で区切り文字なし
例. sampleitem
* データベースのテーブル、カラム名
スネークケース
例. sample_item
* URL
ケバブケース
例. sample-item
* frontendのディレクトリ
ケバブケース => sample-item
## コメント
コメントは日本語で記述
## 設計書
docフォルダ以下に設計書があります。
確認してください。
このファイルは、自由に追記してください。
この内容がCopilotの性格を決めます。
特に「何を使用している」を書いておきますと、
正しく実装してくれるようになります。
設計書のmdファイル
開発をするときに開発する機能の説明書をmdファイルとして残しましょう。
プロジェクト
└doc/
└ 機能/
└ 社員マスタ.md ← これらが画面設計書です
└ 給与計算.md
└ 給与一覧.md
それぞれのファイルに仕様についてまとめます。
画面設計書の中身は以下のようなことを書きます。
# 社員マスタの仕様
社員マスタはxxxをする機能です。
## 一覧画面
* 検索条件
- 社員番号(任意入力)
- 社員名(任意入力)
- 「検索」ボタン
検索ボタンを押すと、検索されて、検索結果に表示される
* 検索結果
- 社員番号
- 社員名
## 詳細画面
・
・(略)
・
作った後、Copilotに質問(Ask)で聞いた後、不明点などを再度ファイルに追記するか、 CopilotにAgentで不明点などを直接mdファイルに追記してもらいます。
何度かやりとりをして、このmdファイル内で仕様を確定します。
Agent に プログラムを作ってもらいます
ここまで準備ができれば、Agentにプログラムを作ってもらいます。
「Agent」モード で 「Claude Sonnet 4」を指定して、 上記で作成したmdファイルを選択した状態で「作成してください」と言います。
10分ぐらいするとプログラムができます。 大抵の場合は何か間違ったものができます。 間違いについて指摘して、修正をしてもらいます。 もしくは軽微であれば、自分で修正します。
修正した場合は、修正したことを伝えると、その修正を学習します。
それを繰り返すと、プログラムができます。 動作確認をして、問題のないレベルになるまで繰り返します。
Copilotと振り返りをする(PDCA)
プログラムが最後まで出来たら、Copilotと振り返りをします。 今回の開発で何がわからなかったとか、間違ったこととか、 どうしたらそれが起きなかったかについて、CopilotのAgentで追記してもらいます。
追記するファイルは以下です。
- 全画面共通的な内容は「copilot-instructions.md」
- 今回の開発に関するものは画面設計書のmdファイル
Copilotが追記したものについては 確認をして、必要なものや不要なものを整理します。
Commitする
上記の一連の作業が終われば、Commitします。 「copilot-instructions.md」と画面設計書のmdファイルも保存します。 これをしておくと、2人以上で開発していた場合、それぞれの開発に恩恵があります。
Conflict
「copilot-instructions.md」 は複数人で開発する場合、Conflictが起きる可能性があります。 ブランチを複数作っていると、最後にマージしたときに、 自分の作ったファイルどうしでConflictが起きることもあります。 出来るだけ起きにくいように、セッションごとに記述場所を分けるとかしましょう。
global-copilot-instructions.md
プロジェクト内でもCopilotとのコミュニケーションに差が出てくると思います。
- もうちょっと解説をしてほしいとか
- コメントを入れてほしいとか
その時は、「global-copilot-instructions.md」に追記します。 「メニュー > 設定」で設定画面を開きます。 「ツール > Github Copilot > Custom Instructions」で、 「Global」を押すと、「global-copilot-instructions.md」が開きます。
IntelliJの場合は以下の場所にあります。
C:\Users\[ユーザ名]\AppData\Local\github-copilot\intellij
正しい日本語を使う
指示については、冗談みたいな話ですが、日本語を正しく使う必要があります。
先週起きたのが、 「郵便番号という項目の上に転居日を日付型で追加してほしい」と依頼しました。 ところが、出来てきたものは、郵便番号が消えて転居日が残っていました。 おそらく、「郵便番号を上書きして、転居日を追加した」のではないかと思います。 「上部」とか「上側」と言えばそんなことをしなかったのかもしれません。
聞き方ひとつで時間を損するので、正しい日本語というのが必要になります。 どちらかというと必要以上に丁寧な日本語なのかもしれません。 これは学校の教師とか塾の講師とかが向いているかもしれません。
正しい日本語を使う練習をしましょう。
プログラミング能力
Copilotが自動でプログラムを作るから、プログラミング能力が不要なのかというと、 逆に今まで以上にプログラミング能力が必要になります。 どちらかというと、プログラムを解析する能力でしょうか。 いかにCopilotが書いた処理を解析して、理解するかで作業時間も変わってきます。 またCopilotは誰かの記述をまねして記述をするようなので、記述がよっぽどおかしくない限りは、そのまま使うことも考慮が必要です。 for文でかいてたり、streamで書いてたりと揺らぎがあるので、 Agentに言って書き換えさせたりしてもいいのですが、 微妙に違うので、気になりすぎると全部書き直したりして逆に時間がかかります。 あくまでもプログラムを書いてくれる隣人であるとして、尊重しましょう。 もしくは「copilot-instructions.md」にガチガチに書き方を書いておいてもいいです。
現在は変な処理も書いてくる
現在のCopilotはハルシネーションやポチョムキン理解を起こします。 あり得ないメソッドや、あり得ないメンバ、それがなぜ動くと思ったのかわからない処理・・・ 結構知ったかぶりをしたり、謎処理が正しいと言い張るときもあります。 また、その処理を検証させると、この処理はおかしいと言い出します。 言及しても直らないことが多いです。
そういう時はあきらめて自分で処理を書いて、その場はごまかしましょう。 Copilotも疲れてるんだなと思うことにしています。
タッチタイプ
毎日大量の文字を打たなくてはいけないため、正確なタッチタイプを求められます。 キーを打つ時間が遅いと、その分Copilotが休憩しています。 Copilotを休ませないようにタッチタイプを早くしましょう。 また、日本語を打ち間違えると変なものを作られるので、 出来る限り間違いが無いようにしましょう。
どれぐらいの速度で開発ができるか?
私が8日かかる作業を4日で作成してくれました。 現時点では約2倍の速度で開発ができます。
ただし、これは個人差があると思います。
早く開発できるから工数見積もりも短くできる?
現時点ではハルシネーションやポチョムキン理解が起きるため、 時間がかかる事が多いです。それでも早くはできます。
どれぐらい早くできるかはその時のCopilotの理解度によるため、 現時点では人が作った時と同じぐらいの工数で見積もりを出すしかないと思います。
空いた時間でCopilotについて勉強したり、設定ファイルのチューニングに使いましょう。 Copilotの理解が上がれば安定して早くなるかもしれません。
生成AIについて
現在使用している生成AIは「Claude Sonnet 4」です。 しかし、執筆時点で「Claude Sonnet 4.5」、「Chat GPT 5 codex」などが発表されています。 現時点ではIntelliJでは使用できないため、検証できていません。 今後もバージョンが上がると思います。 その都度どの生成AIで開発するのが良いのかを見極める必要があります。
最後に
Copilotと仲良くしてください。 楽しくなるようにカスタマイズしましょう。
執筆者:長尾(プロフィール)
Search
よく読まれている記事
カテゴリ
アーカイブ
あなたに最適な解決策を一緒に考えます。
状況に応じた最適なご提案で、お客様の課題解決をサポートいたします