Copilot Studio と Power Apps/Power Automate×AI Builder の使い分け


# はじめに

最近、Power Platform の AI 機能の進化が早く、私もこれまで Copilot Studio、AI Builder についていろんな記事を書いてきました。

* Copilot Studio 
https://qiita.com/Takashi_Masumori/items/77c3f1bcce188f0df869

https://qiita.com/Takashi_Masumori/items/359ba52e5db2ca862d94

https://qiita.com/Takashi_Masumori/items/c5b7008332b7ed5df32d

* AI Builder

https://qiita.com/Takashi_Masumori/items/4abf6e330edde0a3f580

https://qiita.com/Takashi_Masumori/items/5356622854d113ac4e70

また、Copilot Studio では、最近では様々なクラウドサービスとローコード・ノーコードで連携できるコネクターを、Power Automate を介さずに直接利用できるようになっています。さらに、AI Builder で作成したプロンプトも直接利用できるようになっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/d4c05aa7-9cb8-4eba-adbe-5d79b8cd2b9a.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/0acae441-9a71-463b-a851-ac52ebbc65af.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/a81ead9e-8780-4c33-a168-372cb7b48c40.png)

さらに、最近は、トリガーを指定することもできるようになっております。Copilot Studioは、独自の生成 AI チャットボットが作成できる、つまり、ユーザーインターフェイスはチャットと認識している人も多いと思いますが、チャットを介さずにエージェントを動かすことができるようになっています。

これらを踏まえ、最近、**使い分けが難しい**、**違いが分からなくなってきてどれを利用するのがよいか分からない**といった相談をいただくことが増えました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/e13bf2ea-bf8b-4602-9d9d-885ccb3b0811.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/ba1c7645-cdf8-4ae8-b8b0-3c886b4f5faf.png)

そのため、今回は、Copilot Studio と Power Apps/Power Automate×AI Builder (もしくは、Power Apps、Power Autoamte だけ) の使い分けについて、私の考えを整理してみたいと思います。

# ロジック化できるか

まず、一つ目の判断基準は、ロジック化できるかです。つまり、条件分岐などを組み合わせてプログラム化できるかです。

例えば、以下のように、請求書がメールで届いたら AI Builder を使って必要な情報を抽出して別のシステムに転記するようなシナリオについて、ロジックが明確です。そのため、個人的には、Power Automate × AI Builder の方がよいシナリオと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/1403e131-7423-46e2-b50c-1b5abeceea0c.png)


請求書のファイルから必要な情報だけ抽出する部分について、Power Automate だけでは、請求書ファイルのどこに何の情報が含まれているか判断できず、ロジック化することは難しいのですが、この部分を AI Builder のプロンプトがカバーしています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/87ea9349-1b82-43c7-ba19-3b035300bed3.png)

それ以外にも、例えば、Power Apps や Power Automate に AI Builder を組み合わせることで、以下のような業務シナリオを効率化することが可能です。

* メールが到着したらメールの本文から必要な情報抽出して別のシステムに自動で転記する
* 納品書などのドキュメントを SharePoint のフォルダーにアップロードしたら必要な情報を抽出して別のシステムに自動で転記する
* 二つの契約書のドキュメントをアップロードして比較して差分の抽出および影響を生成する
* 組織の正しいロゴとガイドラインのプロンプトを基に、ロゴが正しく利用されているか判定する

https://qiita.com/Takashi_Masumori/items/23e8d94a2f8495dbd3a2

これらに対して、例えば、社内にある大量の FAQ に関するファイルやテーブルを基に、ユーザーからの質問に回答させたい場合、ユーザーが入力する質問パターンや回答パターンをすべて網羅し、ロジック化することは非常に難しいでしょう。このような課題の解決には、Copilot Studio の活用が適したシナリオだと考えます。

別の表現を用いますと、情報量が膨大で複雑であり、明確なロジックやルールに整理しきれない業務、あるいは業務自体に「あいまいさ」や「例外処理」が多く、明確な条件分岐では対応しにくいシナリオほど、RAG や生成 AI、そしてそれらを組み合わせたオーケストレーションが効果を発揮すると考えます。このようなシナリオが、Copilot Studio の得意とする領域です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/0fd2504c-d9ab-4ab2-8d41-5dc7e7d30cd7.png)

承認ワークフローのケースでも比較してみます。

