独自生成 AI チャットボット作成、Copilot 拡張の民主化 (Microsoft Ignite 2023/Microsoft Copilot Studio の誕生を踏まえて)


# はじめに

日本時間 2023 年 11 月 16 日深夜より Microsoft Ignite が開催されております。

https://ignite.microsoft.com/en-US/home

その中で、Power Platform 界隈の人からすると衝撃的なニュースが飛び込んできました。

それは、以下の通り、Power Platform のサービス群の一つである、Power Virtual Agetns が **Microsoft Copilot Studio** に変わった旨です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/3854a760-5e76-5102-2486-87eeb7bb476d.png)

今回は、こちらについて、私の考えを整理してみたいと思います。

# 独自生成 AI チャットボット作成、Copilot 拡張の民主化

私はこちらのサービス名の変更、機能の進化は、**独自生成 AIチャットボット作成、Copilot 拡張の民主化** だと思っています。つまり、IT のプロではなくても、独自の生成 AI チャットボット作成や Copilot の拡張が出来るようになるという訳です。

今回のイベントで、旧 (もう旧と呼ぶのかという感じですが) Power Virtual Agetnts を知った人もいるかももしれませんが、 Power Virtual Agents は、以前からチャットボットの作成を民主化してきました。つまり、ローコード、ノーコードベースでチャットボットの作成が出来るため、IT のプロではない人でもチャットボットの作成が可能でした。

そして、Power Virtual Agents は、生成 AI との相性が良く、例えば、以下のように、Web サイトを指定したりファイルを追加するだけで、独自の生成 AI ボットの作成が可能になる機能がプレビューで利用可能でした。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/78f8eb78-1afa-55cd-bb12-6ad1669f046e.png)

以下は、以前こちらの機能を検証した際の記事です。SharePoint Online にファイルをアップロードするだけで独自の生成 AI チャットボットの作成が可能なため、既に Microsoft 365 サービスを使っている方からすると、独自データをベースにした生成 AI チャットボットの作成が簡単に出来る点がメリットです。

https://qiita.com/Takashi_Masumori/items/5405150b89335008669a#power-virtual-agents-%E3%81%AE-boost-conversations

そして、それらの機能がさらに進化していくことを踏まえると、もはや、Power Virtual Agents という、ローコード、ノーコードベースでチャットボットを作成する Power Platform のサービスの一つという位置づけではなく、生成 AI 独自チャットボットの作成や Copilot の拡張を民主化する (ローコード、ノーコードベースで可能にする) プラットフォームに進化したと言え、そちらを踏まえた新たな名前付けが必要と判断し、**Microsoft Copilot Studio** と命名されたと考えます。

先日、OpenAI のイベントで、GPTs という独自のチャットボットをノーコードで作成されるサービスが発表されました。

以下は、試しに作成した私のブログも参考にしつつ市民開発者の方の質問にお答えするボットです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/af9b455b-6717-de82-32d7-3e187a6f2e8c.png)

こちらも、生成 AI 技術をベースにした独自チャットボット作成を民主化したものと個人的に捉えています。

Microsoft では、Power Virtual Agetnts から進化した Microsoft Copilot Studio がそちらの役割を担うのかなと個人的に捉えています。

# Microsoft Copilot Studio を触ってみた

まず、開くとこんな感じで、所々 Copilot に置き換わっていますが、ちゃんと、Power Virtual Agetnts の面影というか、トピックやエンティティなども存在します。ちょっと一安心です笑

つまり、従来通りのローコード、ノーコードベースでのチャットボットの作成も可能ということです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/9f3f91ae-ca4f-e038-74f3-1f3af52ddace.png)

ただし、以下の通り、以前はチャットボット/ボットと書かれていた部分が Copilot という単語に置き換わっているため、後述する、マイクロソフトのサービスのネイティブ Copilot との言葉の使い分けがちょっとややこしくなったかもです。

今まで Power Virtual Agents で作成していたチャットボットは、Copilot Studio で作成した(カスタムの) Copilot ということになりますかね。マイクロソフトはこれでもかというくらい Copilot に舵を切っている気がします笑

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/d8a06710-2adc-b85f-602a-19b94c5a5b56.png)

