Microsoft Copilot Studio プラグイン アーキテクチャ

重要

Power Virtual Agents 機能は、生成 AI への多大な投資と Microsoft Copilot 全体の統合の強化により、現在 Microsoft Copilot Studio の一部となっています

ドキュメントやトレーニング コンテンツが更新される間、一部の記事やスクリーンショットで Power Virtual Agents が参照される場合があります。

プラグイン は、特定のタスクを実行したり、コパイロットに特定の機能を提供したりできる再利用可能なコードです。 たとえば、プラグインは、コパイロットが自然言語クエリに回答したり、ワークフローを実行したり、外部システムに接続したり、トピック固有のガイダンスを提供したりするのに役立ちます。 コパイロット は、ユーザーが特定のドメインまたはアプリケーションでタスクや目標を達成できるように支援する、会話型または UX ベースのアシスタントです。

このコンテキストにおけるプラグインは、Microsoft Copilot Studio のプラグイン作成エクスペリエンスで作成されます。 この機能により、ユーザーはグラフィカル ユーザー インターフェイスを使用してプラグインを作成および編集し、プラグイン レジストリに公開できるようになります。

プラグイン レジストリは、プラグインを一度作成すると、それを複数のコパイロットで使用するのに役立ちます。 レジストリは、プラグインのメタデータと実行情報のストレージと管理を提供します。 ユーザーは、各コパイロットのコードを個別に記述することなく、プラグインの機能と柔軟性を適用してコパイロットの機能を強化できます。 さまざまなコパイロットはプラグイン レジストリと対話して、ユーザーが利用できるプラグインと実行情報を検出します。 この機能により、AI プラグインを一度作成すれば、何度でも再利用できます。

プラグインが誕生しました

Microsoft Copilot Studio のプラグイン作成の図

図: Microsoft Copilot Studio を使用したプラグイン作成

Creator レイヤー

Microsoft Copilot Studio の Creator レイヤーでは、ユーザーがプラグインを作成および編集できます。 このレイヤーは、プロンプト、フロー、コネクタ、トピックの 4 種類のプラグインをサポートします。

  • プロンプト プラグインは、自然言語処理 (NLP) および自然言語生成 (NLG) 技術を使用してユーザーからの自然言語クエリに応答できるプラグインです。 たとえば、プロンプト プラグインは、Microsoft Dataverse 内のデータをクエリし、カスタマイズ可能な自然言語応答 (箇条書きなど) を生成することにより、「ACME Corp の営業案件は何ですか?」のような質問に答えることができます。

  • フロー プラグインは、 Microsoft Power Automate を使用して複数ステップのワークフローを実行できるプラグインです。 たとえば、フロー プラグインは、マネージャーの承認後に Microsoft Dynamics 365 で新しい取引先担当者を作成したり、所定のテンプレートを使用して顧客にメールを送信したりできます。

  • コネクタ プラグインは、 Microsoft Power Platform コネクタを使用して外部システムまたはデータ ソースに接続できるプラグインです。 たとえば、コネクタ プラグインは、Power Platform コネクタを使用して Salesforce または SAP に接続し、データを取得または更新できます。 コネクタ プラグインは、テナント間で共有される認定コネクタまたは環境固有のカスタム コネクタにすることができます。

  • トピック プラグインは、特定のユーザーの発話に応答するために作成できる、ユーザーとコパイロット間のシングルターンの会話スレッドです。 たとえば、店舗の営業時間に関するトピックとトリガー フレーズ 店舗の営業時間を確認 を指定すると、店舗の営業時間を返すことができます。 これらのトピックは、LLM の機能により、「店舗の営業時間を参照してください」などのユーザー発話を引き続き処理できます。

ビジネス アプリケーションと Power Platform プラグイン レジストリ

