Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

GitHub Copilotを使いこなす 実例に学ぶAIコーディング活用術

GitHub Copilotを使いこなす 実例に学ぶAIコーディング活用術

主催 : ファインディ株式会社
GitHub Copilotを使いこなす 実例に学ぶAIコーディング活用術

イベントページ
https://findy.connpass.com/event/376448/
https://techplay.jp/event/989223

デモリポジトリ
https://github.com/74th/event-githubcopilot-findy-2512-on-vscode
https://github.com/74th/event-githubcopilot-findy-2512-on-github
紹介したAGENTS.md: https://github.com/74th/event-githubcopilot-findy-2512-on-vscode/blob/main/004-agent_with_context/AGENTS.md

利用アイコン素材:
- https://openmoji.org/

Avatar for 74th(Atsushi Morimoto)

74th(Atsushi Morimoto)

December 12, 2025
Tweet

More Decks by 74th(Atsushi Morimoto)

Other Decks in Technology

Transcript

  1. • 所属: GO株式会社 ◦ タクシーアプリ『GO』を運営 • 職種: ◦ データエンジニア・バックエンドアーキテクト ◦

    AIアルゴリズムを実サービスに組み込む Atsushi Morimoto (@74th) 2 • 著書: ◦ 『改訂新版 Visual Studio Code実践ガイド』 技術評論社(2024年1月) • VS Code Meetupオーガナイザ • 趣味: 自作キーボード歴6年、電子工作
  2. おことわり • まだAIコーディングの世界は変容しつつあります • VS Codeを例に説明します • 以下は解説しません ◦ 他のAIエディターとの比較

    ◦ LLMモデルの比較 • 前回『GitHub Copilotの全体像と活用のヒント』との変更点 ◦ Agentを使わない範囲(解説上のLevel1、2)のデモは省略 ◦ より能力が上がったAgent(Level3)を中心に解説 4
  3. アジェンダ 1. GitHub Copilotの概要 2. GitHub Copilotを活用するAIコーディングの3つのスタイル 3. Level 1

    コーディングサポート 4. Level 2 併走エージェント 5. Level 3 自立エージェント 6. クラウドエージェント 7. エディタ上のGitHub Copilotのその他の機能 ◦ ターミナル、レビュー、コミットメッセージ 8. github.com上のGitHub Copilotを使おう 5
  4. GitHub Copilotの特徴 8 • エディタVS Codeの開発と密接になっており、 エディタの機能と連携 • 人とAIのコーディングの割合によって、様々な使い方ができる •

    github.com 上でも機能提供 • 複数のLLMモデルをサポート • 組織のセキュリティガバナンスを効かせる機能が多数
  5. GitHub Copilotを使うには • GitHubアカウントが必要、GitHub上で契約 • 無料枠の Free プラン ◦ 利用可能量、利用可能モデルに制限あり

    • 契約単位は、個人と、組織(Organization)の2種類 ◦ 組織用のBusiness/Enterprise Planでは モデルのトレーニングに入力データは利用されない 9
  6. AIコーディングの3つのスタイル 11 Coding Coding Coding Level 1 コーディング サポート Level

    2 併走エージェント Level 3 独走エージェント ※ 人間の関与率、AIの自律率として、Level 1~3を設定しましたが、優劣はありません
  7. VS Codeで使えるCopilot Chat • チャットウィンドウ ◦ 右側のペインを呼び出す ◦ モードが Ask

    / Edit / Agent / Plan に別れている ◦ 利用するLLMモデルを選択する • インラインチャット ◦ Ctrl+I/Cmd+Iを押すと、コード中に チャットウィンドウができる 17
  8. Askモード • 質問例 ◦ プログラミング言語に関する質問 ▪ (Pythonの) TypedDictってどういう機能? ◦ エラーに関する質問

    ▪ (エラーメッセージを貼り付けて) このエラーを説明して ◦ ワークスペース内のコードの質問 ▪ (コードを開きながら) OperationInteractorってどういう役割のクラスだと思う? 18
  9. AIコーディングの3つのスタイル(おさらい) 23 Coding Coding Coding Level 1 コーディング サポート Level

    2 併走エージェント Level 3 独走エージェント ※ 人間の関与率、AIの自律率として、Level 1~3を設定しましたが、優劣はありません
  10. Agentモード 25 • Editモード以上に様々な能力を持つ ◦ ワークスペース全体のコードを検索 ◦ MCP ◦ ターミナル上でコマンドを実行

    ◦ 人間がVS Codeでできることはほとんどができる (まだデバッガによるステップ実行ができない) • 常にAgentモードでOK ◦ Agentモードであっても「今開いているファイルは何か?」という コンテキスト情報は渡される。 ◦ Editモードだと、指示した周辺のみを参照するが、 Agentモードだと、ワークスペース全体を参照する
  11. モデルとプレミアムリクエスト • ベースモデル以外を利用すると、プロンプトを入れる度に、 プレミアムリクエストとしてクレジットが消費される • クレジット ◦ Pro / Business:

    300 ◦ Pro+: 1,500 ◦ Enterprise: 1,000 • 例 ◦ 無料: (Chat)GPT-5 mini (※Freeの場合x1) ◦ x1: GPT-5.1-Codex、Claude Sonnet 4.5、Gemini 3 Pro ◦ x10: Claude Opus 4.1 ◦ x0.33: GPT-5.1-Codex-Mini、Claude Haiku 4.5 26 https://docs.github.com/en/copilot/get-started/plans-for-github-copilot https://docs.github.com/en/copilot/concepts/copilot-billing/understanding-and-managing-requests-in-copilot
  12. MCP • MCP(Model Context Protocol)とは LLMから、外部のツールやデータソースと連携するためのプロトコル • 例 ◦ GitHub

    MCP Server ◦ Webブラウザを起動して操作できる「Playwright MCP」 ◦ AWS公式MCP Server • GitHub運営の一覧サイト MCP Registry ◦ https://github.com/mcp ◦ リポジトリスターの数などから、安心して利用できるMCP Serverを選定可能 30
  13. MCP Serverの利用設定 • MCP Registryか、拡張機能ビューで @mcp で検索して、インストール ◦ 設定ファイルに追記される •

    設定ファイルに記述 ◦ 個人設定: (ユーザ設定内)mcp.json ◦ ワークスペース設定: .vscode/mcp.json • 秘匿情報を管理するときにはinputsを使う 32
  14. AIコーディングの3つのスタイル(おさらい) 34 Coding Coding Coding Level 1 コーディング サポート Level

    2 併走エージェント Level 3 独走エージェント ※ 人間の関与率、AIの自律率として、Level 1~3を設定しましたが、優劣はありません
  15. • 情報収集と、実行を反復して行い、タスクを完了させる コーディングエージェントで考える 36 ユーザ プロンプト 情報収集 実行 ・コード探索 ・ドキュメント参照

    ・MCPツール実行して情報収集 ・Web検索 ・コード編集 ・コマンド実行 ・MCPツール実行 LLM 推論 システム プロンプト
  16. 単純にAgentに情報収集・実行ツールを与えれば良いか • 情報収集・実行ツールを渡しても、”使い方を知らない”状態 ◦ 例) ▪ DBスキーマとなるDDLの入ったディレクトリにアクセスできるが、 偶然開かないと辿り着かない ▪ Makefileがあり、buildというタスクが組まれているが、

    どういう時に使うべきか知らない (コンパイルエラーが発生するかどうかに使うべきものかなど) • 時間をかければ、コードを読んで理解することもあるが、毎回は非効率 • 使うべきタイミングは人間がヒントを与えた方が良い • 「毎日、まっさらなPCを与えられた、新しいエンジニアが来る」 38
  17. プロンプトで知識を与える方法 • 共通ルール(インストラクションファイル / AGENTS.md) ◦ コーディングルール、コードレビュールール ◦ ワークスペースのファイル構成 ◦

    DBなど、外部環境の情報 ◦ ドメイン知識 • 再利用可能プロンプト(プロンプトファイル / コマンド) ◦ 「テストの生成」の指示と、テストの構成の情報 ◦ 「テストの実行」の指示と、テストの実行コマンド ◦ 情報の多い長いプロンプト 40
  18. 共通ルール(インストラクションファイル) • AGENTS.md, .github/copilot-instructions.md ◦ 常に参照 ◦ リポジトリにコミットして、共有できる 他にも… •

    xxx/AGENTS.md ◦ フォルダー内のファイルアクセス時に参照する • .github/instructions/xxx.instructions.md ◦ ファイルパターンを指定して、そのファイルの参照時のみ、参照する ◦ リポジトリにコミットして、共有できる • ユーザ設定内 prompts/xxx.instructions.md ◦ ファイルパターンを指定して、そのファイルの参照時のみ、参照する ◦ ユーザ設定として、ワークスペースをまたいで利用できる 41
  19. 再利用可能プロンプト(プロントプトファイル) • 作ると、チャット欄で/xxxの形で呼び出せる • LLMモデル、MCP Serverを指定できる • .github/prompts/xxx.prompts.md ◦ リポジトリにコミットして、共有できる

    他にも… • ユーザ設定内 prompts/xxx.instructions.md ◦ ファイルパターンを指定して、そのファイルの参照時のみ、参照する ◦ ユーザ設定として、ワークスペースをまたいで利用できる 44
  20. 74thのテクニック • インストラクションファイルは分割する ◦ 一度に多くの情報は読めないことを意識する ◦ 「DB定義については ./db.md を参照」と書いておいて、 必要時に参照させる

    ◦ ドメイン知識全部は多いプロジェクトもあったりする。 ファイル分割はドメインの概念毎にする。 46 それぞれ必要時に以下を参照 - タクシーの予約 ./reservation.md - ユーザのキャンセル ./cancel.md 例
  21. 74thのテクニック • 自立性は「デバッグ」目的で使い、作業は人間が指示する ◦ コードの探索能力は十分ではないことが多い ◦ 編集後のコンパイルエラーや、ユニットテスト失敗を、 自律的に解決するだけでも効果あり ◦ 今実装に使って欲しいクラス名やファイル名を指示する

    ▪ そうしないと、ディレクトリ構造の探索からスタートする ▪ クラス名があれば、全文検索をかけて、探せる 48 タスクの管理に、楽観排他制御を導入したい todo_api/domain/entity/entity.pyのTaskに楽観排他制御用の項目を追加して todo_api/memdb/memdb.pyのMemDBがデータ管理レイヤーだから、 排他制御のチェックや楽観排他の値はMemDB内で実行して 例
  22. GitHub Copilot Cloud Agent (coding agent) • GitHub の Issue

    に @copilot をアサインすると、 クラウド上で GitHub Copilot が起動し、 コーディングと PullRequest の作成まで行う機能 • 一気に Issue の解決まで作業し、その間には指示はできない • PullRequest 上で、レビューコメントを残すと、 再度起動して修正を試みる • Freeでの利用は不可 注) • 公式では、“coding agent”と呼ばれていましたが、 最近は”cloud agent”と呼ばれる 51
  23. 質問 • GitHubリポジトリに対して質問で きる ◦ このリポジトリの技術スタックを 教えて • IssueやPull Requestを参照して質

    問できる • Pull Requestのコードについて、 これはどういう修正か質問するこ とができる 61
  24. その他 • GitHub Copilot Spaces ◦ リポジトリをまたいで情報を集約して、質問できる機能 ◦ 現状、参照可能な範囲が狭く、まだ使いこなすのは難しい印象 ◦

    https://docs.github.com/ja/copilot/how-tos/provide-context/use-copilot -spaces/create-and-use-copilot-spaces • GitHub Spark ◦ AIに指示して、Webアプリのプロトタイプが作れるサービス ◦ https://github.com/features/spark?locale=ja 63
  25. さいごに 65 • AI Codingの世界は、まだまだ変わりつつあります ◦ ツールのトレンドも、週単位で変わり続けています ◦ 期待して使おうとしても、 まだまだ期待したとおり動いてくれないことも多いです

    • 所属会社(GO)では、Cursor、Claude Code、Geminiも活用中! • 実際に使ってみて、 「今どのくらい使えるのか? どう準備したら期待通りになるのか」の 肌感を知っておくと、今後のAIの発展に地続きで参加できます • 私自身も仕事のコーディングではAIに任せている割合は まだ高くはありません。 • AIに任せられる範囲を増やして、開発生産性を上げていきましょう!