生成 AI のタブについて、以前からプレビュー機能であった Web サイトの URL (SharePoint のサイトも OK)、ドキュメントアップロード等を通じて独自の生成 AI チャットボット作成が出来る機能です。こちらを利用することで、ちょっとした独自の生成 AI チャットボットの作成が出来ます。

※待望の日本語対応も間近のようです。試せるようになったら、改めて別途記事を書きたいと思っています

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/d1f97249-d2fc-3a20-022d-8a93a1d983d7.png)

こちらの記事を見ると、Azure OpenAI の [on your data] を利用することも出来るようです。どちらを利用するかは、精度など独自の要件次第とは思いますが、こちらを利用する場合は、少なからずエンジニアの方の支援も必要になるかと思います。

いずれにせよ、Copilot Studio では、IT のプロではない方でも独自の生成 AI チャットボットの作成が出来ますし、必要に応じてエンジニアの方が拡張することも可能と考えます。

https://learn.microsoft.com/en-us/microsoft-copilot-studio/nlu-generative-answers-azure-openai

そして、Microsoft Copilot の拡張のタブを見ていきます。こちらは、名前の通り、Microsoft Copilot を拡張するためのプラグインをローコード、ノーコードベースで作成が可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/c98dbfdc-ec79-5d03-31ab-38d2647a043e.png)

例えば、以下の Microsoft 365 Copilot を拡張することが可能になります。

https://blogs.microsoft.com/blog/2023/03/16/introducing-microsoft-365-copilot-your-copilot-for-work/

https://learn.microsoft.com/en-us/microsoft-365-copilot/microsoft-365-copilot-overview

現在、マイクロソフトの各クラウドサービス上では、Copilot (副操縦士) という名前の生成 AI チャット機能、サービスが組み込まれていっております。例えば、旧 Bing Chat のように、Web 検索をベースにした Copilot はもちろん、マイクロソフトのクラウドサービス上にデータを蓄積することで、それらのデータをベースにした生成 AI チャットがネイティブサービスとして利用可能になるという認識です。

これだけでもかなり強力ですが、こちらに対して独自の拡張が可能になるという訳です。
そのため、チャネル (要は作成したチャットボットをどこに展開するか) タブを見ると **"Microsoft Copilot"** という選択肢が増えております。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/441d3137-5bf0-860c-24ff-6c5f30c15fe4.png)

:::note
今回のイベントでの発表を通じて、初めて Copilot Studio を利用した方は驚いたかもしれませんが、元々、Power Virtual Agents では、作成したチャットボットを様々なサービスに対して展開することが可能でした。 Power Virtual Agents が生成 AI 機能により進化したことで元々 Power Virtual Agents が持っていた強みが増したと個人的に捉えております。
:::

見ての通り、Power Virtual Agents と同じ UI/UX と思います。そのため、Power Virtual Agents 含め、Power Platform に慣れている人であれば同じ感覚で拡張出来る点は、Power Platform 市民開発者の方にとってのメリットと考えます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/8f463f46-dbcb-27d2-0544-0ab3745815d4.png)

まず、会話プラグインです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/3cd208b5-9811-ee53-71b2-1cf66978edd1.png)

https://learn.microsoft.com/ja-jp/microsoft-copilot-studio/copilot-conversational-plugins

ちょっとピンと来ないので上記ページを要約してもらいました。トピックの機能の説明が重要そうで、そちらを踏まえ、ビジネスロジックを作成して Copilot に組み込むことで、インプットに応じていい感じにこちらを呼び出すような拡張が出来そうです。