プラグイン レジストリは、プラグインのメタデータと実行情報を保存および管理します。 レジストリは、Microsoft Copilot Studio で作成されたプラグインを検出するための単一のソースです。 レジストリは、Microsoft 365 Teams によって Microsoft 管理センターで使用されるテナント レベルで利用可能な統合アプリを見つけるのに役立ちます。 レジストリには、ユーザーが使用できるプラグイン、または Microsoft Copilot Studio のコパイロットが使用するプラグインが表示されます。 プラグインには、フローなどの基礎となるアーティファクトと同じセキュリティがあり、特定のユーザー ロールにカスタマイズされたプラグインのリストを提供できます。

Copilot サンプル

さまざまなコパイロットのこのサンプル セットは、プラグインを使用するためにプラグイン レジストリと統合されています。 これらのコパイロットには、Dynamics 365 アプリ用の Microsoft コパイロット、Teams 用の Microsoft コパイロット、 Microsoft Copilot Studio を使用して作成されたカスタム コパイロットが含まれます。 より多くのファーストパーティおよびサードパーティのコパイロットが開発されるにつれて、リストは将来さらに増えることが予想されます。

Microsoft Copilot のプラグイン

コパイロットで使用されるプラグイン

管理者レイヤー

管理レイヤーでは、管理者が Microsoft Admin Center を使用して、テナントで使用できる統合アプリを選択できます。 管理者は、特定のユーザーまたはすべてのユーザーに対してアプリを許可、展開、またはブロックできます。 統合アプリは複数のプラグインを持つことができません。 Microsoft Copilot Studio から利用できるアプリ - 作成されたプラグインはプラグイン レジストリから取得され、次のものが含まれます。

  • Dynamics 365 と Microsoft Copilot Studio: Microsoft Dynamics 365 Sales と Microsoft Dynamics 365 Field Services など、チームからの Dynamics 365 プラグインが含まれます。 カスタム プロンプトと トピック プラグインを作成できます。

  • Power Automate: Power Automate フロー プラグインが含まれます。

  • コネクタ固有: Salesforce および SAP プラグインのサンプルがここで呼び出されます。 Microsoft または ISV によって作成されたすべての認定コネクタ プラグインは、きめ細かい管理のための独自の統合アプリとして表示されます。

    注意

    アプリ名は変更される場合があります。

プラグインの検出と実行

作成者が使用できるプラグインには、展開された統合アプリを通じて割り当てられたプラグインが含まれます。 作成者が使用できるプラグインは、プラグイン レジストリを通じて検出されます。 作成者は、プラグイン フライアウト エクスペリエンスの使用方法に基づいて、プラグインをさらに自由にカスタマイズできます。 プラグインの実行情報はプラグイン レジストリから取得され、ランタイム パスが含まれます。

現在サポートされているランタイム実行パスは 2 つあります。

  1. Dataverse ベースのプラグイン: Dataverse データ、 Microsoft Copilot Studio トピック プラグイン、およびプロンプト プラグインにアクセスしたり、変更したりする Microsoft Dynamics 365 プラグイン。 このパスは Microsoft Entra ID 認証をサポートしています。 呼び出しは、ユーザーに代わって基礎となるシステムに対して行われます。

  2. Power Platform コネクタ エコシステムを使用するプラグイン: このパスは、内部および外部の記録システムへのアクセスを提供するコネクタの実行に役立ちます。 ユーザーごとに維持される Salesforce 接続資格情報など、ユーザーごとの資格情報の明示的な構成をサポートします。

作成者が自分のタスクに適したプラグインを見つけられない場合は、Microsoft Copilot Studio に移動して、彼らのニーズに応えるプラグインを作成します。

データ/AI レイヤー

このレイヤーは、データとビジネス ロジックが存在するさまざまなデータ ストアとシステムを表します。 これらのストアとシステムには、Sales、Field Service、その他の Dynamics 365 製品、Microsoft Copilot Studio、 Power Automate、Salesforce、SAP などの外部システムが含まれます。

一部のプラグイン タイプのデータと制御フロー

