2025年12月12日に開催されたオンラインイベント「GitHub Copilotを使いこなす 実例に学ぶAIコーディング活用術」。同イベントではAtsushi Morimoto (@74th)さんをお招きし、GitHub Copilotの基礎的な機能から実践的な活用方法までをお話しいただきました。
当日は1,800名以上の申し込みがあり、参加者の皆さまからは「実務に直結する具体的な活用法が学べた」「GitHub Copilotの全体像が掴めた」といった声が寄せられ、チャット欄・Xともに大変盛り上がりました。また、多くのご質問も寄せられ、イベント中に可能な限り回答いただきましたが、時間の関係で回答しきれない質問も残りました。
本記事では、通常そのまま終わってしまうことが多いこうした未回答の質問について、登壇者の方のご協力のもと、イベント後に回答いただいた内容をお届けします。
イベント参加者の皆さまはもちろん、当日参加できなかった方も、ぜひ本編のアーカイブ動画と併せてご覧いただき、GitHub Copilot(以下、Copilot)やAIコーディングにおけるヒントを見つけていただければ幸いです。
※質問文は内容に影響を与えない範囲で、一部表現を調整しています。
Q&A
導入・信頼性・安全性について
Q. 「モデルの学習に使用しない」という説明は、どの程度信用できるものなのでしょうか?
A. 私個人としては、GitHub社の親会社がMicrosoftであるため、信用できると考えています。ただし、Web検索機能など外部との通信を備えた機能があり、その外部においては内容が利用されないという保証は適用されないため、注意が必要だと考えています。
Q. Hugging Faceのトークンなどの秘匿情報を、環境変数ファイルとしてCopilotに安全に扱わせることは可能ですか?
A. MCP Serverであれば、MCP Serverに必要な秘匿情報を設定ファイルに埋め込むことなく利用する機能がVS Codeにあります。VS Codeのドキュメントを確認ください。
GitHub Copilotに.env等のファイルを参照しないように設定することはできますが、コマンドを介して参照するなど、エージェントの動作で回避が可能なため、あまり現実的ではありません。外部流出を抑えたい目的であれば、環境を隔離して、可能な通信を制御するなどする必要があるかと思います。
Q. 正常動作しているアプリに対しAgentで機能追加を行った際、既存機能が壊れたり挙動が変わることはどの程度の頻度で起こりますか?
A. 指示の仕方によるところが大きいと思います。GPT-5-Codex辺りのモデルから、だいぶ既存コードを維持して修正を行ってくれるようにはなったように感じますが、修正範囲を適切に指示しない限り予期しない範囲の修正を試みて、既存機能が壊れることは頻発すると思います。
簡単な指示で行わせるのであれば、ユニットテストを実装しておいて、既存機能を壊していないか確認させることが重要だと思っています。
Q. 今回ご紹介された共通ルールは、書籍やチェックリストなどを参考にして作成されているのですか?
A. 筆者の経験による部分が大きいです。実際に指示する中で、次に指示をする時には「この共通ルールを追加すれば最小限の内容で伝えられるようになるのでは?」と考え、ブラッシュアップをしています。
品質を担保する機能・支援について
Q. コードのカバレッジテストで、C1・C2などの基準を満たすテストコード生成を指示できますか?
A. GitHub Copilotからカバレッジ測定ツールを利用できるようにすれば、指示できると思います。ただ、カバレッジを満たすためのテクニックをモデルが得ていない場合もあるため、ある程度人間の指示は必要だと思います。
Q. lintのような静的解析は、GitHub Copilotで実現できますか?
A. ファイルに対して指示を行えば、解析させられます。最後に紹介したCopilotによるコードレビュー機能があり、そちらが該当すると思います。
Q. Copilotで作成した Web アプリのエンドポイントテストを、Postmanなど外部ツールと連携できますか?
A. ローカルで動作するCopilotを利用している場合、あくまでローカルのコードを書き換えるため、外部テストツールからローカルのAPIを叩くことで利用できます。また、Postman等のツールはMCP化されているものもあり(Postmanは公式MCPが存在しています)、CopilotからPostmanを利用して連携させられるでしょう。
Q. MISRAなど、既存のコーディング規約・レビューガイドラインをCopilotに学習・設定することは可能ですか?また、ルール違反時に警告表示できますか?
A. 学習・設定できますが、あくまで考慮されるのであって、完璧にガイドラインを遵守させることは難しいと思います。ガイドラインについては外部リンターツールを併用して、リンターツールの結果を伝えてGitHub Copilotに対応させる方法が現実的かと思います。
運用・現場での活用法について
Q. agent.md / instructions.md / prompt.md の役割や使い分けについて、詳細を伺いたいです。
A. 講演中では簡単に流してしまい、わかりづらくすみません。スライドを公開していますので、そちらから確認いただけると幸いです。40ページから記載があります。
Q. ファイル添付が意味を持つのは「Agent モード時」以外でしょうか?
A. ファイルの指定や、スクリーンショット等画像の参照ができるようになるため、Agentモードでも活躍します。
Q. instructions / interaction 系ファイルをプロジェクト内で修正した場合、毎回自動で再読み込みされますか?
A. 対話セッションを続ける限りは自動で再読み込みはされません。変更後は、変更前の内容を覚えて欲しくないのもあり、対話セッションを作り直していました。
Q. コミットメッセージのカスタマイズ設定は、どのように行っていますか?
A. 講演時のQ&Aでは回答できませんでしたが、VS Code設定の"github.copilot.chat.commitMessageGeneration.instructions"が該当します。下記公式ドキュメントを確認ください。
Q. Copilotとの対話は、納得できる結果を得るまでにどの程度の試行錯誤(指示のブラッシュアップ)が必要になりますか?
A. 指示する人のCopilotへの習熟度や、生成させるコードの種類にもよるところが大きいと思います。慣れてくると、どこまで指示を出せば期待通りのコード生成を行えるのか勘所が分かってきて、ブラッシュアップの回数は減ってきます。
私の場合、作りたいものが明確である場合は、メインの修正に1〜3回、その後の保守性を上げるためのリファクタリングに2〜4回くらい指示するイメージです。作りたいもの自体が試行錯誤の必要がある場合には、一気に修正する指示をするのではなく、人の方でタスク分解して、小さいタスクを1つずつ指示していくことが多いです。
Q. VS Code のCopilot は拡張機能ですが、IDEに組み込まれていないことによる不便さはありますか?他専用IDEと比べての利点はありますか?
A. Copilotは拡張機能となっていますが、VS CodeにおいてはほとんどのCopilotの機能はVS Code本体と合わせて開発されています。直近のVS Code本体のアップデートもCopilot関連が多くを占めています。
ユーザとして特に不便さは感じていませんが、特に利点もなさそうです。個人的には、以前はCopilot拡張機能をクローズドコードとして分離して開発されていましたが、現在はVS Codeと同様にOSSになりました。そのうち、VS Code本体に収まるのではないかと思っています。
Q. AIエージェントコーディングについて、ご本人は使用率が高くないとのことでしたが、社内全体ではどの程度の温度感で使われていますか?
A. 使いどころでは使っていると思います。
影響範囲の大きい機能の実装や、詳細な分析クエリは作成できなくとも、テストコードや管理画面、ダッシュボードのUIの構築、類似機能の実装など、生成しやすいところや公開ライブラリの知識が必要なところなどは生成AIを活用できていると思います。
「セキュリティリスク」への質問に関する補足(74thさんより)
当日「セキュリティリスクについて」質問がございました。
講演中では、「外部MCPを利用を制御して、リスクを抑えよう」という旨の回答をしておりました。
こちらについて、補足をさせていただければと思います。
LLMを利用することで生じるセキュリティリスクがOWASP Top 10という形でまとめられています。
(参考)「OWASP Top 10 for Large Language Model Applications」2025年版のリスク概説(トレンドマイクロ)
https://www.trendmicro.com/ja_jp/jp-security/25/e/expertview-20250522-01.html
こちらのリスクからAIエージェントに関わるセキュリティリスクを考えていくのが良いと思っています。
GitHub Copilotサービス経由で利用することにより、モデル汚染や、モデルの学習に使われることによる情報漏洩等のリスクはある程度抑えられています。一方、外部MCPの利用を制御することでリスクを抑えようとしても、外部MCPを利用することによるプロンプトインジェクションや、サプライチェーンの脆弱性等は残っており対策は必要です。個人的には、GitHub Copilotの外部のMCPに由来するものが影響するリスクが大きいと考えており、適切なMCP利用の選定と制御が大切に思っております。
また、個人に紐付くクラウドの秘密鍵など、PC全体にAIエージェントがアクセス可能なことで、生じるリスクも小さくはないと考えています(OWASP Top 10の「過剰な能力付与」に該当)。そのため、ファイルシステムやネットワークを隔離した環境でAIエージェントを動かすのも有効です。
拙著の紹介となりますが、コンテナ内で開発環境を構築するDevContainer技術についてまとめた同人誌を書いています。こちらにコンテナを使ったファイルシステム、ネットワーク隔離についても記載しています。もし興味があれば参照いただければ幸いです。
アーカイブ動画
イベント本編は、アーカイブ動画を公開しています。また、当日の発表資料も掲載しています。あわせてご覧ください。
▼動画・資料はこちら
※動画の視聴にはFindyへのログインが必要です。
