Skip to main content

Copilot スキルセットの構築

Github Copilot skillsets を構築し、カスタム ツールと関数を Copilot 環境に統合する手順について説明します。

Note

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

はじめに

Github Copilot skillsets は、Copilot が呼び出すことのできる API エンドポイントを定義することで GitHub Copilot の機能を拡張する効率的な方法です。 スキルセットを作成すると、Copilot によって AI の対話がすべて処理されて、エンドポイントからデータまたは機能が提供されます。 このガイドでは、GitHub App でスキルセットを構成して配置する手順を見ていきます。

前提条件

作業を開始する前に、次の準備ができていることを確認します。

  1. 構成済みの GitHub App: スキルセットのコンテナーとして機能する GitHub App が必要です。 まだ設定していない場合は、「Copilot 拡張機能用の GitHub アプリの作成」と「Copilot 拡張機能用の GitHub アプリの構成」を参照してください。
  2. API エンドポイント: スキルごとに 1 つのエンドポイントが必要です。 各エンドポイントでは、次のことが必要です。
    • application/json MIME タイプの POST 要求を受け入れます
    • GitHub からの要求の署名を検証して、配信元を認証し、認可されていないアクセスを防ぐことができます
    • HTTPS 経由でパブリックにアクセスできます

署名の検証の詳細については、「ペイロードが GitHub から送信されていることを確認する」を参照してください。

構成要件

各スキルセットは、GitHub App 内で定義されています。 1 つの GitHub App に、最大で 5 つのスキルを含めることができます。 個々のスキルごとに次のものが必要です。

  • 名前: わかりやすい名前 (例: "問題の取得")。
  • 推論の説明: スキルで行われることと、それを使うべきときについての詳細な説明 (例: "状態やラベルなどの特定の条件に一致する外部の問題を検索する")。
  • API エンドポイント: JSON 要求を受け入れる POST エンドポイント。
  • JSON スキーマ: エンドポイントで想定されているデータの構造。

JSON スキーマの例

この例では、状態文字列とラベル文字列の 2 つのパラメーターを必要とするスキルを示します。 パラメーターを指定しない場合は、型 'object' の空のオブジェクトを要求本文として渡す必要があります。

{
 "type": "object",
 "properties": {
   "status": {
     "type": "string",
     "description": "filter issues by status (open, closed)",
     "enum": ["open", "closed"]
   },
   "label": {
     "type": "string",
     "description": "filter issues by label"
   }
 }
}

この形式を使うと、ユーザーは find open security issues のような自然言語で要求を行うことができ、Copilot は適切な API 呼び出しを構成します。

スキルセットの使用

スキルセットを使うには:

  1. @ に続けて拡張機能の名前を入力します。

  2. プロンプトを自然言語で入力します。

    次に例を示します。

    • @skillset-example generate a lorem ipsum
    • @skillset-example give me sample data with 100 words

Copilot は要求を解釈し、正しいパラメーターを使って適切なスキルを呼び出します。 使うスキルを指定する必要はありません。Copilot が、自然言語の要求と指定された推論の説明からこれを決定します。

スキルセットの設定

  1. GitHub の任意のページの右上隅にある、自分のプロファイル写真をクリックします。
  2. アカウント設定にアクセスしてください。
    • 個人用アカウントが所有するアプリの場合は、[設定] をクリックします。
    • 組織が所有するアプリの場合:
      1. [自分の組織] をクリックします。
      2. 組織の右側にある [設定] をクリックします。
  3. 左側のサイドバーで [ 開発者設定] をクリックします。
  4. 左側のサイドバーで、 [GitHub Apps] をクリックします。
  5. GitHub Apps の一覧で、スキルセット用に構成する GitHub App をクリックします。
  6. 左側のナビゲーション メニューで、[Copilot] を選びます。
  7. [App Type] で、ドロップダウン メニューから [Skillset] を選びます。
  8. 必要に応じて、[Pre-authorization URL] フィールドに、認証プロセスを開始するためにユーザーをリダイレクトする URL を入力します。 特定の機能やデータにアクセスするために API でユーザーを GitHub アカウントに接続する必要がある場合、このステップが必要です。
  9. 追加するスキルごとに (最大 5):
    1. [Add new skill] をクリックします。
    2. スキルの明確な [Name] を入力します (例: "Generate Lorem Ipsum Data")。
    3. Copilot がこのスキルを使うべきときを理解するのに役立つ、詳細な [Inference description] を書きます。
    4. POST 要求を受け取る [API endpoint URL] を追加します。
    5. [Parameter] フィールドに、予想される要求形式を定義する JSON スキーマを追加します。
    6. [Add Definition] をクリックしてスキルを保存します。
  10. [Save] をクリックしてスキルセットを保存します。