コラム 「RPAの気になる話」

RPAやAIは新しいソフトウェアスタックになるのか?

2023.09.27

§1. ソフトウェアスタックとは

ソフトウェアスタックは、システムやアプリケーションの構築・運用において使用されるソフトウェア要素やプロトコル要素をブロックに見立てて、その集合を図として表現したものです。
通常、利用者(ユーザ)に近い方を上、ユーザから見えない方(ITインフラ)を下にレイヤ状に並べて描きます。ソフトウェアスタックだと意識する・しないに関わらず、みなさんも一度は目にしている図だと思います。

もっともシンプルなソフトウェアスタックは次のように書くことができます。

ハードウェアは物理的なサーバやネットワーク機器を含みます。ネットワークそのものやデータセンターを含むこともあります。OSWindowsLinuxmacOSなど。ミドルウェアはアプリケーションが利用する汎用的なソフトウェア。Webサーバ、データベース、メッセージングシステムなどが含まれます。アプリケーションはこれらのレイヤの上に作られ、ビジネス固有の処理とユーザインタフェースを提供します。

§2. 複数のSaaSを抽象化するRPA

RPAの主な目的は業務の自動化ですが、2つ以上のアプリケーションをまたいで処理を行うケースも多くあります。例えば、システムAからデータをダウンロードし、エクセルで集計し、結果を別のシステムBに登録するといったケースです。
システムABRPAのインタフェースは画像スクレイピングを使う方法や、システムABが用意するAPIを呼び出す方法もあります。システムABRPAのインタフェースがどのようになっていても、ユーザに見えるのはRPAがワークフローを自動で処理しているということのみで、システムAB、それらとのインタフェースを通常、意識するわけではありません。
この時、RPAがシステムABを隠蔽する(抽象化する)という言い方をします。ソフトウェアスタックで説明すると、RPAワークフローというレイヤが新しく登場することによって、その下の、複数のアプリケーションが抽象化されます。

§3. AIアシスタントも複数のSaaSを抽象化する

コンピュータに「スケジュール調整しておいて」といえば、あとはコンピュータが自分の代理として様々なタスクを片付け、最後に「10日の13時で調整しておきました」と調整結果だけ返してくれるアイデアは、コンピュータが登場した頃からありました。
ChatGPTのようなテキスト系生成AIはタスクを処理するものではありませんが、その応用として、予めLLMAPIリストを渡しておき、あるタスクを依頼すると、そのタスクにあったAPILLMが自動で選択、実行、結果を返すという研究・実装例は既にあります。また、開発中のAIアシスタントの中には、複数のアプリケーションやWebサイトにアクセスし、データを参照したり更新したりといったものもあるようです。 

AIアシスタント アシスト内容の例 参考URL
Gorilla
(UC Berkeley and Microsoft Research)
事前に保存されたAPIリストから適切なものを選び出す検索機能を有しており、自然言語クエリから意味的・構文的に正しくAPIを呼び出す。また、APIドキュメントのアップデートやバージョン変更にも対応できる。APIリストには1645APIが含まれている。 https://gorilla.cs.berkeley.edu/
AutoGPT 自然言語でゴールを与えると、それをタスクに分割し、各種ツールを自動実行しゴール達成を試みるAIエージェント。 https://autogpt.net/
Leon Github、Twitterなどのサイトステータスを順番にLeonがチェックするという例が挙げられている。 https://getleon.ai/
Lindy Zoomのセールスミーティングが終わったらSalesforceで「次のアクション」「契約額」をLindyが自動更新するという例が挙げられている。 https://www.lindy.ai/

これらもソフトウェアスタック上で説明すると、AIアシスタントによって複数のアプリケーションが抽象化されるということができます。

§4. AIとRPAは同じポジションで競合するのか

複数のアプリケーションへのタスクを1つのワークフローとして処理するRPA、同様にユーザの望むタスクを自動処理するAIアシスタント、これらはソフトウェアスタックという点で同じポジションになります。ここで、両社の共通点と相違点、課題になりそうな点について整理しておきましょう。

AI RPA
共通 1つないし複数のアプリケーションへのアクセスを通じて、ユーザの求める処理を実行する。ユーザからアプリケーションの存在を隠蔽し抽象化する。
相違 現在のAI一般に言えることだが、AIの処理や結果が、なぜ、そうなっているのか説明できないケースがある。(Explainable AIの研究は現在進行形で進んでいる) ワークフローは人が一連の手続きとして定義するので、透明性はある。
既存アプリの変更、新しいアプリの登場といった変化にAI自身が対応できる可能性がある 既存アプリの変更、新しいアプリの登場といった変化には、人による保守・メンテナンスが必要である

§5. RPAAIの新しい役割

このコラムでは、RPAワークフローやAIアシスタントを、アプリケーションとユーザの間に生まれる新しいソフトウェアスタックとして説明してきました。
RPAは業務自動化ツールとして定着した感がありますが、今後、その役割が変わるのか? 変わる先に説明したような新しいソフトウェアスタックを形成するような未来があるのか?今後も注目していきたいと思います。

 

本記事のカテゴリ :RPA技術コラム

PickUP

本記事に関連するCACのサービスやお役立ち情報をご紹介します。

RPA技術レポート無料ダウンロード

CAC RPAワンストップサービスの</br>ご紹介
CAC RPAワンストップサービスの
ご紹介
ダウンロード ダウンロード
RPAセミナー動画アーカイブ(URLとアクセスコード)
RPAセミナー動画アーカイブ(URLとアクセスコード)
ダウンロード ダウンロード
RPA自社開発イネーブルメントプログラムガイド
RPA自社開発イネーブルメントプログラムガイド
ダウンロード ダウンロード