【Microsoft×生成AI連載】【やってみた】Microsoft Power AutomateでMicrosoft Copilotをうまく使うためにプロンプトを工夫してみた

※ 2024/8/13:「Power AutomateでCopilotを使用するための条件」についての記載を修正

【Microsoft×生成AI連載】シリーズの記事です。

本記事では、Microsoft Power AutomateでMicrosoft Copilotを使ってみて、うまく使うために工夫した内容を、実際に使用したプロンプトや結果と一緒に紹介します。

これまでの連載

これまでの連載記事一覧はこちらの記事にまとめておりますので、過去の連載を確認されたい方はこちらの記載をご参照ください。

blog.jbs.co.jp

Power AutomateでCopilotを使用するための条件

※ 2024/8/13:初出時に「Power AutomateでCopilot機能を使用するためにはCopilot for Microsoft 365ライセンスが必要」としていた内容を修正しました。

Power AutomateでCopilot機能を使用するためには、以下の2つの機能を有効にする必要があります。

Power Platform 管理センター

「Power Platform 管理センター」の左にある「環境」をクリックし、Copilot機能を使用する環境を選択します。

その環境の「生成AI機能」カードにある「リージョン間でデータを移動する」と「Bing検索」にチェックを入れ、保存をします。

Power Automate設定

「Power Automate」の右上のある歯車マークから「すべてのPower Automate設定を表示する」をクリックします。

「実験的な機能」を「ON」にして、保存をクリックします。

これで、Power AutomateでCopilot機能を使用できるようになります。

Power AutomateでCopilotを使用する方法

Power AutomateでCopilotを使用する方法です。

まず、Power Automateのホーム画面から使用することができます。

また、Power Automate フロー作成/編集画面にある「Copilot」ボタンをクリックしてから出るCopilotメニューから使用することもできます。

ただし、Copilotメニューは「新しいデザイナー」でのみ利用できます。旧デザイナーではCopilotを使用することができません。

Power AutomateでのCopilot検証

今回は、「実行するとSharePointリストに新しくアイテムを追加する」というフローをCopilotを利用して作成してみます。

フローで利用するSharePointサイトとリストは、あらかじめ以下のように作成しておきます。

  • SharePointサイト:TESTLEE
  • リスト:CopilotTEST

フローを丸ごと作成

まずは、フローを丸ごと作成してみました。

使用したプロンプト
実行すると'TESTLEE' SharePointサイトの 'CopilotTEST' リストにTitleが'TEST'のアイテムを新しく追加するフローを作成して
実行結果

以下のように関係ないトリガーと正しいアクションが追加されました。また、アクションのパラメーターは正しくないため、修正する必要がありました。

パラメーター(SharePointサイト)を明確に指定

アクションのパラメーターを正しくするため、SharePointサイトのURLでサイトアドレスを指定して作成してみました。

使用したプロンプト
'https://{テナント}.sharepoint.com/sites/TESTLEE/' SharePointサイトの 'CopilotTEST' リストにTitleが'TEST'のアイテムを新しく追加するフローを作成して
実行結果

「サイトのアドレス」パラメーターは正しく指定されましたが、トリガーはまだ関係ないものが作成されてしまいました。

フローを丸ごとではなく、アクション単位で作成

「フローを手動でトリガーする」トリガーが存在している状態で、Copilotにアクションを追加するように命令してみました。

使用したプロンプト
'https://{テナント}.sharepoint.com/sites/TESTLEE/' SharePointサイトの 'CopilotTEST' リストにTitleが'TEST'のアイテムを新しく追加するアクションを追加して
実行結果

「サイトのアドレス」や「リスト名」パラメーターが適切にセットされた状態で、アクションが正しく作成されました。

ただ、フローを保存してテストしようとすると、以下のようにエラーが発生します。

エラーの原因としては、アクションで「Item.Title」という詳細パラメーターを指定しようとしていますが、実際のリストには「Item.Title」という列が存在していないからでした。

新しい詳細パラメーターを作成しない方法はないか

詳細パラメーターを新しく作成せず、既存に存在する列の「タイトル」パラメーターを設定する方法がないか検証してみました。

使用したプロンプト 1

