GitHub Copilotをチーム独自の要件に合わせてカスタマイズする方法

投稿日時:2025/03/19 23:02
土田 純平のアイコン

日本マイクロソフト株式会社 / クラウドソリューションアーキテクト兼エバンジェリスト

土田 純平

Xアカウントリンク

はじめまして。日本マイクロソフトでクラウドソリューションアーキテクトとして活動している土田と申します。

本記事では、GitHub Copilotの最新アップデートや活用事例、そしてチーム固有の課題に応じた「カスタムインストラクション」による拡張方法について解説します。特に、GitHubとネイティブに連携できるAIツールとしての強みや、具体的なデモを交えた使い方のポイントを整理しました。

AI駆動開発やLLMツールの導入を検討している方、実際のユースケースを知りたい方の参考になれば幸いです。

開発者が直面する課題

開発者が直面しがちな課題を、以下の3つの観点から見ていきます。

課題1. 多様化するAIツール選定の難しさ

AIによるコード補完ツールは近年急速に増加しており、無料・有料を問わず多様な選択肢が存在しており、以前は限られていた同種のサービスが、現在では数多く登場し、選択が複雑になっています。

ツールの選定には、機能の範囲と質、既存の開発プラットフォームとの連携性能、チームの開発フローへの適合度など、多面的な評価が必要になります。ですが、この評価プロセスにより導入判断に要する工数が増大し、チーム全体で継続的に活用できるツールの見極めが困難となっています。

課題2. AI暴走リスクに対する“Human in the Loop”の重要性

AIによるコード実装の自動化には、次のようなリスクが懸念されています。

  • 意図しない改変の発生
  • 不適切なコードの大量生成
  • 与えられた指示に対する過剰な処理の実装

これらのリスクに対処するためには、「Human in the Loop(人間による介在)」の導入が不可欠です。生成されたコードの最終承認、実装内容の適切性のレビュー、必要に応じた修正や差し戻しのプロセスを確立することで、AIの利点を活かしながら安全な開発を実現可能になります。 とりわけセキュリティ要件が厳しい開発現場や、高い品質保証が求められるプロジェクトでは、人間による確認プロセスの重要性が一層高まっています。

課題3. 独自ルールやレガシー環境への対応コスト

多くの開発組織では、長年培ってきた独自のフレームワークやライブラリ、特有の命名規則やコーディング慣習が存在します。しかし、一般的なAIモデルはこれらの独自仕様を学習していないため、AIコード補完が組織固有の仕様を考慮せずに提案を行う場合があります。

この不整合は、書式や設計方針の混乱を招き、後の大規模なリファクタリングを必要とする事態を引き起こす可能性があります。さらに、新人や異動メンバーがプロジェクトに参加する際、通常のコーディング規約に加えて組織独自のルールの習得が必要となり、この知識をAIにも反映させる必要があります。

組織固有の仕様とAIの出力を整合させる方法の確立が、AI活用の効果を最大限に引き出すための重要な課題となっています。

課題解決のためのGitHub Copilot

GitHub Copilotは2021年の初リリースから4年が経過し、その間に多くの無料・有料の類似サービスが登場しています。そんな中でGitHub Copilotを選ぶ最大の理由は、GitHubプラットフォームとのネイティブな統合にあります。

GitHub Copilotを選ぶ理由

GitHub Copilotは、開発者が日常的に使用しているGitHubというプラットフォームに完全に統合されているため、追加のツール導入や環境構築の手間なく、自然な形でAIとの協業が実現できます。以下で紹介する最新機能群からも、この統合の利点が明確に見て取れます。

主要機能と最新アップデート

Chat & Edits

従来のコード補完に加え、対話形式でのコード生成や編集が可能になりました。特にEditsは、差分を確認しながらコードを修正できる新機能です。

image2.png

Code Review

GitHub上でプルリクエストを作成すると、GitHub Copilotが自動でレビューを実施します。
コードだけでなく、日本語ドキュメントの文法チェックなども行えます。現在はプレビュー版ですが、実用的なレベルに達しています。

image4.png

GitHub Copilot Workspace

Issueを作成すると、GitHub Copilotが解決策を計画し、コードの修正を提案してくれます。
人間が計画を承認し、必要に応じて修正を加えることで、AIと人間の効果的な協業が実現できます。さらに、Codespacesでの実行検証まで可能です。

image3.png

GitHub Spark

新規アプリケーションの開発に特化した機能です。自然言語での指示からアプリケーションを生成できます。現在はプレビュー段階で機能に制限がありますが、将来的にはWorkspaceとの連携により、より包括的な開発支援が期待されます。

