M365 Copilotライセンスを持たないユーザーのCopilotエージェント作成を試してみた。

ふだん職場ではM365 Copiloや、Copilot Studioを使っているのですが、いろいろと設定や制限がはいっているので、休日に自前の環境で ライセンスがなくても使えるCopilotと、Copilotエージェントの作成を試してみました。

## アカウントの種類
アカウントには[「Microsoftアカウント」と「職場または学校アカウント」](https://support.microsoft.com/ja-jp/account-billing/microsoft-%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%81%A8%E8%81%B7%E5%A0%B4%E3%81%BE%E3%81%9F%E3%81%AF%E5%AD%A6%E6%A0%A1%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%81%AE%E9%81%95%E3%81%84%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B-72f10e1e-cab8-4950-a8da-7c45339575b0)の２種類があります。ここでは後者についての紹介です。会社や学校のメルアドを使ってサインインしていることが前提です。
職場または学校アカウントでサインインした状態でアクセスしたユーザーがCopilotを使った場合、[エンタープライズデータ保護（EDP）](https://learn.microsoft.com/ja-jp/copilot/faq#enterprise-data-protection-edp)が機能します。会社などではとくに、Copilot君に質問した内容がAIの学習に利用されて、社外の人がAIを使おうとしたときに、社内の誰かがCopilotに質問した内容について答えたりしないかが懸念点だと思います。そういうのは行わないよ、というお約束がエンタープライズデータ保護です。Copilotの画面の上の方に表示されている緑の盾のマークが安心の証です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285141/c150092d-eec1-4fb2-a896-4cae1d09c5dd.png)


https://learn.microsoft.com/ja-jp/copilot/faq#enterprise-data-protection-edp

## Copilot を使ってみる
アカウントにサインインした状態でCopilotにアクセスします。Copilotってどこにあるの？という人は、一番手っ取り早いのは bing.com にアクセスすることです。見たことあるでしょう？検索窓の右側にコパイロットのアイコンがあるのでクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285141/03e30de5-ab4a-4dd4-8857-9f1eaeeeda97.png)

Copilot Chatの画面が開きます。質問したら答えてくれる賢いAIです。今回の話題は右上の方に表示されている「エージェントの作成」です。クリックしてみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285141/4304afd6-d407-48a0-b6b4-e52f67bebe18.png)

エージェントの作成画面というのが出てきました。Copilot自体は質問をすれば答えてくれるのですが、最近の生成AI界隈では「プロンプトエンジニアリング」という言葉を聞くことがあります。

https://www.nri.com/jp/knowledge/glossary/prompt_engineering.html

## エージェントを作成してみる
チャットをしながら聞きたい内容を質問すればある程度はちゃんと答えてくれるのですが、事前にAI君に、「君は○○に関するスペシャリストだ！　質問者に対して優しく、丁寧に、小学生でもわかるように答えてあげなさい！」のように暗示をかけることによって、回答の精度が上がる（らしい）のです。ためしに、サンプルとして用意されている「アイディアコーチ」をクリックしてみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285141/241ddd76-889f-4926-b08d-854944c11f38.png)

画像のようなCopilotの役割が支持されました。「構成」をクリックしてみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285141/9d00f7fb-1621-4e67-8340-508cebe6c916.png)

自動的にアイディアに関する相談にのってくれるエージェント（ボット）として動作するための「指示」が書き込まれました。こういうボットに対する性格づけを行うプロンプトをシステムプロンプトということがあります。
画面の下の方にはWebサイトのアドレスを入力できるスペースがあります。例えば、法律知識に関して詳しいボットを作りたいなら、そういうのについて詳しく説明しているサイトを指定しておくと、参考にしてくれます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285141/f0523d5a-0fc5-43ee-a709-4f93e5ecc257.png)

## せっかくなら社内の情報も使いたい
Webから情報をあつめてわかりやすく要約して答えてくれるのはありがたいですが、せっかくならばSharePointサイト上に置かれたPDFやWordファイルなども参考にして、社内ですでに調査したナレッジを元に答えてほしくなるのがビジネスマンというもの。

URLにSharePointサイトのURLを入れてみると……
残念ながら、ただ社内のアカウント（メールアドレス）でサインインしているだけの状態だと、職場の情報にはアクセスできません。「Microsoft 365 Copilotライセンス」が別途必要です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285141/3417ac18-ad0f-4d7a-857d-bbc9807a0e52.png)

エージェントを作成し終わると、画面右側に表示されて事前にシステムプロンプトを与えられたエージェントに対する質問ができる画面になります。質問の用途に応じた細かい指示を事前に組み込まれているというわけですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285141/55e297d8-d38a-4ebc-b3fe-0bb3454cad60.png)


