コンテンツにスキップ

ナレッジベースとカスタマイズ(Enterprise)

16.1 Copilot ナレッジベースの作成と管理

Section titled “16.1 Copilot ナレッジベースの作成と管理”

ナレッジベース(Knowledge Base)は、Copilot Enterpriseプラン限定の機能であり、組織のドキュメントやリポジトリからコンテキストを取り込んで、Copilot Chatの応答品質を向上させる。
Copilotが組織固有の用語、アーキテクチャ、ベストプラクティスを理解した上で回答できるようになる。

flowchart TD
    A["`組織のリポジトリ
    ソースコード
    ドキュメント`"] --> B["`ナレッジベース
    コードベースインデックス
    ドキュメントの取り込み`"]
    B --> C["`Copilot Chat
    組織固有のコンテキストを
    踏まえた回答`"]
  • オンボーディングの加速: 新規メンバーが「このプロジェクトのAPI認証の仕組みは?」と質問すると、実際のコードベースとドキュメントに基づいた回答が得られる
  • 一貫性のある回答: チーム全員が同じナレッジベースを参照するため、Copilotの回答が組織の実情と整合する
  • 暗黙知の形式化: コードの背景や設計意図がナレッジベースを通じてチーム全体に共有される
  • ナレッジベースに含めるリポジトリは、管理者が明示的に指定する
  • 機密性の高いリポジトリをナレッジベースに含めるかどうかは、情報セキュリティポリシーに基づいて判断する
  • ナレッジベースの内容は定期的に更新され、リポジトリの最新状態が反映される

16.2 Copilot Extensions のインストールと権限管理

Section titled “16.2 Copilot Extensions のインストールと権限管理”

Copilot Extensionsは、サードパーティのツールやサービスをCopilot Chatに統合する拡張機能である。
たとえば、Sentry(エラー監視)、Linear(プロジェクト管理)、データベースクライアントなどをCopilot Chat内から直接操作できるようになる。

Extensionsの導入は便利な反面、セキュリティリスクを伴う。
管理者として以下のステップを踏むことが重要である。

flowchart TD
    A["`ステップ1
    利用ポリシーの設定
    Extensions有効/無効`"] --> B["`ステップ2
    Extensionのインストール
    Organization設定から実施`"]
    B --> C["`ステップ3
    権限の確認
    各Extensionの権限レビュー`"]
    C --> D{"`権限に問題?`"}
    D -->|Yes| E["`Extensionの一時停止
    またはアンインストール`"]
    D -->|No| F["`ステップ4
    継続的なモニタリング
    監査ログで利用状況確認`"]

Extension の一時停止とアンインストール

Section titled “Extension の一時停止とアンインストール”

インストール済みのExtensionに対して、以下の操作が可能である。

  • 一時停止(Suspend): Extensionのアクセスを無期限に停止する。
    Extensionはインストールされたままだが、機能しない状態になる
  • アンインストール: Extensionを完全に削除する

16.3 Copilot Spacesによるコンテキスト共有

Section titled “16.3 Copilot Spacesによるコンテキスト共有”

Copilot Spacesは、コード、ドキュメント、仕様書などの関連コンテンツを1つのスペースに整理・集約し、Copilotの応答に適切なコンテキストを与える機能である。

プロジェクト固有のコンテキスト: 特定の機能開発に関連するソースコード、設計書、API仕様を1つのSpaceにまとめ、チーム全員がCopilotに同じコンテキストで質問できるようにする。

オンボーディング: 新規メンバー向けに、プロジェクトの全体像を把握するために必要なファイルを集約したSpaceを用意する。

レビュー: 大規模なPRに関連するコンテキスト(変更背景、設計ドキュメント、関連Issue)をSpaceにまとめ、レビュアーの負担を軽減する。

16.4 組織横断でのカスタム指示の標準化

Section titled “16.4 組織横断でのカスタム指示の標準化”

GitHub.com上のCopilot Chatでは、Organizationレベルでカスタム指示を設定できる。
これにより、組織の全メンバーに共通のコーディング規約やベストプラクティスが自動適用される。

複数のリポジトリ・チームにまたがるカスタム指示の一貫性を確保するために、以下のアプローチが有効である。

flowchart TD
    A["`組織共通の指示
    Organizationレベルで設定
    全リポジトリに適用`"] --> D["`Copilotの応答に
    統合的に適用`"]
    B["`リポジトリ固有の指示
    .github/copilot-instructions.md
    プロジェクト固有ルール`"] --> D
    C["`パス固有の指示
    .github/instructions/*.instructions.md
    言語・レイヤー固有ルール`"] --> D

テンプレートリポジトリの活用

Section titled “テンプレートリポジトリの活用”

組織標準のカスタム指示テンプレートをテンプレートリポジトリとして管理し、新規リポジトリ作成時に自動的に .github/copilot-instructions.md が含まれるようにする。
これにより、すべてのリポジトリで最低限の指示が設定された状態で開発を開始できる。

Claude Codeなど他のAIツールを併用するチームでは、AGENTS.mdCLAUDE.md ファイルもテンプレートに含めることで、ツール横断でのコーディング規約の一貫性を確保できる。
JetBrains IDEのCopilotプラグインは AGENTS.mdCLAUDE.md を自動検出してコンテキストに含めるため、ツール間の指示の互換性が高まっている。

Enterpriseプランでは、プッシュルールを使って .github/copilot-instructions.md.github/agents/*.md への変更を保護できる。
これにより、カスタム指示の変更にPRレビューが強制され、意図しない変更や不正な操作を防止できる。