ホワイトカラー業務を自動化出来ると話題の RPA(Robotic Process Automation)ですが、その利点や導入効果などについては様々なところで紹介されています。
ここでは実際にRPAシナリオを作成する立場で日頃ぶつかっている問題、不得意な事、出来ないと考えておいたほうがいいことなどをご紹介しようと思います。
RPAの限界(出来ない業務)
ここでは、RPAの機能上ほぼどのRPAツールでも出来ないであろうと考えられること、やり方はあるのかも知れませんが少なくとも我々はチャレンジした末に、未だ攻略出来ていない点を正直にお伝えします。(今後解決されるかもしれません)
地図などの複雑な文字認識
これは本当に難しいと考えられます。その会社の依頼は、「ゼンリン地図の数十年前から現在までの手書き地図を読み、地番毎に会社名、地名、苗字を抜き出して整理し特定の文字が入った地図上の箇所を特定する」と言うものでした。
人がその地図を見れば文字が小さいながらも、当然何が書いてあるのか読めますが、RPAで文字を抽出するのはかなり困難でした。
- 土地区画や道路の境界線が文字にかぶっている
- 右から書いた文字と左から書いた文字、縦書き、横書きが混在する
- 文字の字体が古かったり、人名など特殊なものがある
など様々な問題があり、今後Aiによる画像認識の研究が進めば出来るようになるのかも知れませんが、恐らく現在のところ難しいと考えておいたほうが良いかと思います。これが出来るようになったら不動産業者や駐車場運営会社など多くの需要があると思われます。
現在は人が全部ルーペで拡大して目で読んでいるそうです。
CAD画面などの認識
お絵描きソフトやフォトショップなどの画像を扱うソフトも同様なのですが、そのソフトで作成された図面・画像の中の特定の線や領域、図面で言えば図面の1枚1枚をRPAで認識することは基本的にできないと考えておくべきです。
RPAには画像認識の機能があるので、図面に特定の図番や印がある画面上の位置から決まった領域を選択するような操作は可能ですが、そのような印がない図面などは基本的に画像マッチングさせる特定画像がないため不可能となります。
そもそものRPAがアプリケーションを認識する仕組みはこちらでご紹介していますので、参考にしてみて下さい。
CADソフト等のファイルを操作することは問題ありませんので、特定のフォルダに入っているCAD図面をプリンターに送ったり、メールに添付して送信するなどは当然可能です。
高度な人の判断を要する処理フロー
こちらも、上でご紹介しているRPAの仕組みをご理解頂いていれば当然のことと考えられるかと思いますが、現段階のRPAは「ルールエンジン」と言われる予め定義したルールに従って繰り返し処理を自動化するロボットですので、高度な判断はできません。
今後、RPAはAIの機能を取込むことで柔軟性を手に入れ、例外処理が多い業務や、多くの選択オプションの中から最終結果が最適になる目先の1手を選択できるようになるものと考えられます。
これは、この1手が最終的に勝利にどの程度影響を与えたかを数値化して、その1手を決めていく動き、囲碁や将棋、チェスのプロにAIが勝利するのと同じ考え方です。
バックグランド実行
唯一、完全なバックグランドでのRPAシナリオ実行が出来るとしているのは、RPAテクノロジーズ社のサーバー型RPAで、1台のサーバーで100台以上のロボットをバックグランド実行可能としています。
しかし、基本的にはRPAの仕組み上、今のところ出来ないと考えておいたほうが良いかと思います。(バックグランド実行の機能を開発はされているようですが)従って、RPAソフトを動かすパソコンはRPAに占有されると考えておいたほうが良いかと思います。
タッチパネル操作
PCのタッチパネルを操作して何かの業務をしているような場合は、タッチパネルと同様の操作をマウスやキーボードで可能だと思われますので問題ないかと思います。
しかし、例えば工場設備の制御盤の盤面に取り付けられたタッチパネルの操作を自動化しようとすると、たとえ内部はWindowsPCだったとしても難しいと考えておいたほうが良いかと思います。
RPAが向かない業務
ここでは、完全にできないとは言い切れないが現在のRPAツールではあまり得意ではない事をご紹介しています。
Windows以外のソフトから移植されたソフト
上記にも挙げたCADソフトなどにも多いのですが、かつて今のようにパソコンの能力が高くなく、高価だった時に開発されたエンジニア向けのEWS(エンジニアリング・ワークステーション)と言われるコンピュータ向けに開発されたようなソフトウエアをWindowsに移植したソフトが多く存在します。
これらのソフトウエアはUNIXと言われるOSで動作しますが、このUNIXアプリケーションや今ではMacのソフトなどはWindowsのオペレーティングシステム上でそのEWSを仮想的に動作させる構造となっているものがあります。
それらのソフトウエアの各機能にWindowsのショートカットキーが割り当てられていれば、そのショートカットキー(キーボード操作)でRPAによる自動化ができるのですが、それがない場合にRPAでこれらのソフト操作をしようとすると、どうしても画像認識か座標を使う事になってしまいます。
結果的にRPAで自動化が出来たとしても、ウインドウの位置や大きさを変えただけで動かなくなる結構不安定なものとなってしまいます。
メインフレーム・Macの操作
メインフレーム(IBMなどの大型コンピュータ)やMacなどの操作も工夫が必要な部類です。皆さんも見られた事があるかと思いますが、コマンドプロンプトと言われる黒いウインドウに文字(コマンド)とその指示結果が上に流れていく画面を使って、Windowsパソコンからリモート操作することになるかと思います。
現在となっては、メインフレームやミニコン等を使て日常業務を行っている方は少ないかとは思いますが、この操作をRPAで自動化するのはちょっと違うのかな、と個人的には思います。なぜなら、それらのコンピュータのOSには元々シェルと言われる操作を自動化する機能が備わっており、ある意味RPAよりも高機能です。
その大型コンピュータに閉じた操作の自動化はシェルスクリプトなどの機能で組んでおいて、抽出したデータを元に、それらのコンピュータとWindowsパソコンのアプリケーションをつなぐ部分をRPAで自動化すべきです。
頻繁にデザイン変更されるWeb画面
自社ではコントロール出来ない外部組織が管理・運営しているWebシステム等から情報を定期的に収集する機能をRPAが担当することが多くあります。官公庁のサイトのように殆ど変更されないようなWeb画面であればそれほど気にする必要もありませんが、外部のECサイトなどは頻繁にデザインや機能が変更になったりする場合があります。
自社商品を外部ECサイト経由で販売していて、自社商品の価格と同様の商品の価格を抽出して比較したり、在庫の数量を確認して準備したりするような場合です。これらの業務はたとえ単価が安かったとしてもその会社にとっては非常に重要な業務であると言えるかと思いますが、その委託先の外部サイトのデザイン変更は自社では何とも出来ない部分です。
この様に頻繁に変更される外部のWebサイトや、自社がコントロールできない客先とのEDI取引フォーマットなどはRPAシナリオのメンテナンスが頻繁に発生することを覚悟しておく必要があります。
PDFファイルを読む
これも意外に思われるかも知れませんが、そもそも「PDFファイルは改変や文字列コピーをやり難くするためのツール」なのですから、そこから文字列を読もうとするとひと工夫が必要になります。
当然、Excel や Word などでまとめた内容をPDFファイルとして保存する事は問題なく可能です。
画面構成が複雑なアプリ
これも出来ない訳ではありませんが、例えば下記のような特徴を複数持つ画面構成が複雑なアプリケーションを自動化するような場合は、慣れと言うか工夫が必要になったりもします。
- 画面が縦横に長く、操作対象の箇所に行くのに何回もスクロールが必要
- 画面が多重に入れ子(ネスト)になっていて、何かの操作をするとポップアップが複雑に出る
- 画面上に細かなコントロールが多数並び、見た目に殆ど同じに見える
- 例えば、マスターデータに入力値が無い場合に画面に項目自体が表示されず、画面構成が動的に変わる
- 前の操作によって画面表示が変わってしまう
等々、この辺りもRPAが操作対象を認識する仕組みをご理解頂ければ納得できるかと思います。
複雑な判断ロジックが入る業務
RPAは基本的に教えた通りの単純作業を繰り返す単機能ロボットです。混在している様々なExcelフォーマットによって処理内容を変えたり、多くの取引相手国の規制に合わせて出荷時に添付するインボイスのフォームを変えたりとゆうような「複雑な判断」を人がやっている業務には向きません。
この様な場合は個々の単純作業ロボットに分解して、判断ロジック部分のみ別に実装することをお勧めします。
RPAを使う上で注意が必要な点
RPAの実行速度は環境に依存する
◆ PCの能力に依存
RPAシナリオはあくまで業務ユーザーが自分のPCで行っている繰り返し操作を代わりにRPAロボが実行するものです。従って、人が行っているPC繰り返し操作や判断などの部分はRPAによって相当高速化出来ます。
結局、アプリケーション動作も含めてRPAシナリオを実行させるPCの能力に大きく依存していると言えます。
◆ ネットワーク環境に依存
また、社内ネットワークから外部(インターネット)に出る部分にある、ファイアーウォール、ネットワークスイッチ、ルーターなどのネットワーク機器のパフォーマンスにも影響を受けるのは当然です。
社内ネットワークであっても、例えば月曜の午前中や昼休み時間になると極端に速度が落ちるような会社をよく見かけます。この様な会社の場合、当然ネットワークの応答速度がRPAによって高速化されるわけではありません。
場合によっては、PCにインストールされているセキュリティーソフトが邪魔をして、人が操作するよりも動作が遅くなってしまう場合などもあり、調整が必要になったりもしますので、
作成したRPAシナリオは、最終的には実行するPC、ネットワーク環境でのテストが必要となります
RPAロボと人は同時にPC操作できない
上でも書きましたが、RPAロボが人の代わりにPCで作業をしてくれるソフトウエアです。あたかも人が操作しているようにキーボードやマウス操作をRPAロボが行いますので、二人の人が同時にPC操作を出来ないように、人とRPAロボが同時にPCを操作することはできません。
その他に、RPAの機能的な限界・できないことと言うのではありませんが、RPAを使う場合のデメリットに関してはこちらでご紹介しています。
まとめ
RPAソフトウエアは2017年位から急激に市場が拡大し、普及期に入ったと言えるかと思いますが、どんなツールでも万能なものはありません。RPAさえ導入すれば全ての駄作業が自動化されるようなバラ色の幻想は捨て、その得意な事、不得意な事、出来ない事などの特性をよく知った上で、どう使いこなすかを考えるべきです。
RPAが得意な事や、その導入効果・目的などは多くの情報がありますので、ここではあまり深く書きませんが、やはり、1時間、2時間残業して頑張れば手作業でなんとかなるPC雑務を自動化出来ると言う点につきるのではないかと思います。
そして、業務効率化以外のRPAの導入効果・目的に関してはこちらでご紹介していますので参照ください。
また、RPAソフトウエアは現時点で発展途上のツールだということを理解しておく必要もあります。普及期に入り、RPAツールのベンダーも機能強化に力を入れていますので、そう遠くない将来には多くの基幹システムやブラウザー、メジャーアプリケーションを自動化する機能が追加されてくるものと思われます。
RPAはAI機械学習による自動化に向かう過渡的な部分が多分にあるものです。将来的には現在「ルールエンジン」によって予め定義したルール通りにしか動作できないRPAロボがAIの頭脳を持ち、AIの強化学習、CNNなどを応用することで、囲碁や将棋の問題を解くように先を見通し柔軟に意思決定できるような方向に進むものと考えられます。