「Title」ではなく、「タイトル」と指定してプロンプトを作成してみました。

'https://{テナント}.sharepoint.com/sites/TESTLEE/' SharePointサイトの 'CopilotTEST' リストにタイトルが'TEST'というアイテムを新しく追加するアクションを追加して
実行結果 1

同じく、「Item.Title」という詳細パラメーターが作成されてしまい、望んだ形にはなりませんでした。

使用したプロンプト 2

アクション名が「項目の追加」なので、「アイテム」ではなく「項目」でプロンプトを作成してみました。

'https://{テナント}.sharepoint.com/sites/TESTLEE/' SharePointサイトの 'CopilotTEST' リストにタイトルが'TEST'という項目を新しく追加するアクションを追加して
実行結果 2

結果は変わらず、「Item.Title」という詳細パラメーターが作成されてしまい、望んだ形にはなりませんでした。

使用したプロンプト 3

「アクションを追加する」プロンプトと「アクション内の詳細パラメーターを指定する」プロンプトを分けて、Copilotに命令してみました。

'https://{テナント}.sharepoint.com/sites/TESTLEE/' SharePointサイトの 'CopilotTEST' リストに新しくアイテムを追加するアクションを追加して
詳細パラメーターの'タイトル'に'TEST'という値を入れて
実行結果 3

アクションを追加するプロンプトでは、新しい詳細パラメーターを作成することなく、意図通りに作成されました。

ただ、作成されたアクション内の詳細パラメーターを指定するプロンプトでは「Item.Title」が作成されてしまいました。

Copilotのプロンプトで指定して詳細パラメーターの値が入っているアクションを作成するより、アクションだけ作成してから手作業で詳細パラメーターを指定する方がよさそうでした。

Power AutomateでのCopilot検証:応用編(パラメーター、トリガー)

パラメーター設定の追加検証

先ほどの「実行するとSharePointリストに新しくアイテムを追加する」フロートは別のフローで、パラメーターの設定が出来るかどうかを検証しました。

使用したプロンプト 1
新しくメールが届いたらフローボットからTeamsチャットを送信するフローを作成して
実行結果 1

トリガーとアクションは正しく作成されましたが、アクションのパラメーターに存在しないアクションからの動的なコンテンツが入っていました。

使用したプロンプト 2
新しくメールが届いたらフローボットから'{メールアドレス}'にTeamsチャットを送信するフローを作成して
実行結果 2

対象をメールアドレスで明示的に指定した場合は。問題なくフローの保存や実行ができました。

トリガー作成の検証

トリガーはフローを新しく作成する際に選択してフローを作成することが多いですが、Copilotを利用して作成することも可能でした。

使用したプロンプト 1
日本時間の毎日10時に自動にフローを実行するトリガーを作成して
実行結果 1

スケジュール実行のトリガーを作成するときに、日程だけではなく、タイムゾーンの指定も可能でした。

使用したプロンプト 2
メールの件名に'TEST'という文字列が含まれているときにフローを実行するトリガーを作成して
実行結果 2

トリガーは正しく作成されましたが、件名フィルターの条件文は正しくありませんでした。

使用したプロンプト 3
フローを手動で実行するトリガーを作成して
フローを手動でトリガーするトリガーを作成して
手動実行トリガーを作成して
フローボタントリガーを作成して
実行結果 3

「フローを手動でトリガーする」トリガーはうまく作成されないため、最初にフローを作成するときに選択して作成する方がいいかと思います。

結論

Power AutomateでのCopilotはまだ完璧ではないため、使用するには適切なプロンプトについて工夫して使う必要がありました。

今回の検証では以下の観点を考えることができるかと思います。

  1. フローをCopilotで丸ごと作成するより、アクション単位で追加する方がよい
  2. 各アクションのパラメーターはCopilotが指定するより、ユーザーが入力する方がよい
  3. Copilotが指定する際には、サイト名、ユーザー名、特定してない対象などではなく、URL、メールアドレスなど明確な値を入れて指定する必要がある
執筆担当者プロフィール
Lee Byungju

Lee Byungju(日本ビジネスシステムズ株式会社)

Microsoft Azure関係の開発, Power Platformが担当領域。

担当記事一覧