例えば、Power Apps や Power Automate を組み合わせて以下のような承認ワークフローを作成することができます。よくあるケースだと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/fcace6f7-a0c5-4353-a0fa-7a79cbf59663.png)

このようなケースについては、ロジック化できているため、Power Apps、Power Automate で実装するのがよいと思います。また、Power Apps を利用することで、申請の入力のチェックについても柔軟に行うことができます。

そして、もう一歩踏み込んで、承認処理自体を自動化したいとします。もちろん、承認するかどうかの判断基準がロジック化できるのであれば、Power Automate のロジックに組み込めばよいと思います。
しかし、社内の出張承認既定が以下のようにドキュメント化されている場合、こちらをすべてロジック化するのは大変だと思います。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/5ac76104-9c0b-40f1-a95e-a967acecb1ab.png)

このような場合、Copilot Studio で作成するエージェントにドキュメントをナレッジとして追加して、そちらの情報を基に承認処理を自動化するようなアプローチが実現できるかもしれません。

※それほど長いドキュメントでなければ、Power Automate × AI Builder で作成したプロンプトでも実現できるかもしれませんが、ドキュメントの量が多くなり、その後の処理についても、様々な分岐があり、Power Automate でロジック化することが難しい場合は、Copilot Studio の方が向いているシナリオと考えます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/88e5e90e-db9a-4851-a650-b31fabc8a39c.png)

簡単ですが、表形式に整理してみました
※Power Apps、Power Automate のみの事例は世の中に沢山あるので割愛します

| No. | 技術                              | ロジック化の可否   | シナリオ例 |
|----|----------------------------------|-----------------|------------|
| 1  | Power Apps、Power Automate      | ○（可能）      | - 新規申請が行われたら自動で承認依頼を出して、承認者がTeamsかOutlookで承認をしたらステータスを自動で更新し、申請者に通知をする<br>※その他シナリオは多数ありますが、こちらのシナリオ例は世の中に沢山あるため割愛 |
| 2  | Power Apps、Power Automate × AI Builder | △（一部可能）<br>※難しい部分をAI Builderでカバー | - 請求書などのファイルやメール本文からAI Builderのプロンプトで必要な情報を抽出して自動で転記する<br>- テーブルがされている社内用語集を基にテキストを修正する<br>- テーブルがされているチェック項目を基に稟議書を自動でレビューする<br>- 二つの契約書のドキュメントを比較して差分の抽出および影響を生成する<br>- 組織の正しいロゴとガイドラインのプロンプトを基に、ロゴが正しく利用されているか判定する |
| 3  | Copilot Studio                   | ×（難しい）    | - 社内にある大量のFAQに関するファイルやテーブルを基に、ユーザーからの質問に回答する<br>- 新規申請が行われたらドキュメント化されているもののロジック化が難しいファイルの内容を基に自動で承認処理を行い、ステータスを自動で更新し、申請者に通知をする |

# ユーザーインターフェイス

まず、ユーザーインターフェイスをチャットベースにしたい場合は、Copilot Studio のエージェントの方が適しています。

一応、以前紹介した通り、Power Apps でもチャットライクな UI を作成できますが、結構難易度は高く、誰でも気軽に、というわけにはいかない認識です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/fd366fde-3ede-4b26-a2f5-832f10866527.png)

https://qiita.com/Takashi_Masumori/items/fcf71ea63a04f2ddbc18

Copilot Studio は、作成したエージェントを Teams に組み込むことはもちろん、Microsoft 365 Copilot Chat に組み込むことも可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/61a19850-e048-4c80-b034-69e8de7695fa.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/c684f278-335b-443f-800b-ae95e31cf741.png)

逆に、ユーザーインターフェイスがチャットでなくてもいい場合、もっと自由度の高いユーザーインターフェイスを希望する場合は、Power Apps を利用する方がいいでしょう。
また、そもそもユーザーインターフェイス自体いらない場合は、Power Automate で自動化するのがよいでしょう。

もちろん、上述の通り、最終的にどちらが適したシナリオかどうかは、ロジック化できるかどうかもポイントとなります。

# まとめ

今回は、Copilot Studio と Power Apps/Power Automate×AI Builder (もしくは、Power Apps、Power Autoamte だけ) の使い分けについて、私の考えを整理してみました。
あくまで一個人の考えですが、使い分けが分からない、混乱しているという方にとって参考になれば幸いです。
※今後の進化次第では更に考えが変わるかもしれません