次の方法で共有


Copilot エージェントは Microsoft 365 のアプリです

重要

  • API プラグインは現在、 宣言型エージェント内のアクションとしてのみサポートされています。 Microsoft 365 Copilotでは有効になっていません。 API プラグインを宣言型エージェントに追加する方法を示す例については、「 プラグインの追加」を参照してください。
  • この機能は、すべてのMicrosoft 365 Copilotライセンステナントで既定で有効になっています。 管理者は、ユーザーとグループごとにこの機能を無効にし、個々のプラグインの使用を承認する方法と、有効にするプラグインを制御できます。 詳細については、「 統合アプリでの Copilot エージェントの管理」を参照してください。

Copilot エージェントを構築するときは、Microsoft 365 用のアプリもビルドします。 Microsoft 365 用アプリは、共通のマニフェスト スキーマとパッケージ形式、および統合された配布と管理のプロセスとツールを共有します。 最終的な結果として、アプリと Copilot エージェントは、可能な限り最も広い対象ユーザーに到達し、ユーザーのワークフロー内でコンテキストに応じて表示されます。

この記事では、Copilot エージェント開発用の Microsoft 365 アプリ モデルの重要な部分について説明します。

Microsoft 365 のアプリ モデル

Microsoft 365 エコシステムは統合アプリ プラットフォームに進化しており、共通のアプリ モデルを使用してアプリを定義してパッケージ化できます。 他の Microsoft 365 アプリケーションで実行するように Teams アプリを拡張する方法として始まった機能は、Microsoft Graph コネクタOutlook アドイン、および今では Copilot エージェントの配布をサポートするように拡張されました。

アプリ パッケージ

Copilot エージェントを含む Microsoft 365 のアプリ パッケージは、1 つ以上の構成 (マニフェスト) ファイルとアプリ アイコンを含む zip ファイルです。 アプリ ロジックとデータ ストレージは他の場所でホストされ、HTTPS 経由で Microsoft 365 ホスト アプリケーションによってアクセスされます。 アプリ パッケージを管理者に送信して、organizationに発行するか、パートナー センターに送信して Microsoft AppSource に発行します。

少なくとも、アプリ パッケージには次のものが含まれます。

  • アプリ の構成、機能、必要なリソース、および重要な属性について説明するアプリ マニフェスト (manifest.json)。
  • 大きな色のアイコン (color.png)、Microsoft Copilot UI とストアにエージェントを表示するフル カラー 92x92 アイコン、および
  • 小さなアウトライン アイコン (outline.png)、背景が透明な 32 x 32 アイコン (現時点では Copilot では使用されていませんが、検証に合格するために必要)

アプリ パッケージには、宣言型エージェントと API プラグインの定義のほか、サポートされている他の言語用のローカライズ ファイルも含めることができます。

Microsoft 365 アプリ パッケージの構造を示す図: アプリ マニフェスト (.json ファイル) + .zip ファイルにラップされたアイコン (色とアウトライン .png ファイル)

アプリのアイコン

アプリ パッケージには、.png ファイルとして、アプリ アイコンの色バージョンとアウトライン バージョンの両方を含める必要があります。 これらのアイコンには、ストアの検証に合格するための特定のサイズ要件があります。

注:

現時点では、Copilot エージェントをエンド ユーザーに表すために色アイコンのみが使用されますが (ストア登録情報とMicrosoft 365 Copilot UI 内の両方)、Microsoft AppSource にアプリ パッケージを送信する場合はアウトライン アイコンが必要です。

Microsoft 365 アプリ パッケージの色アイコンとアウトライン アイコン、 Teams ストアとアプリ バーのアプリ アイコンに関する詳細な設計ガイダンス。

カラー アイコン

色アイコンは、Microsoft Copilot UI と製品内 (Teams、Outlook、Microsoft 365) アプリ ストア内のエージェントを表します。

アプリの色アイコンのサンプル画像。背景を含む合計アイコン サイズとして 192 x 192 ピクセルを示し、中央の 96 x 96 ピクセル空間にはアプリ シンボルの

色アイコン:

  • 任意の色を指定できます
  • 合計 192 x 192 ピクセルにする必要があります
  • シンボル自体には 96 x 96 ピクセルにする必要があります ( トリミングされたホスト シナリオで 48 ピクセルのパディングを許可する)
  • 完全に固体または完全に透明な正方形の背景の上に座る必要があります

