マクロやAIとの違いとは?RPAの概要をご説明
RPAのお話をする前に、まずは混同されやすいマクロ(エクセルマクロ)やAIとRPAの違いについて説明します。
エクセルマクロとの違い
Microsoft社のMicrosoft Office製品を利用する際には、作業を効率化し、自動的に行うためにプログラミング言語が利用できます。このうち、エクセル上で行われる作業をプログラミング言語化したものを「エクセルマクロ(単にマクロともいう)」と呼んでいます。 エクセルマクロはエクセルを効率化することだけに特化しています。その一方で、RPAはエクセルはもちろん、Microsoft社製品全般、IEを始めとするブラウザやブラウザで閲覧できるWEBサービス、外部のアプリケーションやフリーソフトなどを連携する業務の自動化にも対応できます。
AIとの違い
AI(Artificial Intelligence=人工知能)はパソコンによって人間が行っていることと同じことを実行できるという点ではRPAと共通点があります。しかし、AIには物事を判断するためのルールを自ら学習して判断しています。それに対して、RPAは人間が規定した作業のみを行うという違いがあります。
AIとRPAの違いについては、こちらも参考にしてください。
RPAとAIとbotの違いとは?
RPAツールでできることや代替できる操作
RPAは入力された数値やイメージを認識し、一定のルールに基づいて業務を行うとされています。それでは、具体的に具体的に人間が行っているどのような操作を代替できるのでしょうか。 一般的に、RPAを導入する際にはロボットを作成するためにシナリオと呼ばれる業務の一連の流れを手順通りプログラミングします。ここからは、シナリオ及びロボットのフローや作成方法を説明していきます。
まずは、シナリオの中に組み込める作業を紹介します。
- キーボードやマウスなどのパソコン操作
- 画面上の文字列や図形、色の判別
- アプリケーションの起動や終了
- IDやパスワードなどの自動入力
- データの収集・整理・分析
- エラー処理や自動応答
これらの定型業務をシナリオ化し、ロボットによって自動的に実行するのがRPAです。
ロボットの仕組みと操作の流れ
それでは、具体的にロボットがどんな仕組みで自動化しているのかを解説しましょう。
認識
まずは、ロボットにキーボードの配列や押下すべき順番、クリックすべきボタンなどを認識させます。認識方法はさまざまですが、主に以下の3つの方法が一般的です。
UI(User Interface)認識
WEBアプリケーションなどでは、画面上に表示されるものは全てコードで書かれ、作成されています。ロボットによって入力すべき箇所や押すべきボタンなど、該当すべき人間の動きを形づくるコードを認識してシナリオに組み込みます。
画像認識
シナリオに組み込むアプリケーションやWEBの画面を読み込み、デザインや色、レイアウトなどを記録します。
座標認識
対象となるアプリケーションの画面の座標を認識させる方法です。画像の横軸と縦軸を認識させ、入力箇所やボタンがこの位置にあると認識させます。
判断
RPAは自分で判断をすることはありません。そのため、判断するための規則をプログラミングによって覚えさせ、記録します。
操作
次に、RPAが利用者の端末に指示を出すようにプログラミングします。RPAはAPI(自己のソフトウェアの情報を公開することにより、アプリケーション同士を連携させる仕組み)を用いてパソコンに指示を出しています。
なぜこの方法を使うのかというと、RPA→API→パソコンという順番で指令が伝わるため、各アプリケーションに手を加えなくてもロボットが作成でき、手軽にRPAを利用できるからです。RPAによっては、APIに必要な接続環境などの情報を公開しているものもありますので、購入の際に比較検討項目として考慮するのもよいでしょう。
ワークフローの作成(レコーディングから修正、デバッグまで)
ここまでできたら、次にワークフローの作成をします。これにより、一連の業務の流れをRPAに記録し、覚えさせることができます。
レコーディング
RPAには人が端末上で行った作業を記憶する機能があります。このレコーディング機能によって、RPAのワークフローが自動で生成され、操作を自動化できます。
修正の必要があれば、自動的にレコーディングしたワークフローを修正します。
デバッグ
ワークフローができたら、実際に作動させてみて意図通りの動きをするかどうかを検証します。その上で、意図しない動作をするようであればデバッグを行います。この際、作動させる際にはテストデータを使うなどして、データの破損や個人情報の流出などのリスクを回避させるようにしましょう。
フロー制御
単純に同じ操作を繰り返す以外にも、条件にしたがって作業を行わせることができます。これをフロー制御と呼びます。フロー制御によって行うことができる作業は多岐にわたりますが、代表的なものを挙げます。
- 条件分岐(○の場合はAのフローへ、×の場合はBのフローへ
- 繰り返し
- 例外処理
- 別のフローの呼び出し(Aのフローを行っている間にBのフローを呼び出す)
- 別のフローが始まるまでウェイト(Aのフローを行っている間にBのフローを呼び出す。その間、Aのフローはストップする)
このように、RPAを導入して実際に業務を自動化させるためには、専門的な知識が必要です。これらの知識はセミナーや書籍などで勉強方法が共有されている部分も増えていますし、導入の際にマニュアルや手順書を設けている商品も数多くあります。 しかし、シナリオやロボットの作成にはプログラミングの知識なども必要とされますので、全く知識がないところから導入するのは大きな負担です。特に中小企業では、RPA人材の求人を出しても確保が難しい企業も多いと推測されます。
プログラミング人材に乏しい会社でRPAを導入する場合は、外部の導入支援サービスなどを利用しながら、RPAに対応できる人材を社内で育成するという方法がよいと考えます。また、RPAについてはその知識があることを保証する「RPA技術者検定」という資格がありますので、社内でこの資格取得を支援する制度を整えるのもよいでしょう。 RPAの導入は難しそうに見えるかもしれませんが、担当者や導入部署だけで解決しようとせず、他部署の人材やや外部のサービスの力を借りることで導入が進みます。ぜひ検討してみてください。