RPAの誤解とRPA導入前に大事なこと

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

みなさんこんにちは。楽して働きたい人です。

名前からしてRPA大好きな奴なんだろうなぁと思われがちですが……。近年、唐突に現れて、筆者も(仕事柄)度々展示会で目にしてパンフレットも貰っていますが、そもそも、これはどうなの?

RPAはAIとはまるで関係がない

まず、展示会で出展者と話してみて感じたのは、(会社の方針なのか、単なる理解不足なのかは判然としませんが)RPAなる用語が流行り始めた当時、AIが流行っていたこともあり、まるでRPA = AIがホワイトカラーの業務を一部代行するというような誤解をしたままの人が多かったことにまず驚きました。それも、製品を勧めている出展者の説明がまるでAIが行うかのように語っている業者さんが多かったように思います。

同じ傾向は、チャットボットシステムにも見られました。こちらも、AIベース(というよりは、検索エンジンベースというべきでしょうか)で動作するものももちろんありますが、基本的にはルールベースで動作する……、プログラミング的に言えば、シナリオファイルを元に、ifやswitch群を生成するようなものと言えます。

もうちょっと下世話な(しかし大体あっている)言い方をするならば、15年程前に流行していた美少女ゲームの「シナリオスクリプト」に近いです。

ここ1年で参加した展示会では、上記のような誤解をした説明はぐっと減ったように感じていますが、それは販売側の話であり、一般消費者や企業、果てはITコンサルタントまで誤解している人はいるのではないでしょうか?

RPAの導入前に

もちろん、RPAのプロセスの一部にAIを導入することは可能です(後述します)。とはいえ、現在のAI技術ではまだ、一連の業務をAIに任せるというのは難しい状態と言えます。RPAと同じように、一連の業務の一部を切り出して実行させるというイメージが近いでしょうか。例を挙げるのであれば、「自動運転で目的地を車に判断させるのはまだ難しい(外部からの入力が必要)」といった感じになります。

さて、RPAの導入前に考えなければならないことは大きく分けて以下の2つがあると考えます。

  1. 代替ツールはないか?
  2. 業務は充分に標準化されているか?

順に見て行きたいと思います。

代替ツールはないか?

これは、RPAソリューションの代替という意味ではありません。RPAによる自動化を行うツールに関しての話です。

例えば、古くからの「PCにインストールするタイプの会計ソフト」について考えて見ましょう。このツールについて、ECサイトやレジシステムから出力されたデータをRPAを用いて入力するとします。

ただ、RPAは言ってしまえば「簡単に使えるようにした高機能マクロツール」であって、「ユーザーの入力をシミュレートして動作するツール」に他なりません(だからこそ高い汎用性を誇っています)。

ですので、基本的にRPAが動作しているPCはRPAが動作している間、ユーザーによる操作が不能となります。これが、RPAを動作させる専用のPCや仮想マシン(VMWareなど)を用意するのであればいいですが……、恐らくそこまですることは多くないでしょう。

そして、PCに直接触る必要がないときにRPAを動作させる、という業務ルールを策定するなどして対応しても、何事にも例外はつきもので、急ぎでそのPCを触らなければならないという状況が発生したり、PC所有者のスケジュールが拘束されるなどしたりして、弊害が発生します。

まあ、これは実体験なのですが(とはいえ、王手RPAではなくUWSC Proを使用してexe化した事例です)。

インポート機能を使用する

こういった場合に、まず考えなければならないのは、まず会計ソフト自体に「CSVファイルやExcelファイルなどからインポートする機能がついていないか」です。ついていた場合、それを利用するのが最も費用対効果が高いと言えます。

ただ、CSVファイルやExcelファイルでのインポートの場合、通常は(RDBMSでいう)1テーブルに対し1ファイルであることが多いため、売上データなどの場合ユーザーがファイルを適切に加工してインポートする必要がある場合があります。この場合は、適切なファイルの加工をユーザーが行ってくれるか? という点で、担当部署との折衝が必要になります。

APIを使用できるソフトに乗り換える

もう1点考えられるのが、インストールタイプ(オンプレミス型)のソフトウェアではなく、クラウド型のソフトウェアに乗り換える方法です。

多くのクラウド型ソフトウェアでは、(Web)APIと呼ばれる、他のソフトウェアと連携することを目的とした、ソフトウェア向けのインターフェースが用意されています。特に近年では、REST APIという統一的なルールに則った実装が標準的なので外注に出すにしてもかなり開発にかかるコストを圧縮することができるようになりました。

また、この方法のメリットはサービスの間に自社用のシステムを挟むことで、1:1の連携だけではなく1:多や多:多のシステム連携が容易になることです。

住所録のデータから地図を検索する……などという作業は、余程のことがなければRPAに頼るよりはAPIを利用した方がいいでしょう。

ソフトウェア標準のマクロ・拡張機能を利用する

会計ソフトなどには通常ついていないかと思いますが、Microsoft社のOfficeシリーズ、WordやExcelにはVBAというマクロ機能が標準に搭載されています(Google 製品の場合はGoogle App Script)。

また、クリエイティブツールの標準であるAdobe製品には、全ての製品にではありませんが、簡易的なマクロ機能である「アクション」と、もっと複雑な内容をJavascriptで記述できる仕組みが用意されています。

