Skip to main content

Copilot 拡張機能の構築について

Copilot Extensions の開発プロセスについて説明します。

Note

GitHub Copilot Extensions は パブリック プレビュー 段階であり、変更される可能性があります。

Copilot Extensions について

Copilot Extensions は、Copilot Chat の機能を拡張させる統合であり、開発者は外部ツール、サービス、カスタム動作をチャット エクスペリエンスに取り込むことができます。 Copilot Extensions を使用すると、次のようなさまざまな方法で Copilot Chat の機能を拡張できます。

  • ドキュメントのクエリ: Copilot Extension を使用すると、Copilot Chat がサード パーティのドキュメント サービスに対してクエリを実行して、特定のトピックに関する情報を見つけることができます。
  • AI 支援コーディング: Copilot Extension では、サードパーティの AI モデルを使用してコードの提案を提供できます。
  • データ取得: Copilot Extension を使用すると、Copilot Chat がサード パーティのデータ サービスに対してクエリを実行して、特定のトピックに関する情報を取得することができます。
  • アクションの実行: Copilot Extension を使用すると、Copilot Chat でメッセージ ボードへの投稿や外部システムにある追跡アイテムの更新など、特定のアクションを実行できます。

GitHub Copilot Extensions の構築について

GitHub Copilot Extensions は 、GitHub Appsを使用して構築された Copilot Extension の一種です。 GitHub Copilot Extensions は、クロスプラットフォームの互換性とアプリ管理、GitHub からのサポートを必要とする開発者に最適です。

サポートされているクライアントと IDE

クライアントと IDEGitHub Copilot Extensions サポート
Visual Studio Code
Visual Studio
GitHub.com
GitHub Mobile
JetBrains IDE
Vim/Neovim
Copilot in the CLI
Xcode

GitHub Copilot Extensions の可視性について

Copilot Extensions は、非公開、公開して共有可能、または公開して GitHub Marketplace に一覧表示することもできます。 どの可視性オプションを選択するかは、ユース ケースと対象ユーザーによって異なります。

  • プライベート拡張機能は、次のような大企業または会社によって好まれることが多いです。
    • より多くのカスタマイズとデータ アクセスの制御が必要である
    • 大量の内部ドキュメントおよびデータベースと統合する必要がある
    • 厳密なセキュリティ ポリシーにより、サード パーティのアクセス許可を承認することが困難である
  • パブリック拡張機能は、次の場合に適しています。
    • オープンソース プロジェクト
    • 企業内の組織全体でのコラボレーション開発と使用
    • GitHub Marketplace に公開する前にツールを共有し、フィードバックを受け取る
  • GitHub Marketplace 拡張機能は、次のことが必要なサード パーティに最適です。
    • 幅広いユーザーにサービスを提供する
    • GitHub と IDE の開発者ワークフローにツールを統合する
    • GitHub エコシステムを活用して、製品に対する認識を高める

GitHub Copilot Extensionsを構築するためのリソース

GitHub は、コード サンプル、CLI デバッグ ツール、クイック スタート SDK、およびユーザー フィードバック リポジトリを備えた、拡張機能ビルダー向けの包括的なツールキットを提供します。 詳細については、GitHub の copilot-extensions 組織を参照してください。

独自の GitHub Copilot Extension を最初から作成する前に、既存の Copilot agent を調べて、GitHub App と統合し、そのしくみを確認することができます。 GitHub には、次のように、独自の GitHub Copilot Extension の基礎として複製して使用できる、Copilot agents の例がいくつか用意されています。

  • Blackbeard: 海賊などの要求に応答する単純な Copilot agent で、Copilot の LLM API と特別なシステム音声ガイダンスを使用します。 これは、GitHub Copilot Extension を構築する方法を学習するための開始点として適しています。 詳細については、「Blackbeard Copilot Extension」を参照してください。

  • GitHub Models: より複雑な Copilot agent です。この場合、GitHub Marketplace に記載されているさまざまな LLM について、Copilot Chat 内から確認して操作できます。 詳細については、「GitHub Models Copilot Extension」を参照してください。

    Note

    GitHub Models は パブリック プレビュー 段階であり、変更される可能性があります。 アクセスを要求するには、記入待ちリストに登録します。

  • 関数呼び出し: 関数呼び出しと確認ダイアログを示す Go で記述されたエージェントの例。 詳細については、「関数呼び出し拡張機能」を参照してください。

  • RAG 拡張機能: 取得拡張生成の簡単な実装を示す Go で記述されたエージェントの例。 詳細については、「RAG 拡張機能」を参照してください。

  • プレビュー SDK: 要求の検証、応答の書式設定、および API の操作を処理することで、GitHub Copilot Extensions を構築するプロセスを簡略化する SDK。 これにより、ビルダーは、ツール、API、およびデータ ソースの Copilot Chat への統合を合理化することで、定型ではなく拡張機能のコア機能に集中できます。 詳細については、「プレビュー SDK」を参照してください。

Copilot-enabled Visual Studio Code extensions の構築について

Note

GitHub のドキュメントでは、Copilot-enabled Visual Studio Code extensions ではなく、GitHub Copilot Extensions の構築に重点を置いています。

Copilot-enabled Visual Studio Code extensions と呼ばれる、Visual Studio Code に対して排他的でネイティブな Copilot Extension を構築できます。 このオプションは、VS Code固有の API と機能を使用する拡張機能を構築したり、既存の VS Code 拡張機能を拡張したりする開発者に最適です。

VS Code チャット拡張機能とも呼ばれる Copilot-enabled Visual Studio Code extensions 機能は、Copilot Chat の機能を拡張することで、GitHub Copilot Extensions と同様に機能しますが、次のように大きく異なる点がいくつかあります。

  • VS Code チャット拡張機能は、VS Code でのみ使用できます。
  • VS Code チャット拡張機能では、より多くの VS Code の機能や API にアクセスでき、ローカル ワークスペース データへのアクセス、Visual Studio Code のインターフェイス操作、ローカル ファイルへの読み取り/書き込みアクセス権限など、エディター固有の操作が可能になります。
  • VS Code チャット機能は、GitHub Marketplace ではなく、VS Code Marketplace に発行されます。
  • VS Codeチャット拡張機能は、ユーザーのコンピューターに対してローカルであり、組織または企業ポリシーで制御することはできません。

Copilot-enabled Visual Studio Code extensions についての詳細は、Visual Studio Code ドキュメントの「チャット拡張機能」を参照してください。

参考資料