Freeプランの登場

GitHub Copilotには従来、有料のIndividual(現在はProプランに名称変更)のみが存在していました。最近、使用回数に上限があるものの無料で試せる「Freeプラン」が追加され、導入のハードルが下がっています。

課題に応じた適切なプラン選択

GitHub Copilotを導入する際は、まずプランを選ぶ必要があります。大きく以下のようなステップで検討するのがおすすめです。

image1.png

Freeプラン

回数制限はあるものの、短期的な評価や実証(PoC)には十分活用できるでしょう。新機能のChatやEditsも利用可能です。

Proプラン(旧Individual)

無料版での手応えやビジネスインパクトが確認できたら、有料版への移行を検討します。制限が緩和され、より安定してAI支援を受けられます。

チーム / Enterpriseプラン

組織規模で導入する場合は、監査や権限管理などが整ったEnterpriseプランが必要になるケースもあります。社内のセキュリティ要件や規模に応じて検討が必要です。

カスタムインストラクションで解決するチーム固有の課題

GitHub Copilotは豊富な機能を備えていますが、各チームやプロジェクトには独自の要件やルールが存在します。そこで、AIの出力をチーム固有のニーズに合わせて調整できる「カスタムインストラクション」という機能が用意されています。実際のデモを通じて、この機能の効果と活用方法を見ていきましょう。

Promptyを活用したカスタムインストラクションのデモ

カスタムインストラクションの効果を実感いただくために、具体例として「Prompty」というツールを使用したデモ(※2)をご紹介します。なお、PromptyはMicrosoftがオープンソースで開発している、LLMのプロンプト管理のためのツールです。

通常、GitHub CopilotにPromptyについて質問すると「知りません」という回答が返ってきます。これは、比較的新しいツールであるため、GitHub Copilotの基本モデルに学習されていないためです。

しかし、プロジェクトの.github/copilot-instructions.mdファイルにPromptyのドキュメント情報を記載することで、GitHub Copilotは即座にPromptyの機能を理解し、設定ファイルの生成や編集の支援ができるようになります。さらにCopilot Editsを使用することで、「設定をもう少し細分化して時代と場所を設定できるように」といった具体的な改善指示にも対応できるようになります。

カスタムインストラクションの活用シナリオ

カスタムインストラクションは以下のような場面で特に効果を発揮します。

  1. 社内独自ライブラリへの対応
    • 基盤モデルが学習していない独自ライブラリのドキュメントを登録
    • ライブラリ特有の使用方法やベストプラクティスの伝達
  2. レガシーコードの管理
    • 日本企業特有の数字コードによるクラス命名規則の説明
    • 歴史的な経緯のある設計パターンや規約の記述
  3. 新メンバーのオンボーディング支援
    • チーム固有のコーディング規約の自動的な伝達
    • GitHub Copilotへの質問だけで基本的なルールを把握可能

カスタムインストラクションの設定方法

カスタムインストラクションの設定方法は主に2つあります。

  1. プロジェクト単位での設定
    • .github/copilot-instructions.mdファイルをリポジトリに配置
    • メリット:
      • プロジェクトメンバー全員で共有可能
      • Gitによるバージョン管理が可能
      • GitHubにプッシュすることで、Web上のGitHub Copilotでも利用可能
      • ソースコードと同じように変更履歴の管理が可能
  2. Visual Studio Codeでの設定
    • 個人/ワークスペース/言語ごとに設定可能
    • メリット:
      • プロジェクトごとにファイルを作成する必要なし
      • 個人の好みに応じたカスタマイズが可能

まとめ

GitHub Copilotは「コード補完」という単一機能から、開発ライフサイクル全体を支援するツールへと進化してきました。Chat、Edits、プルリクレビュー、そしてカスタムインストラクションといった機能により、より実践的なAI支援が実現可能になっています。

さらに今後はモデルのファインチューニング機能、大規模プロジェクトへの対応強化といった発展が期待されています。

課題を抱える現場で「どうやってAIを活用できるのか?」と悩んでいる方は、ぜひ一度GitHub Copilotの導入検討やFreeプランでの試用を進めてみてください。


1. 本記事は、2025年2月5日(水)に開催されたイベントの内容を元に編集したものです。
発表のアーカイブ動画については、以下のリンクからご覧いただけます。
アーカイブURL: https://findy-code.io/events/TNq4ufZwlRGFr

2. デモ動画は上記アーカイブ動画から視聴いただけます。