アウトライン アイコン

アウトライン アイコンは、Teams アプリ バーでピン留めされたアプリやアクティブなアプリを表すために使用されます。 現時点では Copilot エージェントには使用されていませんが、アプリ パッケージが検証に合格するためには引き続き必要です。

32x32 ピクセル サイズと透明な背景を持つ白いアイコンのアウトラインを示すアプリ アウトライン アイコンのサンプル 画像

アウトライン アイコン:

  • 32 x 32 ピクセルにする必要があります
  • 透明な背景を持つ白、または白い背景で透明にする必要があります
  • シンボルの周囲に追加のパディングを含めることはできません

アプリ マニフェスト

Microsoft 365 のアプリ マニフェストは、アプリの機能と特性を記述する JSON ファイルです。 その中核となる Microsoft 365 のアプリ マニフェストは 、Teams アプリをビルドするためのスキーマですが、その後 (バージョン 1.13 以降) に拡張され、Teams に加えて Microsoft 365 ホスト全体で実行されるアプリを定義しています。

Microsoft Copilot Studioを使用して宣言型エージェントを構築している場合は、作成プロセス中に指定した情報に基づいてアプリ マニフェストが自動的に生成されます。

すべてのアプリ マニフェストには、次の情報が含まれている必要があります。

マニフェスト フィールド 説明
version MAJOR 形式のアプリのバージョン番号。マイナー。PATCH (semver 標準)。
id MICROSOFT アプリケーション登録ポータル (apps.dev.microsoft.com) から GUID 形式でこのアプリの一意に生成された識別子。
ディベロッパー 名前、Web サイト、プライバシー ポリシーと利用規約へのリンクなど、開発者に関する情報。 AppSource に送信されるアプリの場合、値はパートナー センター アプリ申請フォームで指定された値と一致する必要があります。
name アプリケーション ホスト内のエンド ユーザーに表示されるアプリの名前。
description ユーザー向けのアプリの短い説明と長い説明。 AppSource に送信されるアプリの場合、これらの値は AppSource エントリの情報と一致する必要があります。
アイコン カラー アイコン ファイルとアウトライン アイコン ファイルへの相対パス。
accentColor アウトライン アイコンの背景として と を使用する色 ( RGB 16 進値など #4464ee)。
特定のアプリ機能の定義 個人用タブ (staticTabs)、メッセージ拡張機能 (composeExtensions)、 ボットなど、各アプリ機能の定義。 宣言型エージェントと API プラグインは、 copilotAgents ノードの下で定義されます。

次の例は、メッセージ拡張機能と宣言型エージェント アプリ機能の最後にプレースホルダー セクションがあるアプリ マニフェストを示しています。

{
    "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.18/MicrosoftTeams.schema.json",
    "manifestVersion": "1.18",
    "version": "1.0.0",
    "id": "00000000-0000-0000-0000-000000000000",
    "developer": {
        "name": "Northwind Traders",
        "websiteUrl": "https://www.example.com",
        "privacyUrl": "https://www.example.com/termofuse",
        "termsOfUseUrl": "https://www.example.com/privacy"
    },
    "icons": {
        "color": "Northwind-Logo-196.png",
        "outline": "Northwind-Logo-32.png"
    },
    "name": {
        "short": "Northwind Inventory",
        "full": "Northwind Inventory App"
    },
    "description": {
        "short": "App allows you to find and update product inventory information",
        "full": "Northwind Inventory is the ultimate tool for managing your product inventory. With its intuitive interface and powerful features, you'll be able to easily find your products by name, category, inventory status, and supplier city. You can also update inventory information with the app."
    },
    "accentColor": "#3690E9",
    "composeExtensions": {
        ...
    },
    "copilotAgents": {
        ...
    }
}

詳細については、「 開発者プレビュー アプリ マニフェスト スキーマリファレンス」を参照してください

copilotAgents 定義

宣言型エージェントと API プラグインにはそれぞれ独自の定義スキーマがあります。 宣言型エージェントの定義ファイルは、アプリ マニフェストの copilotAgents オブジェクトから参照されます。

次の例は、宣言型エージェントを参照する方法を示しています。

    "copilotAgents": {
        "declarativeAgents": [
            {
                "id": "agent1",
                "file": "declarativeAgent1.json"
            }
        ]
    },

API プラグインの定義は、宣言型エージェント定義から参照されます。

宣言型エージェント マニフェストと API プラグイン マニフェストを参照するアプリ マニフェストを示す図。宣言型エージェント マニフェストは、別の API プラグイン マニフェストを参照します

以下のことに注意してください。

  • 現在、アプリ マニフェストごとにサポートされている宣言型エージェント定義は 1 つだけです。 宣言型エージェントごとにサポートされる API プラグインは 1 つだけです。

  • Copilot Studioを使用して Copilot エージェントをビルドすると、アプリ マニフェストの生成全体の一部として、それぞれに固有idのが生成されます。 Teams Toolkit または独自の IDE を使用してエージェントを構築する場合は、独自の id 規則またはフレンドリ名に従って自分を割り当てます。

宣言型エージェント マニフェスト

宣言型エージェント マニフェストには、Copilot 応答の指示、会話の開始サンプル プロンプト、接地に使用されるデータ ソース、およびエージェントが実行できるアクションの一覧 (API プラグイン スキル) が含まれています。

詳細については、「Microsoft 365 Copilotの宣言型エージェント マニフェスト スキーマ」を参照してください。

API プラグイン マニフェスト

API プラグイン マニフェストには、サポートされている API や実行できる操作など、プラグインの機能が記述されています。 また、名前、説明、バージョン、対話する REST API の OpenAPI 定義への参照などのメタデータも含まれます。 API プラグインは、宣言型エージェント マニフェストから参照して、宣言型エージェント エクスペリエンス内で使用できます。

詳細については、Microsoft 365 Copilotの API プラグイン マニフェスト スキーマに関するページを参照してください。

エージェントのローカライズ

Copilot エージェントをローカライズする方法は、アプリ マニフェストで他の機能 (タブ、ボット、メッセージ拡張機能など) をローカライズする方法とは若干異なります。

従来の Teams アプリ機能と Copilot エージェントの両方に同じローカライズ ファイル (言語ごと) を使用します。 ただし、他のすべてのアプリ マニフェスト フィールドは、言語ファイルの JSONPath 式を使用して参照されますが、Copilot エージェント関連のフィールドはディクショナリ キーを使用して参照されます。 アプリ マニフェスト自体で既定の言語文字列を使用する従来の Teams アプリ機能とは異なり、ローカライズされた Copilot エージェントには、既定の言語と追加の言語ごとに言語ファイルが必要です。

Copilot エージェントをローカライズするためのアプリ マニフェスト、宣言型エージェント マニフェスト、および言語ファイルの関係を示す図

次の手順では、Copilot エージェントの追加の言語 (既定を超える) をサポートする方法を示します。

1. トークン化されたキーを使用して Copilot エージェント マニフェストを更新する

ローカライズするフィールド値に対して、宣言型エージェントまたは API プラグイン マニフェストをトークン化されたキー (二角かっこなど [[PLUGIN_NAME]]) で更新します。 ローカライズ キーは、この正規表現と大きく一致します。 ^[a-zA-Z_][a-zA-Z0-9_]*$

次の例は、名前と説明のトークン化された値を持つ宣言型エージェント マニフェストを示しています。

{
    "$schema": "https://developer.microsoft.com/json-schemas/copilot/declarative-agent/v1.0/schema.json",
    "name": "[[DA_Name]]",
    "description": "[[DA_Description]]",
    "instructions": "# You are an assistant..."
}

2. アプリ マニフェストに追加 localizationInfo する

localizationInfo言語タグと、アプリ パッケージ内でサポートされている各言語ファイルへの相対パスを使用して、セクションをアプリ マニフェストに追加します。

Copilot エージェントで複数の言語がサポートされている場合は、サポートされているすべての言語 (既定の言語を 含む) にスタンドアロン言語ファイルを指定する必要があります。

次の例は、アプリ マニフェストのローカライズ情報セクションを示しています。

"localizationInfo": {
    "defaultLanguageTag": "en",
    "defaultLanguageFile": "en.json",
    "additionalLanguages": [
        {
            "languageTag": "fr",
            "file": "fr.json"
        }
    ]
},

Copilot エージェントが追加の言語をサポートしていない場合、既定の言語文字列はアプリ マニフェスト ファイル自体内で表されます。 (単一言語アプリ パッケージでは、既定の言語に個別の言語ファイルは必要ありません)。

3. 追加言語ごとにローカライズ ファイルを作成する

前の手順のアプリ マニフェストで指定したファイル名 ( defaultLanguageFile および file プロパティ) を使用して、トークン化されたキーの値を使用して、サポートされている言語ごとにローカライズ ファイルを作成します。

次の例は、 fr.jsonCopilot エージェントと個人用タブの両方にローカライズされた文字列を含む言語ファイルを示しています。

{
    "$schema": "https://developer.microsoft.com/json-schemas/teams/vDevPreview/MicrosoftTeams.Localization.schema.json`",
    "name.short": "Agent de Communications",
    "name.full": "Agent pour les Communications",
    "description.short": "Outils pour les professionnels de la communication",
    "description.full": "Outils pour les professionnels de la communication Contoso, y compris la galerie de ressources et les assistants personnels",
    "localizationKeys": {
        "DA_Name": "Agent de Communications",
        "DA_Description": "Un assistant pour les professionnels de la communication et des relations publiques chez Contoso."
    },
    "staticTabs[0].name": "Accueil",
    "staticTabs[1].name": "Galerie de ressources",
    "staticTabs[2].name": "À propos de Contoso"
}

アプリ マニフェストのローカライズ可能なフィールド

言語ファイルごとに、ローカライズする必要があるアプリのローカライズ スキーマから次のプロパティを指定します。

マニフェスト フィールド 説明 最大長 必須
@schema ローカライズ スキーマの URL。 Copilot エージェントの場合は、devPreview: を使用します https://developer.microsoft.com/en-us/json-schemas/teams/vDevPreview/MicrosoftTeams.Localization.schema.json。 マニフェスト スキーマのバージョンは、アプリ マニフェストとローカライズ ファイルの両方で同じである必要があります。 ✔️
name.short アプリ マニフェストの短い名前を指定された値に置き換えます。 30 文字 ✔️
name.full アプリ マニフェストの完全な名前を指定された値に置き換えます 100 文字 ✔️
description.short アプリ マニフェストの短い説明を指定された値に置き換えます。 80 文字 ✔️
description.full アプリ マニフェストの完全な説明を指定された値に置き換えます。 4,000 文字 ✔️
Copilot エージェントのローカライズされた文字列のキーと値のペア Copilot エージェントの場合は、ローカライズされた値でトークン化されたキー (アプリ manifest.jsonで指定されているが、二重角かっこなし) を使用します。 例: "DA_Name": "Agent de Communications"
他のアプリ コンポーネントのローカライズされた文字列の JSONPath/値ペア 他のすべての (クラシック Teams) アプリ コンポーネントの場合は、ローカライズされた値のキーとして JSONPath 式を使用します。 例: "staticTabs[0].name": "Accueil"

詳細については、「 アプリのローカライズ (Microsoft Teams)」「ローカライズ スキーマ リファレンス」を参照してください

宣言型エージェント マニフェストのローカライズ可能なフィールド

宣言型エージェント マニフェスト内では、次のフィールドをローカライズできます。

マニフェスト フィールド 説明 最大長 必須
name 宣言型エージェントの名前。 空白以外の文字を少なくとも 1 つ含む必要があります。 100 文字 ✔️
description 宣言型エージェントの説明。 空白以外の文字を少なくとも 1 つ含む必要があります。 1,000 文字 ✔️
conversation_starters 宣言型エージェントが回答できる質問の例のリスト (配列)。各例は、 と textの両方がローカライズ可能な オブジェクトtitleによって表されます。 配列内の 6 つのオブジェクト

詳細については、「 宣言型エージェント マニフェスト リファレンス」を参照してください

API プラグイン マニフェストのローカライズ可能なフィールド

API プラグイン マニフェスト内では、次のフィールドをローカライズできます。

マニフェスト フィールド 説明 最大長 必須
name_for_human プラグインの人間が判読できる短い名前。 空白以外の文字を少なくとも 1 つ含む必要があります。 20 文字 ✔️
description_for_model モデルに提供されるプラグインの説明(プラグインの目的、その機能が関連する状況など)。 2,048 文字
description_for_human プラグインの人間が判読できる説明。 100 文字 ✔️
logo_url オーケストレーターが使用できるロゴを取得するために使用される URL。
legal_info_url プラグインのサービス条件を含むドキュメントを検索する絶対 URL。
privacy_policy_url プラグインのプライバシー ポリシーを含むドキュメントを検索する絶対 URL。

詳細については、「 API プラグイン マニフェスト リファレンス」を参照してください

関連項目