みなさま、こんにちは。植木です。
2024年10月現在、UiPathをはじめとした様々なRPA製品にAI機能の搭載が進められております。
今回の記事では、Autopilot for Developersと似た機能を持つPower AutomateのCopilotを例に挙げ、
UiPath Studio WebとPower Automate(クラウドフロー)の生成機能を比べてみたいと思います。
※AIによる生成結果は一定ではないため、
同じ内容で実施しても記事と違う結果になることがありますのでご注意ください。
目次
1.はじめに
本記事では、UiPath Studio Web と Power Automate(クラウドフロー)を使用します。
Studio WebはAutomation Cloudのアカウントがあれば誰でも利用できます。
ただし、Autopilotの機能を使用する際は、
無償のCommunity版では「1ユーザーにつき1日あたり5回まで」の制限があります。
Studio WebのAutopilotに関する詳細は、
前回の記事(【UiPath Studio Web】 Autopilot for Developers の使い方)をご参照ください。
Power Automate(クラウドフロー)は、
Microsoftの組織アカウント(職場または学校アカウント)を作成し、
30日間の無料試用版に申し込めば基本機能を使用することができます。
ただし、一部のPremiumアクションを使用するためには、
有償版(またはMicrosoft365の90日間の無償試用版など)のアカウントが
必要になりますのでご注意ください。
有償版には様々な種類があるため、詳細はMicrosoftの公式サイトをご確認ください。
Power Automate にサインアップおよびサインインする
2.Copilotの概要
CopilotはMicrosoftが提供している様々なAIアシスタントの総称となります。
2024年10月現在、Microsoft Edge、Windows11、Microsoft365の各種アプリ、
Microsoft Azure、GitHubなど、様々なMicrosoft製品や一部の外部サービスで利用できます。
一例としては下記通りです。
【Microsoft Copilotが使える製品とサービス】
■Microsoft 365アプリケーション
・Word: ドキュメント作成、要約、編集支援
・Excel: データ分析、可視化、トレンドの特定
・PowerPoint: プレゼンテーション作成、レイアウト調整
・Outlook: メールの要約、返信提案、スケジュール管理
・Teams: 会議の要約、タスクの追跡、チャットサポート
・OneNote: ノートの整理、内容の要約、質問への回答
・Loop: チームでの共同作業、プロジェクト管理
・Whiteboard: アイデアの生成、整理、要約
・Stream: ビデオの要約、特定のトピックへのジャンプ
■Power Platform
・Power Apps: アプリケーションの開発支援
・Power Automate: ワークフローの開発支援
・Power BI: データの可視化と分析
■その他製品やサービス
・Business Chat: Teams、Bing、Microsoft365でのチャットサポート
・Copilot Studio: エージェントの作成、ビジネスプロセスの自動化
・Microsoft Graph: データの統合と検索
・Microsoft Purview: データガバナンスとコンプライアンス管理
・Dynamics 365
Sales: 顧客データの分析、営業プロセスの最適化
Customer Service: 顧客サポートの効率化、問い合わせの自動応答
・GitHub: コードの提案、自動補完
3.Copilotの有効化
Power Automate(クラウドフロー)にCopilotが表示されていない場合は、
下記の手順で有効化を行ってください。
【手順】
①Power Platform管理センターを開き、「環境」を選択
②Copilotを有効化する環境を選択し、「生成AI機能」の「編集」をクリック
③2つのチェックボックスにチェックを付けて保存
4.AutopilotとCopilotの機能比較
AutopilotとCopilotの主な機能の一覧は下記通りとなります。
ワークフローの開発に役立つ機能はどちらも備わっておりますが、
Copilotにはチャット形式で製品QAに対応する機能も備わっております。
5.AutopilotとCopilotの生成結果の比較
5-1.ワークフローの生成
下記の条件でワークフローを生成し、結果を比較してみます。
※連携するアプリとの接続設定は完了しているものとします
【条件】
・起動時間は平日の朝8:00
・東京都の最高気温を取得する
・35度以上の場合メールとチャットで通知する
・メールはOutlookを使用して、test@test.comへ送信する
・チャットはTeamsを使用して、「テスト」チームの「一般」チャネルへ送信する
・メールとチャットの文章では、熱中症の注意喚起を行う
【Autopilot】
■入力プロンプト
※Autopilotでは改行が可能なため、下記のようなプロンプトにすると生成精度が向上します。
"以下の条件でフローを作成します。
#条件
・起動時間は平日の朝8:00
・東京都の最高気温を取得する
・35度以上の場合メールとチャットで通知する
・メールはOutlookを使用して、test@test.comへ送信する
・チャットはTeamsを使用して、「テスト」チームの「一般」チャネルへ送信する
・メールとチャットの文章では、熱中症の注意喚起を行う"
ワークフローの枠組みは条件通りに生成されました。
一方で、各アクティビティの設定値を確認すると、
英語になっている箇所や手動で設定が必要な箇所もあります。
【Copilot】
■入力プロンプト
※Copilotは改行ができないため、条件を一文にまとめる必要があります。
また、複雑な文章や長文には未対応のため注意が必要です。
"平日の毎朝8時に東京都の気温を調べて35度以上だったら「test_team@test.com」へメールし、Teamsの「テスト」チームの「一般」チャネルに通知する"
Autopilotと同様にワークフローの枠組みは条件通りに生成されました。
また、こちらも英語や空白になっている設定値の修正が必要になります。
【所感】
プロンプトの内容次第で差異が出る部分はあるかもしれませんが、
今回の生成結果はほぼ同等のものとなりました。
一方で、現在のCopilotでは長文のプロンプトに対応していないため、
複雑なワークフローの生成という点ではAutopilotが一歩リードしているように思われます。
5-2.式の生成
簡単な式と少し複雑な式で生成結果を比較してみます。
【Autopilot】
■入力プロンプト(簡単な式)
"変数strを「/」で分割し、最後の要素を取り出す"
意図した結果が生成されました。
■入力プロンプト(やや複雑な式)
"変数strを「/」で分割し、後ろから2番目の要素と最後の要素を取り出す"
意図した結果が生成されました。
ただし、私が検証した範囲ではプロンプトの内容によっては、
正しく生成されないケースも見られたため、まだまだ向上の余地が残されているという印象でした。
【Copilot】
■入力プロンプト(簡単な式)
"変数strを「/」で分割し、最後の要素を取り出す"
生成時点では式に不備があるため修正が必要となります。
修正手順は下記通りです。
【手順】
①Copilotで生成されたアクションのValue(式が入力されている欄)の
「fx(式の入力ボタン)」をクリック
②式の入力欄(下図の赤枠)に手動で修正した式を入力し、追加ボタンをクリック
修正前:@last(split(variables_str,'/'))
「Value」の設定値が下図のようになります。
手動で修正は必要ですが、意図した式が生成されました。
■入力プロンプト(やや複雑な式)
"変数strを「/」で分割し、後ろから2番目の要素と最後の要素を取り出す"
残念ながら意図した結果が生成されませんでした。
【所感】
式の生成に関してはAutopilotが一歩リードしている印象を受けます。
ただし、複雑なプロンプトには未対応の部分があり、その点ではまだ改善の余地があります。
両者は、いずれも精度向上のためのポテンシャルを持っており、
今後のアップデートや改善によってさらに精度が高まることが期待されます。
5-3.フローの要約
Autopilotはアクティビティやシーケンス単位での要約が可能ですが、
Copilotはフロー全体の要約になります。
今回は、下記のフローを事前に作成し検証してみます。
■フロー
・ExcelのSheet1の2行目から行ループを開始する
・A列の値を読み込み、数値7桁であれば行全体をCSVファイルに追加する
・A列に空白セルが見つかるまで処理を繰り返す
【Autopilot】
■UiPath Studio Webのフロー
■要約結果
"Excel 範囲を読み取り、行を処理し、CSV に追加するためのシーケンスを実行"
短い概要としてシンプルに要約されました。
【Copilot】
■Power Automateのフロー
■要約結果
"フローはボタンを押すとトリガーされ、指定されたテーブルから行を取得し、特定のフィールドが特定の長さを持っているかをチェックし、そうであれば対応するアイテムを取得して、その内容を指定されたフォルダーにCSVファイルとして作成します。"
フロー全体が文章の形式で要約されました。
【所感】
Autopilotはフローの可読性の向上、Copilotは仕様書の作成に役立つ機能という印象でした。
用途が違うため単純な比較は難しいものの、
どちらも保守性の向上に役立つ機能となっております。
5-4.アクティビティ(アクション)の修正
Studio WebのAutopilotは式の修正が可能で、Copilotはアクションの修正が可能となっております。
ここでは、それぞれの違いを確認してみます。
【Autopilot】(式の修正)
■VB.NETの式を入力可能なアクティビティで、式のエラーを自動修正することができます。
例:数値型変数「int」 + ".xlsx" (数値と文字列を結合させようとしてエラー発生)
修正後(数値型変数を文字列型に変換し結合するように修正されます)
現時点では複雑な式には未対応ですが、
式の構文が間違っているケースや、設定値が不足しているケースなどでは有効です。
【Copilot】
■チャット形式で指定箇所のアクションの修正をすることができます。
今回は、「5-1.ワークフローの生成」で作成した
「気温を取得してメールとチャットを送信するフロー」で
3つの修正パターンを確認してみます。
①既存の設定値の修正
プロンプト例:天気予報の取得場所を日本語で神奈川県に修正し、単位を日本語でメートル法に修正
②空白の設定値の修正
プロンプト例:メールの件名と本文に日本語で熱中症の注意喚起を追加する
③使用するアクションの変更
プロンプト例:チャットをTeamsからSlackに変更
全て、意図した通りに修正されました。
【所感】
現時点でAutopilotは式の修正のみですが、
VB.NETにやや疎い人でも開発難易度が下がるという点は大きなメリットかと思います。
また、Copilotはアクティビティの細かい修正をチャット形式で指示できるため、
Power Automateの使い方に慣れていない人でも
開発をスムーズに進められる機能になっていると感じました。
一方で、Copilotでも式の修正は可能ですが、生成された式を手動で再修正する必要があるため、
この点はまだ実用レベルにはなっていないように思われます。
6.さいごに
いかがでしたでしょうか。
Autopilotは、フロー生成時に詳細条件を指定して全体の大枠を生成してから、
各アクティビティを個別に編集したり、
シーケンス単位で分割してフローを生成していくことがコンセプトとなっており、
Copilotは概要レベルのプロンプトからフローを生成し、
その後対話形式でフローにアクションを追加したり、
各アクションの設定値を修正したりしながら作成していくコンセプトとなっておりました。
まだ実用段階ではない部分もあるかもしれませんが、
今後もRPA分野でAI活用が進められていくと思われますので、
AIのさらなる進化に期待したいと思います。
他のおすすめ記事はこちら
著者紹介
植木 真