すべてのフローの前提条件として、管理者 はMicrosoft Admin Center を使用して対応する統合アプリを構成し、それらをユーザー (ここで参照されているCopilot ユーザーを含む) に割り当てます。 これらのフローでは、まず Copilot for Teams のコパイロット ユーザーの 構成フェーズ を確認します。 ユーザーがサインインすると、そのユーザーに適用できるプラグインがプラグイン レジストリから取得されます。 ユーザーのフライアウト内のプラグインは、管理者 が設定した統合アプリと、プラグイン レジストリでアクセスできるアプリに属します。 ユーザーは、Copilot for Teams エクスペリエンスのフライアウトで、コパイロット エクスペリエンスで使用するプラグインを構成できます。

Dynamics 365 プラグイン

Dynamics 365 プラグインのフロー

Dynamics 365 プラグインのランタイム フローでは、オーケストレーターは副操縦士ユーザーの発話 ACME corp の機会を得る を候補プラグインのセットにマッピングします。 Dynamics 365 のプラグインが最適な候補であると判断されて実行され、ユーザーがアクセスできる動的データに対してユーザーの発話が SQL に変換されます。 その後、結果がユーザーに返されます。 Teams コパイロットは、Microsoft 365 からのデータをさらに追加し、結果を要約することができます。

Microsoft Copilot Studio プラグイン

Microsoft Copilot Studio プラグインのフロー

Copilot Studio プロンプト プラグインのランタイム フローでは、ユーザーの発話が再びプラグインにマップされます。 この場合、一致するプラグインは、Microsoft Copilot Studio で作成されたプロンプトです。 プロンプトは Dataverse テーブルの注文のデータを根拠とし、123 注文の結果を要約するために OpenAI を呼び出し、要約をユーザーに返します。

コネクタ プラグイン

コネクタ プラグインのフロー

Salesforce またはその他のコネクタベースのプラグインの構成フローは、ユーザーが Salesforce の接続情報を入力できるフライアウトの Connect エクスペリエンスから始まります。 実行時に、ユーザーの発話は候補プラグインにマッピングされ、このプラグインは Power Platform コネクタ インフラストラクチャを使用して実行されます。 その後、結果がユーザーに返されます。

Microsoft Copilot Studio コパイロットで使用されるプラグイン

プラグインに加えて、Microsoft Copilot Studio もコパイロットの作成に使用できます。 Dynamics 365 チームまたはサードパーティは、これらのコパイロットを構築できます。

Microsoft Copilot Studio コパイロットで使用されるプラグイン

クリエーター レイヤーと同様に、プラグインの検出、実行、およびデータ/AI レイヤーは次の図のようになります。 違いは、コパイロット用のプラグインのキュレーションを管理する方法にあります。 コパイロット作成者は、Dataverse 環境から利用可能なプラグインの中から選択します。

一部のプラグイン タイプのデータと制御フロー

Microsoft Copilot Studio のプロンプトプラグインタイプのフロー

以下は、Microsoft Copilot Studio に組み込まれたコパイロットから使用されるプロンプト プラグインの例です。 構成フローには、プラグイン レジストリからコパイロット用のプラグインをキュレーションするコパイロット作成者が含まれます。 実行時に、認証されたコパイロット ユーザーはノースウィンド トレーダーの注文 123 を要約します。 この概要は、発話を候補プラグインにマッピングします。 一致するプラグインは、Copilot Studio で作成されたプロンプトです。 プロンプトは、Dataverse の orders テーブルのデータを使用します。 結果は、OpenAI を使用して要約され、ユーザーに返されます。

結論

Microsoft Copilot Studio でプラグインを作成すると、Microsoft Dynamics 365 のコパイロット、Microsoft Copilot for Teams、およびその他のサードパーティのコパイロット全体でプラグインの適用範囲を広げることができます。 この方法でプラグインを使用すると、一度作成すれば複数のコパイロットに展開できるという柔軟性が得られます。