皆さんこんにちは!オルターブースの かどた です。
毎年恒例となったアドベントカレンダーの季節がやってきました。
この記事はオルターブース Advent Calendar 2025の21日目の投稿になります!
今年は GitHub Copilot Spaces についてご紹介したいと思います。
Copilot Spaces
Copilot Spaces は今年9月に一般公開された、GitHub Copilot における比較的新しい機能の一つです。
これは、チームや組織のナレッジを一つの「スペース」として構造化し、そのナレッジを Copilot の回答に反映させることができるナレッジ基盤です。
GitHubの公式ブログでは以下のように紹介されています。
今日のエンジニアリングチームは、断片化された知識に苦しんでいます。重要な文脈がコードやドキュメント、チームメンバーの頭の中に散らばっていると、新しい分野での習得や作業を進めるのが難しくなります。Copilot Spacesはプロジェクトのコンテキストを中央集約することで、あなたの仕事に基づいたより賢く関連性の高い応答を提供します。
Copilot knowledge bases の後継としての位置付け
Copilot knowledge bases とは、GitHub Enterprise 向けに提供されていたナレッジベース基盤であり、組織固有のナレッジを一元的に管理し、それらをコンテキストとしてCopilotと対話ができるといった機能でした。
自社で蓄積したナレッジをもとに対話ができるということで、組織においては重宝されていた機能の一つでもありましたが、この機能は今年の11月に廃止となっています。
そして、Copilot knowledge bases に代わる次世代の機能として Copilot Spaces が一般公開され、以前利用していた Copilot knowledge bases をボタン一つでCopilot Spacesに変換できるようになっています。
では早速、具体的な利用方法を見てみましょう。
Copilot Spaces の作成
まずはCopilot Spacesの作成に沿って Copilot Spaces を作成します。
作成する際は、そのSpaceの所有者として自身のアカウントやOrganizationアカウントを指定することが可能で、Organizationアカウントを所有者に指定した場合は、そのOrganization内のメンバーに Admin・Editor・Viewer・No access のいずれかの権限を付与した上で簡単に共有することが可能です。

Space へコンテキスト(ナレッジ)を追加
続いてスペースへのコンテキストの追加に沿って、作成したSpaceにコンテキストを追加します。
追加するコンテキストには自身がアクセス権を持つリポジトリ全体や、そのリポジトリ内の特定のファイルを一覧から選択したり、IssueやPull Requestを指定することが可能です。
また、Add text content からは任意のテキストを直接入力して追加したり、ローカルにあるメモや画像などのファイルをアップロードすることも可能ですので、GitHub.com上に存在しないソースもコンテキストとして追加することが可能です。
さらに、複数のソースを登録することもできますので、リポジトリを横断的に参照させたい場合や、ドキュメントとコードの両方を参照したい場合など、様々なユースケースに柔軟に対応できるようになっています。

今回は、ソースコードに記載するコメントのルールを記載した COMMENT_GUIDELINES.md をリポジトリに配置し、そのマークダウンファイルをコンテキストとして追加した Space 「Comment Guidelines」を用意しました。

またコメントルールには、Copilotが一般的な知識をもとに回答しているものではなく、Space に登録したコメントルールを確実に参照して回答していることを確認するため、通常はコメントに記載することの少ない <created> タグを含むようにしています。

Copilot Spaces を利用する
では実際に Copilot Spaces を利用して質問してみましょう。
https://github.com/copilot/spaces から先ほど作成したSpaceを選択すると、Copiot Chatの画面が表示されます。
そこでコメントの書き方について尋ねてみると、以下のような回答が返ってきました。

「公開メソッドには
また Copilot Spaces では、通常のCopilot Chatを利用する際と同様に利用するモデルを切り替えたり、Spaceには追加していないファイルを個別で追加して質問することも可能です。
チーム内で共有すべき情報を Copilot Spaces にナレッジとしてまとめておくことで、チームのメンバーがその情報に簡単にアクセスすることができるようになりますので、開発をより加速させることができそうですね。
Copilot Spaces はどこで利用できる?
先ほどは GitHub.com から Copilot Spaces を使って、コメントのルールを尋ねてみました。
ですが、VSCode などの IDE で実際に開発を行っている時にコメントのルールを確認したい。もしくは、コメントルールに沿って Copilotにコメントを書かせたい。というケースも多いかと思います。
そのようなケースでは、GitHub MCP を利用することで IDE からも Copilot Spaces を利用することが可能です。
MCP(Model Context Protocol) とは
MCP(Model Context Protocol)は、2024年11月にAnthropic社がオープンソースとして公開した、AIモデルに外部コンテキストを提供するための標準化されたプロトコルです。 Anthropic社の公式ドキュメントに記載されている以下の説明が非常に分かりやすいと感じましたのでご紹介します。
Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect electronic devices, MCP provides a standardized way to connect AI applications to external systems.
つまり、パソコンがUSB-Cポートを通じて様々な外部デバイスを操作できるのと同じように、AIアプリケーションがMCPを通じて様々な外部ツールやデータソースを操作できるようするための共通化された仕組み。ということですね。
GitHub MCP Server
そして、GitHubにおいてもGitHub MCP Serverが提供されています。 これにより、例えば VSCode の Copilot から GitHub上の様々なデータソースにアクセスし、Issue や Pull Request を読み込んだり、コメントを書き込んだりと言った様々な操作ができるようになっています。
VSCodeでGitHub MCP Server をセットアップする
セットアップはとてもシンプルです。
こちらから GitHub MCP Server の拡張機能を VSCode にインストールします。
インストールが完了すると認証が求められますので自身の GitHubアカウントで認証を行い、チャット欄の「ツールの構成」から github がツールとして追加されていることが確認できればセットアップ完了です。

