コラム 「RPAの気になる話」

WinActorで生成AI連携  ~シナリオひな型作成機能におけるプロンプト検証の実例と比較まとめ~【連載第一弾】

2025.05.27

WinActor ver7.5から生成AI(OpenAI、または、Azure OpenAI)と連携する機能が追加され、生成AIを利用してシナリオのひな型を作成できるようになりました。

今回はシナリオひな型作成機能を複数のパターンのプロンプトで試し、それぞれの実行結果(生成AIによって作成されたシナリオ)をまとめてみたので、以降3回のコラムに分けてお届けします。最終回では、結果を比較し考察したいと思います。

以下のような疑問を持っている方にお勧め

◇ プロンプトを工夫することでシナリオの内容はどのように変化するか
◇ 一般的に”効果的”とされるプロンプトはシナリオ生成においても効果的かどうか

※生成AI連携によるシナリオひな型作成機能は、あくまでシナリオのひな型(処理の大枠)を作成するための機能です。記事における検証は、生成結果のシナリオの完成度を高めることを目的としたものではありません。

連載のスケジュールは以下の通りです。
第1回  WinActorの生成AI連携機能でシナリオ作成してみた(今回)
第2回  プロンプトを2パターン試してみた
第3回  プロンプトを再実行してみた結果とこれまでのまとめ

 

WinActorの生成AI連携機能でシナリオ作成してみた

はじめに

シナリオひな型作成機能に興味はあるけれど「実際の利用料(消費される生成AIのトークン数を含む)の目算が立たない」として試せていない方や、DX推進やRPA利用ガイドラインを策定する立場で「本機能を有効化すべきかどうか」という点で機能の有用性について気になっている方もいらっしゃるのではないでしょうか。

1回は、実際に生成されたシナリオの全体像と、要所要所の処理を詳しく載せています。
実例を見て「思ったより完成度は高くないな」と感じるか、「想定以上の精度の高さだ」と感じるか―、各々の期待値によって、評価は大きく変わると思います。
今回生成されたシナリオの完成度に対する評価は読者の皆様に委ねますが、記事のおわりで述べている結論のとおり、初心者にとって本機能はシナリオ作成の初期段階で抱える問題の一部を解消し得る反面、効率的な開発の手段として使いこなすには技術的な(部品の用途やプロパティ設定などに関する)知識が必要、というのが現在の所感です。

今後、機能を試したり利用方針を検討したりする際に、ヒントとなれば幸いです。

本記事で扱うWinActorの生成AI連携機能について

WinActorの生成AI連携機能として、シナリオの中で生成AIを呼び出して応答を利用するサブシナリオも追加されましたが、これからご紹介するシナリオひな型作成機能はシナリオ新規作成時に使用する機能で、日本語で記述した業務手順を基に生成AIが大まかな処理の流れを自動で生成してくれるものです。

本記事で扱う生成AIについて

 

今回利用した生成AIの情報は以下のとおりです。
・生成AIAzure OpenAI
・モデル名:GPT-4o mini
・デプロイの種類:グローバル標準

 

モデルは、従来モデルと比較して低コストで利用できるGPT-4o-miniを選択しました。

事前準備

Azure OpenAIとWinActorを連携するには、Azure のアカウント作成後、リソースの作成とモデルのデプロイをし、Azure OpenAIAPIキーを取得する必要があります。

生成AI連携でシナリオひな型を作成してみた

次のような作業を自動化すると仮定して、まずはシナリオを生成してみます。

自動化したい作業

作業概要

Excelファイルに記載された社員1人分の交通費の情報を読み込んで、経費精算システムに使用日ごとに入力し全ての明細を追加した後、申請する。

作業手順

  1. Excelを開いてEdgeブラウザを起動し、経費精算システムの画面を開く。
  2. Excelのデータ(使用日・金額・交通機関・区間From・区間To・往復・訪問先・摘要)を読み込んで、経費精算システムに入力し、追加ボタンをクリックして明細を追加する。
  3. 全ての明細の追加が完了したら、申請ボタンをクリックする。
  4. Excelを保存しないで閉じる。

プロンプト

WinActorの[ファイル]>[新規作成]>[新規作成(生成AI利用)]からプロンプトの入力画面が起動します。
入力画面に記載した内容は以下のとおりです。

シナリオと同じフォルダにあるExcelファイル「経費申請データ.xlsx」を開く。
Edgeブラウザを起動し、経費精算システムの画面を開く。
ExcelファイルのA列の使用日とB列の金額、C列の往復、D列の交通機関、
E列の区間From、F列の区間To、G列の訪問先、H列の摘要の値を取得する。
取得した値を経費精算システムの「使用日」と「金額」、「区間From」、
「区間To」、「訪問先」、「摘要」の各欄に入力する。
取得した往復の値が〇の場合、経費精算システムの「往復」欄にチェックを入れる。
「交通機関」欄は、取得した値と同じラジオボタンを選択する。
追加ボタンをクリックして明細を追加する。
全ての明細の追加が完了したら、申請ボタンをクリックする。
Excelファイルを保存しないで閉じる。

生成されたシナリオ画像

【処理概要①】 Excelを開いて、経費精算システムのページを表示する

クリックして見る

【処理概要②】経費精算システムへ入力するデータをExcelから取得する (繰り返し処理:前半)

クリックして見る