これらの方法では、他ツールとの連携は行えない分、クリエイティブな内容を自動化する、アプリケーション内部からしか取得が難しい情報を利用できる、といった利点があります。

業務は充分に標準化されているか?

大きな課題の2点目は業務が充分に標準化・マニュアル化されているか、という課題です。

RPAを導入しようという作業は往々にして定型的であり、繰り返されるルーチンワークですが、だからこそ充分に業務の標準化がされていない場合があります。もっとも悪い状況は、そのルーチンワークの生産性が悪い理由が、標準化されていないことにある場合です。

「そんなことはなかなかない」と思われる向きもあると思います。入力値の細かなエラーや例外への対応など、各自で対応して共有されないなんていう状況といえばイメージ出来る方も多くいると思います。

こういった、業務内容が標準化されていない状態ではRPAを導入したとしても、「想定されていないエラーの発生により停止する」「異常値が入力されてしまう」といった弊害が容易に発生します。

また、RPAのシナリオ作成者への負担が増大し、とても費用対効果にあわないことになる、といった問題が発生します。

そのため、まずはRPAを導入するまえに標準化、マニュアル化を実施し、更にPDCAサイクルを回すなどして発生する例外もマニュアルに組み入れてから導入した方が無駄なコストもなく導入が可能になります。

もちろん、標準化のPDCAサイクルを回す段階で、RPAを導入する必要がないくらいに業務を効率的にすることが可能になる場合もあります。

AIとの連携

ではRPAはAIと現在は完全に無関係と言えるでしょうか?

実のところ、RPAからAI……ここでは機械学習、強化学習、深層学習を行ったソフトウェアとします……を使用する形であればAIを利用したRPAは実現可能です。AIの学習データを出力するというのは、少し連携とは異なる気がするので、入力(起動)と条件判断による分岐としてみましょう。

AIから起動するRPAの活用

こちらはAIによる判断でRPAツールが起動するとします。

例としては、音声入力によりRPAツールを動作させたり、各種センサーの入力値から起動条件を判断する……といったものでしょうか。面白そうではありますが、なかなかRPAだからとはならないと思います(不可能というよりは、先に述べたREST APIなどを活用した方が実用的です)。

RPAの条件判断にAIを活用する

現実的なのはこちらでしょうか。RPA等で利用される情報のひとつに、画面の表示情報があります。

通常のWindowsソフトであれば、Class IDなどが使用できますが、伝統的なWindows Softwareと異なり、現代のソフトウェアでは様々なミドルウェアが利用されたり、ブラウザベースで動作したりで、ClassIDベースでの判断が難しい(不可能ではないが調査に時間がかかりすぎるなど)ことが増えて来ました。

そうした場合に、最も手軽に活用できるのが画面の表示情報、つまり一般ユーザーと同じ「目」を利用しての条件判断となります。

しかし、これも「同一のOS, 同一のリビジョン、同一のハードウェア」という条件であれば上手く行くことも多いですが、画面の大きさに応じた拡大・縮小(ディスプレイやノートPCといったハードウェアの差異)、フォントのレンダリング方式の違い(OSによる差異)などで容易に不具合を起こします。また、「何らかの原因でウィンドウが一部隠されてしまう」「似たような表示内容がある」なども誤動作の原因となります。

そこで、この「画像による判断」を深層学習を行ったAIに委託することで精度を高めることが可能になります。とくに、画像処理については先ほども例に挙げた自動運転技術のため、非常に研究が進んでいます。そういった研究成果をライブラリとして活用するなどすれば、充分にRPAの機能を拡張することができるでしょう。

RPAの代替ツール

しかし、そうはいっても筆者は高価なRPAツールの導入には賛成できません。というのも、現在利用できる各種無料ツールで一定以上の自動化は可能だからです。

もちろん、学習は相応に必要ですが、それはRPAを導入しても自分たちでシナリオファイル(スクリプトファイル)を作成する以上は絶対について回ります。であれば、学習のためのリソースや拡張機能にアクセスしやすい既存の有名ツールを利用するのがいいでしょう。

筆者のお勧めは下記の記事でも紹介している、Pulover’s Macro Creatorです。が、現在公式サイトのドメインが失効してしまっているようです。GitHubページはダウンしていないようなので、そちらからの入手方法を後日ご紹介します(UWSCもお勧めなのですが、現在シリアルが購入できないので、こちらも仕事では使いづらいです…)!

お手軽、最強自動化ツール【Pulover’s Macro Creator】を使ってみた

2015年6月16日

おわりに

当blogでマクロツールを取り上げたころに、まさかRPAのブームが始まるとは筆者としては思ってもいませんでした……。

とはいえ、やはりこういったツールを頼るのは「最後の手段」だと筆者は考えています。自動化しなければならないルーチンワークについては、それに関連したソフト内で自動化するのがベストであり、そうでないソフトは淘汰されていく宿命にあると考えます。

もちろん、業務の上ではなかなか予算がおりないなどの問題もありますが、RPAにしろマクロツールにしろ、無理な延命を続けて行くといざ本当にどうしようもなくなった、あるいは次のイノベーションに対応できなくなった、といった場合に打つ手がなくなる可能性があります。

そうならないように、「この楽をする方法は本当に、将来も楽をさせてくれるか?」を忘れずに行きたいですね。

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

最新の記事