- **conversational pluginsとは**：Microsoft Copilot Studioで作成できる拡張機能の一種で、ユーザーのクエリを受け取り、一つ以上の操作を行って、Microsoft Copilotチャットに一つ以上の応答を返すことができます。
- **conversational pluginsの作り方**：Microsoft Copilot Studioで、プラグインの能力を説明するテキストと、プラグインのパラメーターを埋めるための質問を作成します。次に、System variableノードを使って、Microsoft Copilotチャットで表示するメッセージを作成します。最後に、プラグインをMicrosoft Admin Centerに公開し、承認されたらMicrosoft Copilotチャットで有効にします。
- **conversational pluginsの利点**：Microsoft Copilotにはない新しい機能を作成できます。例えば、特定のAPIを呼び出したり、複雑なビジネスロジックを適用したり、Microsoft Copilotのアクセス範囲外にあるデータソースにアクセスしたりできます。また、Microsoft Copilotのオーケストレーションロジックと大規模な言語モデルが、プラグインを最適なタイミングで活用して、ユーザーの目標を達成するのに役立ちます。¹[1]

ソース: Bing との会話 2023/11/16
(1) Microsoft .... undefined.

どんな拡張が出来るかについて、以下のように Power Automate のフローを呼び出したり、コネクタを直接呼び出すことが出来るようです。

この辺は、元々 Power Platform では、コネクタという部品により様々なサービスとローコード、ノーコードベースで連携が可能であったため、この強みを活かし、Copilot を他サービスと連携して拡張することを可能にしています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/c2a92d28-4d50-1815-364e-c35bea1e7309.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/901ec3ae-2a3e-0038-69ee-e9549a003a19.png)

つまり、Microsoft のクラウドサービスはもちろん、これらのサービスと連携した拡張が簡単に行えるということになり、この点はかなりの強みになると考えます。

https://learn.microsoft.com/ja-jp/connectors/connector-reference/connector-reference-powerautomate-connectors

次に、AI プラグインです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/ec73fe06-a3da-ba49-d35f-ee43c8a72e4f.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/fa20e676-e56e-e8ec-16a0-e24a11433379.png)

https://learn.microsoft.com/ja-jp/microsoft-copilot-studio/copilot-plugins-overview

こちらも、上記記事を要約してもらいました。

この記事は、次の内容について説明しています。

- **Copilot プラグインとは**：Microsoft Copilot Studio で作成できるAIプラグインの種類と機能について紹介します。AIプラグインは、Copilotの応答をカスタマイズするためのツールで、プロンプト、フロー、コネクタ、OpenAIなどのプラグインがあります。
- **Copilot プラグインの作成方法**：Copilot Studio のプラグイン (プレビュー) ページで、各種プラグインを作成する手順を説明します。プラグインを作成した後、Copilotで使用できるように有効化する必要があります。
- **Copilot プラグインの使用方法**：Copilot Studio で作成したプラグインは、Copilot での自然言語の質問に対して、コードやデータを生成、操作、取得するために使用できます。Copilot は、プラグインの名前や説明などの情報をもとに、適切なプラグインを呼び出します。

ソース: Bing との会話 2023/11/16

私の手元では、現状以下しか出てきませんが、こちらは、AI Builder の GPT 機能を利用して独自のプロンプトを作成して　Copilot に組み込めるようです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/75fe349b-7e23-433f-6559-2be3b4417b20.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/67f825a9-12e4-f869-e50d-5da6322b7dc7.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/d6de7528-9cf1-6536-9c12-0846130b6a05.png)

こちらの記事を見ると、Copilot から Power Automate フローを呼んで処理自動化を依頼したりAzure OpenAI 側のモデルと連携したりすることが出来そうです。

https://learn.microsoft.com/ja-jp/microsoft-copilot-studio/copilot-ai-plugins#add-an-openai-plugin

会話プラグインのロジックで Power Automate を呼ぶケースとの使い分けが少し難しそうですが、パラメーターを明示的に受け取れる点がこちらのメリットですかね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/8c977562-1266-d0c6-4e5a-d075554cb127.png)

# まとめ

Microsoft Copilot Studio により、独自の生成 AI チャットボットを作成することや、様々な方法によって Microsoft 365 Copilot を独自拡張することが出来るようになります。そして、Power Platform 市民開発者の方は、使い慣れたサービスを通じてそれらが可能になります。そのようなことを意味するアップデート、サービス名の変更と個人的に捉えています。