Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GitHub Copilotの全体像と活用のヒント AI駆動開発の最初の一歩

GitHub Copilotの全体像と活用のヒント AI駆動開発の最初の一歩

Findyさん開催のイベント『GitHub Copilotの全体像と活用のヒント AI駆動開発の最初の一歩』

様々なAIとの開発スタイルで使えるGitHub Copilotの機能を、活用時のポイントともに、デモを交えて解説します!

## イベントページ
https://findy.connpass.com/event/359954/
https://techplay.jp/event/982890

## スライド中のURL
- VS Codeデモ用リポジトリ: https://github.com/74th/event-githubcopilot-findy-on-vscode
- github.comデモ用リポジトリ: https://github.com/74th/event-githubcopilot-findy-on-github
- モデルとプレミアムリクエスト
- 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
- GitHub Copilot ChangeLog: https://github.blog/changelog/label/copilot/
- VS Code Update: https://code.visualstudio.com/updates

Avatar for 74th(Atsushi Morimoto)

74th(Atsushi Morimoto)

August 07, 2025
Tweet

More Decks by 74th(Atsushi Morimoto)

Other Decks in Programming

Transcript

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

    AIアルゴリズムを実サービスに組み込む Atsushi Morimoto (@74th) 2 • 著書: ◦ 『改訂新版 Visual Studio Code実践ガイド』 技術評論社(2024年1月) • VS Code Meetupオーガナイザ • 趣味: 自作キーボード歴6年、電子工作
  2. おことわり • まだAI Codingの世界は変容しつつあります ◦ 今日説明した内容も、次のアップデートでは変わっていたり、 また新しい概念が登場する可能性が大きいです • VS Codeを例に説明します

    ◦ GitHub Copilotは、JetBrains IDEs、Xcode、Vimなど、 複数のエディタに対応していますが、 一部機能はVS Codeのみ対応しているものもあり、使えない場合もあります • 以下は解説しません ◦ 他のAIエディターとの比較 ◦ LLMモデルの比較 ◦ AIエージェントでできることの限界 4
  3. アジェンダ 1. GitHub Copilotの概要 2. GitHub Copilotを活用するAI駆動開発の3つのスタイル 3. Level 1

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

    github.com 上でも機能提供 • 複数のLLMモデルをサポート ◦ GPT-4.1、Claude 4 Sonnet、Gemini 2.5 Proなど • 組織のセキュリティガバナンスを効かせる機能が多数
  5. GitHub Copilotを使うには • GitHubアカウントが必要、GitHub上で契約 • 無料枠の GitHub Free プラン ◦

    利用可能量、利用可能モデルに制限あり • 契約単位は、個人と、組織(Organization)の2種類 • 組織のセキュリティガバナンスを効かせる機能がある 9
  6. GitHub Copilotを使うには • 個人 ◦ 個人のGitHubアカウントで契約 ◦ 2種類のプラン ▪ 金額(2025-07-12現在)

    • Pro: $10/月 • Pro+: $39/月 ▪ 利用できる回数とモデルに制限がある • 一般に使うモデルは両方とも使える ▪ 「Pro」で試して、上限に達しても、従量課金でも利用可能 (従量課金は、初期状態は無効) ▪ 始める時には「Pro」で良い 10
  7. GitHub Copilotを使うには • 組織 ◦ GitHub上でOrganizationのアカウントで契約する ◦ シートを購入し、メンバーにシートを割り付け ◦ 2種類のプラン「Business」「Enterprise」

    ▪ 金額(2025-07-12現在) • Business: $19/月 • Enterprise: $39/月 ▪ 利用できる回数とモデルに制限がある • 一般に使うモデルは両方とも使える • 一部「Enterprise」にしか提供していない機能もある ◦ 現状、Organization単位に、 「Business」と「Enterprise」を選択する必要あり ◦ 始める時には「Business」で良い 11
  8. AI駆動開発の3つのスタイル 14 Coding Coding Coding Level 1 コーディング サポート Level

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

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

    エラーに関する質問 ◦ (エラーメッセージを貼り付けて) このエラーを説明して • ワークスペース内のコードの質問 ◦ コードの内容を読み取って、考えてくれる ◦ (コードを開きながら) OperationInteractorってどういう役割のクラスだと思う? 23
  11. 実はコードやプログラミングのこと以外も聞ける • @xxx と付けると、特殊な質問モードに移行する • 例 ◦ @workspace : リポジトリの内容を調べさせる

    ▪ @workspace このリポジトリはどのような技術スタックが使われている? ◦ @vscode : VS Codeの使い方を質問 ▪ @vscode MCPのプログラムがあるけれど、これを使うように追加するに はどうすれば良い? ◦ @github: githubリポジトリを参照して質問 ▪ @github Reactの最新のバージョンは? 25
  12. モデルとプレミアムリクエスト • GitHub Copilotでは複数のLLMモデルが選択できる • ベースモデル以外を利用すると プレミアムリクエストとしてクレジットが消費される • 例 ◦

    無料: (Chat)GPT-4o/4.1 (※Freeの場合x1) ◦ x1: Claude Sonnet 3.7/4、Gemini 2.5 Pro、(ChatGPT-)o3 ◦ x10: Claude Opus 4 31 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
  13. AI駆動開発の3つのスタイル(おさらい) 33 Coding Coding Coding Level 1 コーディング サポート Level

    2 併走エージェント (Vibe Coding) Level 3 独走エージェント (Agentic Coding) ※ 人間の関与率、AIの自律率として、Level 1~3を設定しましたが、優劣はありません
  14. Vibe CodingとAgentic Coding(諸説あり) • Vibe Coding ◦ vibe = 感じ、雰囲気

    ◦ よく使われる意味 ▪ AIに、やって欲しいことを抽象的に指示して、 技術的な課題をAIが解決し、コーディングさせる ◦ 人間が細かい指示とチェックを行い、完成に近づける • Agentic Coding ◦ よく使われる意味 ▪ AIに、目的を指示して、 目的に向かって自律的に考えてコーディングさせる ▪ AIがタスク分解して、1つずつタスクをこなす ◦ 目的がはっきりしていたり、投機的に独走させ、完成させる • 相反する概念ではないが、今どちらをやっているか意識するとよい 34 Coding Coding
  15. Copilot Chat Agentモード 35 • Editモード以上に様々な能力を持つ ◦ ワークスペース全体のコードを検索する ◦ MCP

    Serverを使って、エディタ外部のリソースと連携する ◦ ターミナル上でコマンドを実行して、 そのコマンドの結果を参照して、動ける ◦ 人間がVS Codeでできることはほとんどができる (まだデバッガによるステップ実行ができない)
  16. Copilot Chat Agentモード • 作業のスコープの違い ◦ Editモード: 今開いている、指示したファイル ◦ Agentモード:

    ワークスペース全体 ◦ Agentモードであっても「今開いているファイルは何か?」という コンテキスト情報は渡される。 • Editモードと意識的に使い分ける必要はなく、 常にAgentモードでも良い 36
  17. MCP Server • MCP(Model Context Protocol)とは ◦ LLMから、外部のツールやデータソースと連携するためのプロトコル ◦ GitHub

    Copilot Chat/Agent: MCP Client ◦ ツール: MCP Server • 様々なツールがMCP Serverとして提供され、 GitHub Copilotから利用可能になっている。 • 例 ◦ GitHubのIssueやPullRequestの操作ができるMCP Server ◦ Webブラウザを起動して操作できる「Playwright MCP」 ◦ AWSのリソースの参照やデプロイ操作ができるAWS公式MCP Server 37
  18. MCP Serverの利用設定 • VS Code拡張機能としてインストール • MCP Serverの情報を設定ファイルに記述 ◦ ユーザ設定

    ”mcp” ◦ ワークスペース設定 .vscode/mcp.json • 秘匿情報を管理するときにはinputsを使う • Claude Desktop等の設定も認識する機能がある 38
  19. Agentへの指示方法の使い分け • 共通ルール(インストラクションファイル) ◦ コーディングルール、コードレビュールール ◦ ワークスペースのファイル構成 ◦ DBなど、外部環境の情報 ◦

    ドメイン知識 • 再利用可能プロンプト(プロンプトファイル) ◦ 「テストの生成」の指示と、テストの構成の情報 ◦ 「テストの実行」の指示と、テストの実行コマンド ◦ 情報の多い長いプロンプト • インストラクションファイル、プロンプトファイルは 「Ask」「Edit」モードでも利用可能 42
  20. 共通ルール(インストラクションファイル) • 3つの設定方法がある • .github/copilot-instructions.md ◦ ワークスペース内で常に参照する ◦ リポジトリにコミットして、共有できる •

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

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

    ◦ DB定義全部は多いプロジェクトもあったりする。 ファイル分割はドメインの概念毎にする。 48 それぞれ必要時に以下を参照 - タクシーの予約 ./reservation.md - ユーザのキャンセル ./cancel.md 例
  23. 74thのテクニック • 2行以上の指示は常にプロンプトファイルに書く ◦ .github/prompts/do.md をテンポラリのファイルにして 毎回 /do と指示する ◦

    細かく指示するのも手だが、まとめた指示の方が、再トライしやすい • プロンプトではファイル名やクラス名を指定する ◦ 今実装に使って欲しいクラス名やファイル名を指示する ◦ そうしないと、ディレクトリ構造の探索からスタートする ◦ クラス名があれば、全文検索をかけて、探せる 49 タスクの管理に、楽観排他制御を導入したい todo_api/domain/entity/entity.py のTaskに楽観排他制御用の項目を追加して todo_api/memdb/memdb.py のMemDBがデータ管理レイヤーだから、 排他制御のチェックや楽観排他の値はMemDB内で実行して 例
  24. その他の機能 • MCP Server ツールセット ◦ 一度に使うMCP Serverのセットを作っておけます ◦ 権限を与えすぎないように、

    特定のタスクができるセットを作っておくと良いでしょう • Chatモード ◦ Ask / Edit / Agent の選択欄に、Agentのモードを追加できます ◦ 書き込み系Toolを制限して、プランニング専用のモードや、 特定のMCP Toolのみを許可して、AWS操作専用モードなどを作り込めます。 51
  25. Agentモードのセキュリティリスク • GitHub Copilotで取られている対策 ◦ ターミナルのコマンド実行の度にユーザに確認する ◦ 1回のプロンプト実行の度に 使用可能にするMCP Server

    Toolを制限できる。 VS Codeの機能も制限できる。 ▪ 外部リソースを使うMCP Serverは必要時以外は有効にしない。 ▪ 特定のMCP Server Toolを使うときには、 コード読み取り、編集機能は有効にしない。 • ユーザが取れる対策 ◦ 不用意にMCP Serverを利用しない ◦ DevContainerなど、サンドボックス環境を構築し、 そこからAgentモードを利用する 53
  26. AI駆動開発の3つのスタイル(おさらい) 55 Coding Coding Coding Level 1 コーディング サポート Level

    2 併走エージェント (Vibe Coding) Level 3 独走エージェント (Agentic Coding) ※ 人間の関与率、AIの自律率として、Level 1~3を設定しましたが、優劣はありません
  27. GitHub Copilot coding agent • GitHubのIssueに @copilot をアサインすると、 クラウド上でGitHub Copilotが起動し、

    Issueの内容に従ってコーディング、PullRequestの作成まで行う機能 • Issue上でAgentとやりとりできるが、 基本的には一気にIssueの解決まで作業し、その間には指示はできない • Freeでの利用は不可 注: 💻Agentモード、☁coding agentのどちらも、 Vibe coding、Agentic Codingの両方の考えで使えます。 思想に近い機能としてそれぞれ解説しています。 56
  28. 💻Agentモードと☁coding agentの比較 • 人間に確認する頻度 ◦ 💻Agentモード: なるべく人間に指示を仰ぐように見える ◦ ☁coding agent:

    Issueの完遂まで動くように見える • MCP Server設定 ◦ 💻Agentモード: .vscode/mcp.json ◦ ☁coding agent: GitHubリポジトリの設定。.vscode/mcp.jsonも参照。 • インストラクションファイル ◦ 💻Agentモード、☁coding agentも同じ(前述参照) 57
  29. 質問 • GitHubリポジトリに対して質問で きる ◦ このリポジトリの技術スタックを 教えて • IssueやPull Requestを参照して質

    問できる • Pull Requestのコードについて、 これはどういう修正か質問するこ とができる 67
  30. その他 • 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 69
  31. GitHub Copilot ChageLog • https://github.blog/changelo g/label/copilot/ • VS Code以外のエディタの更 新や、

    github.com の更新も追うこと ができる • 新しいLLMモデルの追加は、 こちらで告知される • Xアカウントでも告知される 71
  32. VS Code Update • https://code.visualstudio.com/up dates • GitHub Copilotのエディタの最新機 能は、まずVS

    Codeに実装されてい る • VS Codeは毎月定期の 最近更新の6-7割が GitHub Copilot関連。 VS Codeのアップデートを追うと、 GitHub Copilotの機能が追える • なにより、ちゃんとドキュメント化 されているので、追いやすい 72
  33. VS Code Meetup • 2019年から続く VS Codeの日本コミュニティ • 最近のVS Codeのアップデートの

    7割がGitHub Copilot関連 • 毎月VS Codeのアップデートを追う イベントを開催 • 74thがオーガナイザをしています! 73
  34. さいごに 76 • AI Codingの世界は、まだまだ変わりつつあります ◦ ツールのトレンドも、週単位で変わり続けています ◦ 期待して使おうとしても、 まだまだ期待したとおり動いてくれないことも多いです

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