RPAはどんなタイプがあるのか、各々が向いているのはどんな仕事か
最近RPAという言葉が聞かれるようになってきました。
PCなどを使っておこなう事務処理は作業自体は単純でもその件数が膨大なものが多いものが多々あります。
こうした単純作業はミスが多発するなど人には向いていません。
そこでこれらをソフトウェアによって自動化するのがRPAです。
ですが定型作業の自動化ならマクロなどを使っても可能なはずです。
RPAを導入するのはなぜでしょうか。
RPAとはどんなもの
RPAはRobotic Process Automation(ロボットによる業務自動化)の事です。
ロボットとはいってもこれはソフトウェアの事です。
これまでPC上で行っていた人間がおこなってきた事務作業をソフトウェアを使って自動化します。
ソフトウェアロボットに事務作業を記憶させたり処理手順を教える(設定する)事で人間の代わりに業務をおこなわせます。
RPAが有効なのは作業手順は単純だが処理する件数が大量にあるものです。
このような場合、人間ではミスがおこることが避けられません。
RPAを用いると正確で迅速に作業を行う事ができ、今まで単純作業に使っていた人材を他の仕事に振り替える事ができ利点が大きいです。
マクロとの違い
作業の自動化を簡単に行う方法としてマクロを使う事があります。
RPAはマクロと異なり複数のアプリケーションを連携して動かす事ができます。
また自動化する業務によりますがRPAの場合はプログラミングの知識を必要としません。
マクロの場合はアプリケーション開発用の言語を扱うよりは容易ですがそれでも多少プログラムを組む必要があります。
Excel等のマクロにおいては処理を記録する機能がありこれを使えばプログラムする必要は全くありませんが自動化処理は限られます。
また自動記録した処理をカスタマイズするにはプログラムの知識が必要となります。
RPAの場合も作業が複雑な場合などではプログラムに関する知識が必要となりますが、プログラムすることなく作業自動化できる範囲はマクロより広範囲になります。
RPAの利点から考えて自動化する作業が多数のアプリケーションを連携させるようなものならRPAが向いていますが、単一のアプリケーションを使う場合また特に処理が単純で変更がほとんどないような場合はマクロの記録機能などを使えばとても簡単に済むので、このような場合ならマクロを使うのがおすすめです。
RPAは確かに便利ですが状況によってはマクロの方が楽でコストもかかりません。
状況をよく見てどちらを使うか判断しましょう。
RPAとAIの違い
RPAに入っているロボットという言葉や作業の自動化からRPAとはAIを使って作業自動化を行うものというイメージが浮かびますが、RPAはAIと無関係ではありませんが必ずしもAIを利用するわけではありません。
RPAは人間が設定したルールや作業手順に則って決められた作業を行うものです。
どのように作業をおこなうか、どんな条件の時どのような処理をおこなうのか等は人がすべて設定・調整する必要があります。
これらをRPAが自分で行うわけでもなければ、想定外の事態が発生した時に自ら判断して対処するなどの機能は持っていません。
これに対してAIは大量のデータや情報を自ら分析・判断します。
また学習機能を持ち、これによって分析・判断力を向上させる事が可能です。
ただしAIとRPAは全く無関係というわけではありません。
上で述べたRPAは狭義の意味でのRPAで広義のRPAの第一段階とされています。
広義のRPA
RPAには三つの段階・クラスがあるとされています。
第一段階が狭義のRPAでこれは単純作業の自動化をおこなうもので、これにはAIは必要ありません。
第二クラスはEnhanced Process Automationとよばれ大量のデータを処理してそれを判断・分析します。
この判断や分析において機械学習やAIが導入される事になります。
更に第三クラスはCognitive Automationとよばれデータの分析にとどまらず新しい選択肢の提案などより高度な判断をおこないます。
このように広義のRPAではAIの機能が使われる事になりますが現在使われているRPAツールの多くは狭義のRPAの段階でこれらはAIとはあまり関係ないと言えます。
RPAの仕組み
実際に作業を自動化する手法はいくつかの要素に分けられます。
RPAではこれらを組み合わせて自動化を行っています。
様々な業務の自動化を行う手法としては以下のようなものが知られています。
- ルールベース
- マクロ
- スクリプト
- API
まずルールベースは業務の手順や条件によって処理を分ける方法をルールとして登録するものです。
これらの設定や調節はRPAが勝手にやってくれるわけではないので人間がおこなう必要があります。
マクロはプログラムの複数の命令を実行順に並べたものです。
ExcelやWordではVBAというプログラミング言語を使って決まった手順の作業を自動化する事が出来ますが、それがマクロの例です。
次にスクリプトですがアプリケーション開発のための本格的なプログラミング言語に比べると簡単なプログラムの事をいいます。
各種の命令など覚えやすく簡単な構造になっているのが特長でマクロ等の作成や特定のアプリケーションを動作させる記述などが可能で決まった手順の自動化が出来ます。
最後のAPIとはプログラム言語の機能やそれが管理するデータを外部から他のプログラムで呼び出して利用するための手続きを定めた物です。
単純な自動化はマクロやスクリプトで可能ですが、それらだけでは難しい処理を行う時APIを使用する事になります。
テンプレート型のRPA
この型のRPAはルールベース、マクロ、スクリプトによる処理をGUIなどを使って簡単に設定できるようにしたものです。
マクロやスクリプトがプログラミング言語として簡単とは言っても、それなりに覚える事はあります。
またこれらを使える人を養成するなり他から雇うなりする必要があるわけで、その分のコストがかかります。
RPAを発売・開発しているツールベンダーはこれらの処理を簡単にできるユーザーインターフェース(UI)を独自に開発して提供しています。
簡単な作業についてはExcelのマクロのように作業をそのまま記録したり最初からRPAに設定されている定型の作業・動作を並べたり画面上でそれらをつなげるなどで作成できるようになっています。
もう少し複雑な作業をおこなうためのカスタマイズについてはそれぞれのベンダーが独自に開発した簡易プログラミング言語を使って行います。
どこまで簡単に自動化の設定ができるか、カスタマイズをどれくらい簡単に出来るかが提供されるRPAの差別化につながります。
このUI部分がプログラムする事なく作業の自動化が出来る部分なのでRPAの人気を決める部分といえます。
開発型のRPA
テンプレート型RPAは簡単に設定できる点が人気ですが簡単さを追求しすぎると、より複雑な作業を自動化するのが難しくなります。
その部分を補うため汎用プログラミング言語のAPIを使って作業の自動化を設定するのが開発型RPAです。
Ruby、PHPなどのスクリプト言語やJAVA、C#などのAPIを利用して作業自動化をおこなっています。
おすすめのRPA型は
テンプレート型のRPAは決まった型の業務が多い所にむいています。
扱う業務が多彩でまた顧客からの要望で作業の手順の変更が多いところだとテンプレート型RPAはかえって運用が難しくコストが逆にかかる事になります。
そのような業務がおおいところは開発型APIの導入がおすすめです。
まとめ
RPAはマクロと異なり多数のアプリケーションを連携した操作が可能です。
また自動化できる範囲がマクロに比べて広範囲に及びます。
マクロもRPAもプログラミングをすることで適用範囲を増やす事は可能ですがプログラムなしで済む範囲はRPAの方が広く誰でも使える点で有利です。
RPAにはテンプレート型と開発型があり定型処理が大量に必要な所ではテンプレート型、定型処理に変更を加える必要の多いところでは開発型導入が有利です。