Microsoft Copilot Studioを触ってみた

# Copilot Studioとは
Copilot StudioとはMicrosoftが提供しているPower Platformに含まれ、ローコードにてAIアシスタント・エージェントを作成できるツールです。
Microsoftが提供している生成AI「Microsoft Copilot」を自社向けなどにカスタマイズすることができます。

Copilot Studioは30日間の無料トライアルが可能となっています。
そのため、無料期間を活用してCopilot Studioがどのようなものなのかを少し触ってみたので、その時の記録として本記事を書いています。

Copilot Studioの試用版の利用はこちらのサイトを参考にしてください。
https://learn.microsoft.com/ja-jp/microsoft-copilot-studio/sign-up-individual

# お店紹介エージェント
Copilot Studio初心者のため、思い付きで人の好みに沿ったおすすめのお店を紹介してくれるエージェントを作成してみたので、それについてご紹介します。

## エージェントの作成
Copilot Studioを開き、サイドメニューの「作成」を押し、「新しいエージェント」を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3951347/1bcde581-9244-4364-a610-da51b2cf278c.png)

表示された画面で作成したいAIを対話形式で指示していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3951347/7e9c7479-7407-4cbb-a33c-40a3820fb652.png)

今回入力したメッセージは以下です。
> 指定された場所で、ユーザーの好きな食べ物や好きな飲み物からおすすめのお店を紹介する機能を持ったエージェントを構築してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3951347/86800e48-39cf-4eb0-97b5-f597cfb6282e.png)

メッセージを送信するとエージェントの名称や機能などが自動的に設定されます。
その後、追加の質問が来るので、希望する機能が不足している場合などは追加でメッセージを送信します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3951347/42c289c5-c5a1-4def-9a4a-de32da876333.png)

必要な機能の設定が完了した場合は、右上の「作成」ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3951347/0ced1f4a-1539-49c2-85e6-40d44f3c657c.png)

以上でエージェントの作成は完了です。

### エージェント作成時の所感
今回の記事を書くために2回ほど同じようなエージェントを作成しましたが、送信するメッセージによって返ってくる質問の内容が異なっていたり、同じ質問が返ってくることがありました。
AIを使ってエージェントを作成していそうなので、今回作成した方法では100%同じものを作成するのは不可能に近いかな？と感じました。
ただ、チャット形式以外でエージェントを作成できそうなので、同じエージェントを作成すること自体は可能だなと思っています。

## ナレッジの追加
エージェントを作成しただけでは、ユーザーの好みやお店の情報などのデータが不足しているので、それらをナレッジとして設定します。
（ナレッジの追加は前述したエージェント作成時にも設定可能です）

作成したエージェントを開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3951347/8084b3b9-607f-427b-843a-c8dea7f4bf41.png)

「サポート情報」を押下し、「ナレッジの追加」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3951347/177698e3-2ac1-4a04-8953-b012aacaedcd.png)

　　
今回ナレッジとして追加するのは以下になります。
* ホットペッパーと食べログのWebサイト
* 以下の形で人ごとの好みを文章として記載したWordファイル
    * 山田次郎さんが好きな食べ物は「ラーメン」です。好きな飲み物は「レモンサワー」です。
    * 田中太郎さんが好きな食べ物は「寿司」です。好きな飲み物は「コーラ」です。

まずは、ホットペッパーのWebサイトの追加を行うので、以下画面にて「公開Webサイト」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3951347/45a3fc19-b316-48d8-84b9-cc5a4cf12dfd.png)

ホットペッパーのURLを入力し、「追加」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3951347/483a5b2e-d6f2-43e8-89ee-652f82ff2b67.png)

以下のように設定したサイト情報が追加されるので、再度「追加」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3951347/9678f5fe-b41b-4b69-8214-ea9fe875a691.png)

同様の手順で食べログのサイトも追加します。
　　
次に自前で作成したWordファイルの追加を行います。
エージェントで使用する場合は、Sharepoint上にファイルを格納し、対象のファイルを読み込ませる形になります。
そのため、「ナレッジの追加」を押下した後に「Sharepoint」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3951347/100da988-22c3-47df-8b31-e5169db4b78c.png)

「ファイルを参照する」を押下して、読み込ませるファイルを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3951347/ec4215df-46e5-450b-b9e1-19fd652f6d67.png)
※現状エージェントに読み込ませることができるファイルは「Word」、「PowerPoint」、「PDF」となります。
https://learn.microsoft.com/ja-jp/microsoft-copilot-studio/nlu-generative-answers-sharepoint-onedrive

「追加」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3951347/bbe4be56-4e35-46a0-ba07-47e6c6017965.png)

以上でナレッジの追加は完了です。

## 実際に質問してみる
設定が完了したのでいくつか質問をしてみました。
今回行った質問は以下3つです。
1. 山田さんの好きなものが食べられるお店の中で、ユーザー評価の高い新宿駅周辺のお店をピックアップしてください。
1. 山田さんと田中さんがお互いに好きな飲み物を飲める海鮮系の居酒屋を渋谷駅周辺で5つピックアップしてください。
1. 佐藤さんの好きなものが食べられるお店の中で、ユーザー評価の高い新宿駅周辺のお店をピックアップしてください。