## Microsoft 365 Copilotライセンスとは？
馴染みのない方のためにご紹介しておくと、M365 Copilotライセンスは、ここまで紹介したCopilotの機能に加えて、社内情報にもアクセスできるのが最大の特徴です。一般的にユーザーに与えられているいわゆるOfficeアプリが使える [M365 E1/E3/E5やApps for Enterprizeライセンス](https://www.microsoft.com/ja-jp/microsoft-365/enterprise/office365-plans-and-pricing)に加えて、[M365 Copilot](https://learn.microsoft.com/ja-jp/copilot/microsoft-365/microsoft-365-copilot-licensing)もユーザーに付与すると、社内のファイルやメール、同僚との会議予定などの情報にもCopilot君がアクセスできるようになります。通常のライセンスに加えて付与するので、アドオンライセンスというタイプのライセンスです。

自分には M365 Copilot ライセンスがついているのかしら？　という方は、さきほどの[Copilotチャット](https://bing.com/chat)画面を確認してください。一番上に「職場」と 「Web」の表示があって選択できるようになっていればライセンスが付与されているとわかります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285141/62405d51-f1ef-4c77-b168-7f9159d76021.png)


:::note info
ちなみに、最近 M365 Copilotライセンスを持つユーザーがWeb版のPowerPoint上でCopilotを使うと、開いているパワポの内容を英語など多言語に翻訳してダウンロードできる機能が加わりました。これだけでも胸アツですね。
その他にもTeamsの会議で互いに違う言語の会話を、そのユーザーの声で指定言語に翻訳して音声同時通訳してくれる機能が登場したり。[当初は月額3000円以上（今みると4000円超えてる……）](https://www.microsoft.com/ja-jp/microsoft-365/copilot/enterprise)と高いなぁと思っていましたが、確実に仕事の停滞を解消する機能が追加されてきてます。
:::


## オリジナルのシステムプロンプトを作るのにもCopilotを使ってみる
さきほどは、事前に用意されたサンプルを使ったエージェント作成でしたが、個人的にはAzureやPowerPlatformなどのMicrosoft製品について詳しく優しく説明してくれるエージェントがほしいです。そこで、適切なプロンプトを書いてみたいのですが、どうやって有効なプロンプトを書いたらよいか自信がありません。そこで、Copilot君に相談してみました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285141/0b7e546c-a7d0-4b2c-8549-7d7c17e23c7f.png)

さすがです！こんな感じに答えてくれました。

```
あなたはMicrosoft AzureとPower Platformの専門家です。ユーザーからの質問に対して、わかりやすく、具体的なアドバイスと解決方法を提供してください。以下のガイドラインに従ってください：

1. **平易な表現**：技術的な用語を避け、初心者にも理解できるように説明してください。
2. **具体的な方法**：ステップバイステップの手順や具体例を提供してください。
3. **サポートとアドバイス**：ユーザーの問題を解決するためのサポートとアドバイスを提供してください。
4. **親しみやすさ**：フレンドリーで親しみやすいトーンで回答してください。

**例1: Azure Virtual Machinesの作成方法**

ユーザーの質問：「Azureで仮想マシンを作成するにはどうすればいいですか？」

回答例：
「Azureで仮想マシンを作成するには、以下の手順に従ってください：
1. Azureポータルにサインインします。
2. 左側のメニューから「仮想マシン」を選択し、「+ 追加」をクリックします。
3. 必要な情報（名前、リージョン、サイズなど）を入力し、「確認および作成」をクリックします。
4. 設定を確認し、「作成」をクリックします。これで仮想マシンが作成されます。」

**例2: Power Automateでフローを作成する方法**

ユーザーの質問：「Power Automateでフローを作成するにはどうすればいいですか？」

回答例：
「Power Automateでフローを作成するには、以下の手順に従ってください：
1. Power Automateにサインインします。
2. 左側のメニューから「マイフロー」を選択し、「+ 新しいフロー」をクリックします。
3. テンプレートを選択するか、「空白のフロー」を選択します。
4. トリガーを選択し、必要なアクションを追加します。
5. フローの名前を入力し、「保存」をクリックします。これでフローが作成されます。」
```
入手したシステムプロンプトをエージェントの作成に埋め込んでみましょう。

参考にするWebサイトには、Microsoftの公式情報が掲載されているURLも加えてみました。　https://learn.microsoft.com/ja-jp/

環境としか伝えていないのに、PowerPlatform環境のことだと察してくれたようです
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285141/4d0a567d-ea79-4be0-910a-5959697d3cb9.png)