負の遺産RPAをアプリ化する

RPAの問題点

RPAは何というか非常に便利なものではあるのだけれど、以下の問題点がある。

・使い続ける限り、契約をやめられない
・作った人がいなくなりがち
・作った人がドキュメントを作らない
・作った人がいなくなると、何が何だかわからないモノと化す(ブラックボックス度が高い)
VBAとかであれば読めるので、まあ何とかなるんだけれど、RPAは「完成したコードについて解説された書籍がない」ので、コードから読み解くことが困難だ。

RPA使用し続ける上で必要なこと

ということで、RPA化については
・使い始めたら、ちゃんと使い続ける
・ちゃんとドキュメント作成する(どのような手順をトレースしたのか)
・複数人RPAを常時作成しているメンバーを確保する(そのRPAツールの進化に追加していくメンバーを確保しておく)
みたいなことが必要になってくる。

発生した問題

さて、とあるメジャーなRPAツールを使ったサービスを企画した部署があって、その部署がRPAのシナリオを作成して、サービス運用方法として配布していた。以前はそのサービスが大量に使用されていたので、RPAの効力は絶大だったのだけれど、だんだんサービスの使用数が先細っていくという状態になっており、正直なところ「RPAの継続費用」が「RPAで削減される費用」より高額になるという事態になっていた。んでもって、契約更新時期が近付いてきたので、この契約をやめたいんだけれど、先細ったとはいえサービスを停止するわけにもいかない。ということで、なぜかお鉢がまわってきて「無償のRPAに移植してくれないか」と言われたのであった。

まあ、その仕事を受け取ったのだけれど、「ドキュメントがほとんどない」上に、「RPAを実行するライセンスも自由に使えない」という状態であった。ということは、このRPAツールが具体的に何やっているのかというのは、ツールから読み解くのは非常に難しいということだ。

解決に向けた試行錯誤

なんとかRPAが吐き出すシナリオを読んでみたのだけれど、部分的には意味が分かるが、シナリオから何をやっているのか解読するのは非常に難しいことが判明した。ダメ元で、RPAのシナリオと思われるテキストをClaudeに読み解かせたところ、なんとちゃんと読み解くことでき、何をどのように行っているのかをドキュメントとして提示してくれたのだ。

ドキュメントさえあれば、その作業を何らかの手法でトレースすればよいのであって、それこそSeleniumを使用してしまえばブラウザを操作できるし、Windowsの操作だった場合はAPIたたいたりすればよい。なので、RPAツールみたいなことを実行するEXCELマクロを作成してみたのであった。

主要な操作を関数化し、その関数をどう実行するのかをシナリオとしてシートに記載するようなアプリを作成したところ、まあ何とか2人月程度の工数でアプリが完成した。アプリにかかる定期的な費用は、Selenium使っている限り発生しないのでサービスが終結するまでは、このアプリを使ってもらうことにした。

RPAの解読はAIに任せる

ということで、RPAというのは使い始めると、使い続けなければならず、使用対象がどれだけ縮小しても一定の費用がかかるものなので、導入するときにはよくよく考えたほうが良い。縮小したRPA使用サービスを代替手段に切り替えるときは、AIに解読させることで、どのようなことをやっているのか理解できるので、そのうえでどのような移行を行うのか考えたほうが良いですよという話でした。