Note
GitHub Copilot Extensions は パブリック プレビュー 段階であり、変更される可能性があります。
GitHub Copilot 内のスキルは、ユーザー クエリへの応答で特定のタスクを実行するためにモデルが呼び出すツールです。 スキルセットは、これらのスキルのコレクションです (スキルセットあたり最大 5 つ)。 Github Copilot skillsets は、Copilot の機能を効率的に拡張する方法を提供します。これにより、ビルダーは外部サービスまたはカスタム API エンドポイントを Copilot ワークフローに統合できます。 スキルセットを使うと、ビルダーはサードパーティのサービスでのデータの取得やアクションの実行などのタスクを、Copilot で実行できます。複雑なワークフローやアーキテクチャを管理する必要はありません。
スキルセットのクイックスタートの例については、skillset-example リポジトリを参照してください。 スキルセットの構築については、「Copilot スキルセットの構築」を参照してください。
スキルセットとエージェントの違い
スキルセットとエージェントは、Copilot の機能とコンテキストを Copilot Extensibility Platform で拡張する 2 つの方法です。 それらを使うと外部サービスと API を Copilot Chat に統合できますが、それぞれ異なるユース ケースに対応し、異なるレベルの制御と複雑さを提供します。
- スキルセットは軽量で効率化されており、最小限のセットアップで特定のタスク (データの取得や単純な操作など) を実行するために Copilot を必要とする開発者向けに設計されています。 それはルーティング、プロンプトの作成、関数の評価、応答の生成を自動的に処理するため、すばやく簡単な統合に最適です。
- エージェントは、要求の処理方法と応答の生成方法を完全に制御する必要がある複雑な統合のためのものです。 それを使うと、カスタム ロジックの実装、他の LLM や Copilot API との統合、会話コンテキストの管理、ユーザー操作のすべての側面の処理を行うことができます。 エージェントはより多くのエンジニアリングとメンテナンスを必要としますが、高度なワークフローに対して最大限の柔軟性を提供します。 エージェントについて詳しくは、「Copilot エージェントについて」をご覧ください。
拡張性プラットフォーム
スキルセットとエージェントはどちらも GitHub Copilot Extensibility Platform で動作し、ユーザー要求と関数評価のフローを管理します。 Copilot skillsets では、プラットフォームはルーティング、プロンプトの作成、関数の呼び出し、プロンプトの生成を処理します。
ワークフローの概要
拡張性プラットフォームは、構造化されたワークフローに従ってユーザー要求を処理し、応答を生成します。
-
ユーザーの要求
ユーザーは、データの依頼や特定のアクションの実行などの要求を、Copilot Chat インターフェイスで発行します。 -
ルーティング
要求は適切な拡張機能にルーティングされます。 スキルセットの場合、これはプラットフォーム エージェントがユーザーの意図に基づいて対応するスキルセットを識別して呼び出すことを意味します。 各スキルの推論の説明は、プラットフォームが呼び出すスキルを決定するのに役立ちます。 -
動的なプロンプトの作成
GitHub Copilot は、次のものを使ってプロンプトを生成します。- ユーザーのクエリ。
- 関連するスレッド履歴。
- スキルセット内で使用できる関数。
- それより前の関数呼び出しの結果。
-
LLM の完成
言語モデル (LLM) は、プロンプトを処理して以下のことを決定します。- ユーザーの意図がスキルセット関数と一致するかどうか。
- 呼び出す関数と指定する引数。
- 必要な場合、LLM は追加の関数呼び出しを送信して、さらに多くのコンテキストを収集できます。
-
関数の評価
拡張機能は、選択された関数を呼び出します。これには次のものが含まれる場合があります。- Copilot skillsets リポジトリやユーザー メタデータなど、関連するコンテキストの収集。
- データの取得またはアクションの実行のための、外部サービスに対する API 呼び出し。
-
応答の生成 プラットフォームは、プロンプトの作成、LLM の完成、関数の評価を必要に応じてループし、出力を繰り返し調整します。 プロセスが完了すると、Copilot は、最終的な応答をチャット インターフェイスでストリーミングしてユーザーに戻します。