【処理概要③】取得した値を経費精算システムの各項目へ入力し、明細を追加する。全ての明細の追加が完了するまで繰り返す(繰り返し処理:後半)

クリックして見る

【処理概要④】申請ボタンをクリックして、Excelとブラウザを閉じシナリオを終了する

クリックして見る

生成されたシナリオの結果まとめ

上記プロンプトによって生成されたシナリオの結果についてまとめたいと思います。

サマリ

処理の主要な要素について ◆作業手順に沿った制御構造でシナリオが生成された。また、大体において適切な操作部品が生成された(適切な部品数:47ノード/48ノード)

追加された部品の順番が正しく、メインとなる操作について適切な部品が生成されている

例①Excelの起動と終了

例②ブラウザの起動と終了

例③繰り返し処理内でのExcelの値の取得とブラウザへの値の入力、ボタン操作

条件に応じて値の入力処理が分かれる部分は、分岐が生成されている

画像はこちら

◆変数が用途別に正しく作成され設定された。

☑ブラウザ操作における各要素のXPathを格納する変数が生成された

画像はこちら

Excelから値を取得する部品においてセル位置を指定する変数がセルごとに追加された

例①A列から値を取得する部品に設定されているセル位置の変数名「A列のセル」

修正が必要な箇所について ◆プロパティ設定項目は同類の操作部品においてもバラツキがあり、未設定の部品は設定されている部品に合わせるか、全て設定し直すことになる。また、結果を格納する変数や条件など、設定必須の項目について未設定の状態のものが多々ある。

☑Excel関連の部品において、Excelファイル名が設定されている部品と設定されていない部品がある

ファイル名が設定されている

ファイル名が設定されていない

☑Excelから取得した値を格納する変数が設定されていない(※変数自体は生成され「変数一覧」に存在する)

画像はこちら

繰り返しや分岐は条件式が設定されていない

画像はこちら

◆適切でない部品も生成されており、正しいか否かの確認と対応は必要となる。

ラジオボタンを選択する操作にて、ラジオボタンを選択できない「リスト選択」が設定されており、「クリック」への差し替えが必要

画像はこちら

◆処理の説明として付与される名称が、部品とその所属グループの間で一致しない箇所がある(※今回のケースにおいて生成された部品そのものは適切であった)

ブラウザ操作の部品を囲うグループの名称が、Excel操作に関する内容になっている

画像はこちら

その他 ◆プロンプトで指示していなくても適切な部品(処理)が追加された箇所がある。

☑プロンプトでブラウザクローズに関する記述はしていないが、部品が生成された

画像はこちら

トークン数 合計:1,819トークン

内訳
Processed Prompt Tokens(入力トークン数):859
Generated Completion Tokens(出力トークン数):960

料金
(見積ベース)
合計:0.11円

内訳
入力:0.859(トークン数)*0.0226円(/1000トークン) = 0.02円
出力:0.960(トークン数)*0.0906円(/1000トークン) = 0.09円

 

終わりに

WinActorの生成AI連携におけるシナリオひな型作成機能についてご紹介し、実際にプロンプトを実行してみました。今回実行したプロンプトは処理の制御構造が問題なく生成され、無駄な処理がなく、変数もほぼ過不足なく追加されました。

本機能を使うことで、初心者はシナリオ開発の初期段階におけるハードルを下げることができます。

【初心者のよくある問題】

  • WinActorで行いたい操作(手作業手順)をどのような部品や処理(部品の組み合わせ)で実現できるか見当がつかない
  • どこで繰り返し、どこで分岐させる、といった全体の処理の流れを考えて組み立てることができない

開発に慣れていないユーザは上記のような問題により、0から処理を作成する事に苦手意識を持つ事がありますが、作業手順から大体の処理の大枠を生成することができる本機能は、まさに2つ目の問題に対して有効な手段と言えそうです。一方、不適切な部品やプロパティ設定も生成され、ユーザが正しくない処理を特定し修正することを前提とした機能である点を踏まえると、部品の用途や使い方について十分な知識がない状態で本機能をアテにしてしまうと、思うように開発が進まなくなる(部品の差し替えや処理/プロパティ設定の変更を必要とする箇所を特定し対応する作業で時間を要する)可能性があります。

初心者が1つ目の問題をカバーする目的で本機能を利用するのは得策とは言えませんが、裏を返せば、そのあたりの知識が増えてきてから本機能を活用すれば、シナリオ作成をぐんと効率化できそうです。

初心者の方は、処理の全体の流れなどマクロな観点の作成においては本機能を活用し、全体の中のミクロな処理のつくり込みは従来の自動記録機能を用いる、といったように機能の使い分けをされると良いのではないでしょうか。

1回の「WinActorの生成AI連携機能でシナリオ作成してみた」についてはここまで。第2回「プロンプトを2パターン試してみた」では、プロンプトを2回変えて実行し結果を比較してみます。

本記事のカテゴリ :RPA技術コラム

ジャンル:RPA開発

PickUP

本記事に関連するCACのサービスやお役立ち情報をご紹介します。

RPA技術レポート無料ダウンロード

CAC RPAワンストップサービスの</br>ご紹介
CAC RPAワンストップサービスの
ご紹介
ダウンロード ダウンロード
RPA研修 自社開発イネーブルメントプログラム
RPA研修 自社開発イネーブルメントプログラム
ダウンロード ダウンロード
RPA製品比較表
RPA製品比較表
ダウンロード ダウンロード