MCP Server のツールとは
ここで「ツール」というものについて簡単にご紹介しておきますと、これはMCPの仕組みにおける外部システムとのインターフェースを指しています。
つまり、外部のツールを操作するために用意された関数のようなものだと思って下さい。
例えば GitHub MCP Server には、add_issue_comment や create_repository など 多くのツール が用意されており、これらを VSCode の Copilot Chat から利用することで GitHub上の Issueにコメントを書き込んだり、新しいリポジトリを作成したりといった様々な操作が可能になります。
ただし、この時点ではまだ GitHub MCP Server が デフォルトで用意しているツール群 のみが利用可能で、この記事の本題である Copilot Spaces にアクセスするためのツールは含まれていません。
そのため 追加のツールセット をインストールして、VSCode から Copilot Spaces にアクセスできるようにしましょう。
先ほどと同様に、今度は gh-copilot_spaces の拡張機能 をインストールします。インストールが完了したら、チャット欄の「ツールの構成」から gh-copilot_spaces が追加されていることが確認できれば準備完了です。

また、現在では MCP Server の設定ファイルである mcp.json でヘッダーを明示的に指定することで利用できるようにもなっていますので、いずれかの方法で Copilot Spaces のツールを利用できるようにしておきましょう。
mcp.json で設定する場合は、ヘッダーを追加した後に「ツールの構成」から github ツールの更新をすることで、github のツール群に追加されます。 拡張機能としてインストールする場合とは違い、github ツール群に内包される点がポイントです。




VSCodeのCopilotからCopilot Spaces を利用する
それでは実際に VSCode の Copilot Chat から Copilot Spaces を利用してみましょう。 Copilot Spaces の操作として提供されているツールは以下の2つになります。
get_copilot_space:特定の Spaceの内容を取得するlist_copilot_spaces:自身がアクセス可能な Spaceの一覧を取得する
公式ドキュメントでは、IDE から Copilot Spaces のコンテキストにアクセスする場合は Agentモードのみが利用可能と記載されていますので、Agentモードに切り替えた上で Chat入力欄から #list_copilot_spaces と送信して Copilot Spaces の一覧を取得してみます。
すると以下のように、自身のアカウントがアクセス可能な Copilot Spaces の一覧が取得され、その中には今回用意した Comment Guidelines も含まれています。

では続いて、Comment Guidelines の内容を VSCode から取得してみましょう。
特定の Space の情報を取得する get_copilot_space では、所有者である owner と Spaceの名前 name を指定する必要がありますので、 Chat入力欄から #get_copilot_space, owner:sample-org-20251201, name:Comment Guidelines と送信してその内容を取得します。
なお owner や name の指定方法は特に決まりはないようですが、Copilot が判別できるように記載しましょう。
すると、以下のように Space に登録した Comment Guidelines の内容が取得できました。

VSCodeで開発を進めている最中に「コメントってどう書くんだっけ?」と思った時、わざわざブラウザでGitHubにアクセスしてコメントルールを確認するのではなく、IDE の Copilot がサクッと教えてくれるのは非常に便利ですよね。
さらに Copilot がこのコメントルールをコンテキストとして持ったということは、Copilot自身にコメントを書かせるということもできそうです。さっそく試してみましょう。

#get_copilot_space で Space の内容を既に取得したスレッド内であれば Copilot はそのコンテキストを維持するため、ツールを毎回指定する必要はありません。
そのため、コメントを書いて欲しいファイルを開いた状態で単に「コメントを書いて」と送信したところ、Comment Guidelines のルールに沿った形で正しくコメントを書いてくれました。
なお、ツールを指定せず自然言語で「○○のSpaceの内容を取得して」などと指示することもできましたが、ツールを指定した方がより回答精度が上がったように感じました。
まとめ
いかがでしたでしょうか。 今回はコメントルールを例に Copilot Spaces を作成し、その内容を GitHub.com の Web上や、VSCode の Copilot Chat から利用する方法をご紹介しました。 設計方針やコーディング規約、API仕様書、チーム開発のルールなど、チームで共有すべきナレッジを Spaceにまとめておくことで、開発効率の向上に大いに役立つのではないかと感じています。 皆さんも是非、Copilot Spaces を活用してみてくださいね!
サービス一覧 www.alterbooth.com www.alterbooth.com www.alterbooth.com