それぞれの回答は以下の通りでした。
1. 新宿駅周辺で山田さんの好きなものが食べられるユーザー評価の高いお店 
    > ラーメン  
    > 一蘭 新宿店: 一蘭は、個別のブースで自分のペースでラーメンを楽しめるお店です。豚骨スープが特徴で、ユーザー評価も高いです。
    > 麺屋武蔵 新宿本店: 濃厚なスープと手作りの麺が人気のラーメン店です。特につけ麺が評判です。
    > 
    > レモンサワー
    > 鳥貴族 新宿店: 鳥貴族はリーズナブルな価格で焼き鳥とレモンサワーを楽しめる居酒屋です。ユーザー評価も高く、気軽に立ち寄れるお店です。
    > 塚田農場 新宿南口店: 新鮮な地鶏料理とともにレモンサワーを楽しめるお店です。ユーザー評価も高く、落ち着いた雰囲気で食事ができます。
    >
    > これらのお店は、食べログで高評価を得ている新宿駅周辺のおすすめ店です​​
    
1. 渋谷駅周辺で山田さんと田中さんが好きな飲み物を楽しめる海鮮系の居酒屋5選
    >1. 海鮮バイキング＆浜焼きBBQ 玉手箱
        特徴: 渋谷駅から徒歩3分。紅ずわい蟹やいくらなどの新鮮な海鮮をお得な食べ放題で楽しめます。
        飲み物: レモンサワーやコーラも提供されています。
        その他: 貸切可、禁煙、クーポンあり、ネット予約可
    >2. 渋谷駅周辺の大衆居酒屋
        特徴: おしゃれでモダンな飲食店が多い渋谷駅周辺には、ワイワイ気軽にお酒を楽しめる大衆居酒屋も多数あります。
        飲み物: レモンサワーやコーラも提供されているお店が多いです。
        その他: 美味しくて安い人気店が多く、楽しい時間を過ごせます
    >3. 静かな個室居酒屋
        特徴: 渋谷の賑やかなイメージとは異なり、静かにまったり語りたい時におすすめの個室居酒屋。
        飲み物: レモンサワーやコーラも提供されているお店が多いです。
        その他: 海鮮や鶏料理、豪勢な懐石など、様々なジャンルの料理が楽しめます
    >4. 海鮮居酒屋 魚魚魚（ととと）
        特徴: 新鮮な魚介類を使った料理が自慢の居酒屋。
        飲み物: レモンサワーやコーラも提供されています。
        その他: 渋谷駅からのアクセスも良好。
    >5. 海鮮居酒屋 魚介亭
        特徴: 新鮮な海鮮料理が楽しめる居酒屋。
        飲み物: レモンサワーやコーラも提供されています。
        その他: 渋谷駅周辺で人気のあるお店。
    >
    >これらの居酒屋で、山田さんはレモンサワー、田中さんはコーラを楽しみながら、新鮮な海鮮料理を堪能できます。

1. 新宿駅周辺でユーザー評価の高いお店
    >1. 牡蠣が楽しめるお店
       オイスターバー: 種類豊富な生牡蠣が味わえるお店。新鮮な牡蠣を堪能できます。
       食べ放題が人気のお店: 牡蠣尽くしを楽しめる食べ放題のお店もあります​1​。
    >2. ラーメンが好きな方におすすめのお店
        ラーメン専門店: 新宿には多くのラーメン専門店があり、特に人気の高いお店が多数あります。ユーザーの口コミやランキングを参考に選ぶと良いでしょう​2​。
    >3. 寿司が好きな方におすすめのお店
        寿司店: 新宿には高評価の寿司店も多く、予算や好みに合わせて選べるお店がたくさんあります​。
    >
    >これらのお店は、ユーザーの口コミや評価をもとに選ばれた人気店です。新宿駅周辺で美味しい食事を楽しんでください。

# まとめ
最後にお店紹介エージェントを作成してみた所感とMicrosoft Copilot Studioで実現できそうだなと感じたことについて記します。

### 所感
当たり前と言えば当たり前ですが、いかにナレッジで情報を食わせるかどうかでエージェントの制度が大きく変わるなと感じました。
試しにナレッジを追加していない状態で、前述した一つ目の質問を投げてみたところ、以下のような流れになりました。
1. 質問を投げる
1. 山田さんの好きなものを聞いてくる
1. ラーメンと答える
1. 新宿周辺のラーメン屋をいくつか紹介（参照したサイト情報等はなし）

最終的な結果だけ見れば、好きなものからお店をピックアップしてくれていますが、やり取りが1回増えたり、信頼できる情報なのかをスムーズに確認できない（ナレッジがある場合はサイトのリンクが回答に記載されていた）という点で差が出ました。
このようにナレッジの有無で挙動が変わってくるので、ナレッジとして設定する情報が重要になってくると思いました。

### 実現できそうなこと
Microsoft Copilot Studioを使用する一番のメリットはM365環境にあるデータを利用できる点だと思います。そのため、Sharepoint上に格納されている様々な社内情報をナレッジとして使用することできるため、会社のルールなどの疑問を解決してくれるエージェントを作成できそうだと思っています。
また、Azure AIとの連携を行うことも可能なので、GPT-4oなどのOpenAIが提供しているAIモデルを使用することもできそうです。

あと、忘れてはいけないのがPower Platformツールとの連携です。
冒頭に記載した通りMicrosoft Copilot StudioはPower Platformの一つなので、他のツールとの連携が可能です。例えば、Power Automateで作成したフローの中で作成したエージェントを呼び出すことで情報を取得したり、何かしらのタスクを実行させるといったことができそうでした。

### さいごに
今回紹介した内容はMicrosoft Copilot Studioの基本的な部分のみを触っただけなので、今後はまだ触ってない機能を使ってみようと思っています。