RPAはなぜ不安定なのか。その原因と対策とは
RPA(ロボティック・プロセス・オートメーション)はパソコン操作を自動化するソフトウェアのことで、パソコンで人が繰り返し行うキーボードやマウス操作を代行してくれる。RPAを活用することで、付加価値の低いルーチンワークから解放され、ミスも減り、人は本来やるべきより高度な仕事にシフトできるとして、RPAの導入企業が増加している。一方、従来の情報システムとは違い、動作が不安定であるため導入には慎重な態度をとる企業もある。
RPAは不安定なのか?
RPAが不安定とはどういうことか。それは途中で処理が中断する。または、思うような動きにならないことである。RPAはパソコン操作を自動化してくれるソフトウェアであるにも関わらず、処理が意図しない動き、中断などしてしまうと、業務が止まってしまい、大きな問題になる可能性もある。それではRPAが不安定になる原因は何か。
RPAが不安定になり、思うように動かない原因
(1)画面上の項目の認識に失敗する
ブラウザ画面、Windowsアプリ画面のいずれにおいても、項目の認識に失敗し、処理が止まる場合がある。これは、項目の認識を画像で判断する場合に多い。画面の一部(項目名の部分など)をあらかじめ画像として登録しておき、画面上のどの場所に入力項目や選択ボタンがあるかを認識する方法である。
たとえば登録した画像(図1の赤枠部分)の10ドット右をフォーカスし、必要な情報を入力するケースである。
このような画像認識をする場合、画面の解像度は変更せず、表示するウィンドウサイズも一定(あるいは最大化)にしなければならない。画面の状態が画像の認識率に大きく影響するからだ。
図1 画像を認識して項目を特定する例:「ログオンID」という部分の画像を認識し、
その右が入力エリアであると判断する
しかし、この方法が有効なのは画面の要素やデザインが変わらないというのが大前提である。表示される内容によって、認識した画像と対象となる項目の位置関係が変わる場合がよくある。ブラウザを利用するWebシステムに多い。
(2)画面表示と入力やクリックのタイミングのズレ
人が操作する場合は、当然、操作したい画面が立ち上がってから操作を開始する。ところがRPAは、画面が表示(またはWebサイトにアクセス)したと思い込んで、操作をしてしまう場合がある。まるでブラインドタッチのように画面を見ずに操作を進めてしまうケースだ。この原因として多いのが、ザーバやネットワークの負荷など、何らかの原因で画面の表示に時間がかかる場合である。正しく画面が表されたことを確認する必要がある。
(3)想定外のシナリオ
あらかじめ想定していなかったシナリオが発生し、その例外処理に対応できなかった問題である。条件分岐が多い場合、どこまでRPAで自動化するのかの見極めも重要となる。その上でどうしても想定外のシナリオが発生することも考慮し、エラー時の処理もシナリオにしておくとよいだろう。
では、どうすれば安定してRPAで業務を自動化することができるのか
(1)の画面遷移の安定性を高めるには、処理する項目の識別を画像認識に頼らないことである。当社のRPA製品「Autoブラウザ名人」は、Internet ExplorerでHTMLの構造やタグ情報を分析し、全ての項目IDを取得している。そして入力やクリックする項目をIDで識別して処理するため、自動化が安定する。特にWebサイトは表示される画面デザインがその都度変化しやすいため、HTMLのタグ情報による識別が極めて有効な手段といえよう。
(2)の画面表示と入力、クリックの時間のズレについては、やはり正しく画面が表示されたかどうかのチェックが必要である。ウィンドウタイトルを取得し、対象のタイトルかどうかの確認をした上で、次のステップに進める必要がある。ウィンドウを起動してから一定時間を待つという選択も考えられる。
(3)の想定外のシナリオの対応については、事前によく業務プロセスを洗い出しておく必要があるだろう。取引先のWebEDIサイトから受注データをダウンロードする場合、各種条件を設定したあとに検索結果が表示される。通常はダウンロードするボタンが表示され、それを押せばよい。しかし受注データがなくてダウンロードボタンが表示されていない場合や、複数のボタンが表示される場合がある。または何らかの理由で検索結果のページがエラーの場合やいつになってもページが表示されないこともある。このように考えられるシナリオをあらかじめ想定し、どのように操作させるかを設定しておかないとエラーで止まることになる。
このようにRPAが不安定になるケースが他にもある。エラーになることもあると想定しておくのが、RPAとうまく付き合う方法ではないだろうか。