え？まだRPA使ってるの？ ChatGPTの課題と解決アプローチから学ぶ 生成系AIを活用したRPA 自動化の未来

ChatGPTやGPTをベースにしたAIエージェントが注目を集めています。
企業でも導入を検討している企業も多く、実際に導入されると働き方が変わってくると思います。
ローコードで簡単に開発できるRPAもChatGPTを使った後には、難しく感じてしまいます。

このままではRPAはオワコン化してしまうのではないか？
「え？まだRPA使ってるの？」とか言われてしまうのでは？
そんな焦りと焦燥と愛しさと切なさと心強さから、自動化ツールベンダーで働く @manabutech が筆をとりました。

結論としては、**今のRPAは淘汰され、AIを機能に取り込んで進化していったツールが生き残る**と思います。

RPAの未来を考える上で、今回はこちらを調査しました。

+ ChatGPTの課題
+ ChatGPTの課題解決アプローチ
    1. AIエージェント
    1. GPTプラグイン
+ 生成系AIを利用した自動化
    1. Microsoft
    2. Zapier
    3. UiPath

## ChatGPTの課題

ChatGPTは、OpenAIが開発した高度なAI技術により、人間のように自然な会話ができるAIチャットサービスです。
その無料で利用できる革新的なサービスが注目を集め、2022年末からブームが起こり、多くの人がChatGPTに夢中になりました。

しかし、ChatGPTも完全無欠の存在ではなくできないこともあります。
ChatGPTの課題として挙げられているもの、企業で導入する上でもネックとなるものは主に3つです。
・特定の分野では精度が低い
・再学習に使われて情報漏洩の危険性がある
・最新の情報を取り扱うことができない

### 課題1. 特定の分野では精度が低い

[こちらの記事](https://qiita.com/ManabuTech/items/69dcace5e7af0aeaead6)で以前実験しましたが、「プテキリオンザウルスについて教えて」と質問すると、即座に回答してくれます。素晴らしいスピードです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2577004/8accd912-7e1f-2237-5fd1-a303b0e231b4.png)

しかし、残念なことに「プテキリオンザウルス」はいかにも実在しそうな恐竜なんですが、私が作った恐竜ですので、この恐竜の化石はどの博物館や研究施設に行っても見ることはできません。
ChatGPTさんは、真顔で6メートルだの海棲爬虫類だの大嘘をつくことがありますので、ビジネスシーンで使うことはまだ難しいでしょう。

### 課題2. 再学習に使われて情報漏洩の危険性がある

「プテキリオンザウルスについて教えて」と現在ChatGPTに質問すると、そんな恐竜は実在しないと教えてくれます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2577004/837be2c2-8fb8-73ff-ef20-19f62d353edc.png)

ChatGPT進化しています。しかし、これは質問と回答を再学習に使っているということです。
企業では機密情報を扱うことがあるため、情報漏洩の危険性があります。
イタリアでもChatGPTの使用を禁止する方針を出しましたが、同じように禁止する企業も出てきています。

### 課題3. 最新の情報を知らない

ChatGPTは2019年9月までの情報までしか基本的には持っていません。
日本中がWBCに熱狂していた時、私も決勝戦を前に日本の成績を振り返りたいとChatGPTにお願いしましたが、見事に打ち砕かれました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2577004/116f5f61-5941-2df0-7039-c0cf74faa06e.png)


## ChatGPTの課題解決アプローチ

多くの企業がChatGPTを検討していますが、3つの課題を解決しないといけません。
ここでは3つの課題をどのように解決していくか紹介したいと思います。

### 課題1. 特定の分野では精度が低い

ChatGPTは内部的にLLM（大規模言語モデル）のGPT-3.5を利用していますが、一部のサブスク登録ユーザーに対して、新しいバージョンのGPT4が公開されています。

この内部のLLM（大規模言語モデル）の進化により、精度は向上します。

別のアプローチとしては、分野を絞るという使い方です。
特定の分野に絞って質問することによって、精度を向上させることができます。
インターネット上から答えを見つけ出そうとするとでたらめな答えを返すことがありますが、PDFの中身から回答を見つけるなど範囲を絞ることで精度向上が期待できます。
UiPathで現在無料で公開しているAskGPTという部品を使用しているデモを作成しましたので、興味のある方はこちらの記事をご覧ください。

https://qiita.com/ManabuTech/items/69dcace5e7af0aeaead6

### 課題2. 再学習に使われて情報漏洩の危険性がある

MicrosoftがAzure上に独自のGPTを構築することができるリソースを用意していますので、こちらを使用して自社の専用GPT環境を構築することでOpenAIに情報が渡らずにChatGPTと似たサービスを使用することができます。

そんな独自環境を構築する費用もスキルも無いという方は、Azure上に構築したGPT環境を利用しているサービスを利用するという手もあります。こちらであれば構築の手間も費用も抑えることができます。

こちらの記事で紹介しているUiPathのAskGPTアクティビティもOpenAIに情報が送信されて再学習に使用される危険性はありません。

VBAではできない名前や住所の分割をChatGPTでExcel上から行うデモを用意しています。興味のある方はご覧ください。

https://qiita.com/ManabuTech/items/9e10fd59636174ba810c

### 課題3. 最新の情報を知らない

おい、ChatGPT！そんなに頭がいいんだから自分でググってくれよ。
誰しもがツッコミを入れ込みたくなるこの状況にOpenAIはGPTのAPIを公開することで対応していました。
「わーい、OpenAIさん、ありがとう！」これで新しい知識をプログラミングすればWeb検索とGPTをでき、いやいや、そんなの組めるのはChatGPTを使っている人の1割もおらんですよ！

これがChatGPTの限界なのかとお嘆きの方、安心してください。自分で難しいプログラミングを行わなくても最新の情報を取得できるようになる方法が2つあります。

1. 自律AIエージェント
2. ChatGPTプラグイン

#### 1. 自律AIエージェント

ChatGPTは、内部ではGPT-3.5（GPT-4）というLLM（大規模言語モデル）を利用しています。ChatGPTはこのLLMを利用して文章生成や要約、翻訳などのタスクをこなすことができる生成系AI（Generative AI）に分類されます。
自律AIエージェントはLLMを利用して設定された目標から自動的にタスクを生成して実行します。

代表的なAIエージェントに、AutoGPTやAgentGPTなどがあります。
AgentGPTはブラウザ上から動かすことができます。ゴールを設定すると内部でGPTを活用してタスクに分解していき、難しい問題でも解いてくれます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2577004/7c9106f4-869a-5091-1beb-3fabf7c687be.png)

AutoGPTはAgentGPTよりも高度なことができます。
ゴールを設定すると、Web検索して情報を集めてくれます。ファイルの作成など色々なことを行うことができますが、Pythonでの環境構築が必要なためAgentGPTよりも導入は大変です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2577004/8852e021-5ac1-76f5-a98f-4937af2d20d8.png)

あのAIの専門家であるアンドレイ・カーパシー氏も、「AutoGPTはプロンプトエンジニアリングの次のフロンティア」と呼んでいます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2577004/2c66d56a-58aa-7a76-9344-1e2d96bc47cf.png)

アンドレイ・カーパシー氏は、テスラの人工知能（AI）担当最高幹部で自動運転支援システム「オートパイロット」の設計を手掛けた人物らしいです。
（ChatGPTが知らなかったので、グーグル先生に教えてもらいました。）

#### 2. ChatGPTプラグイン

2023年3月、OpenAIがプラグイン機能を公開しました。
現在はOpenAIのサブスク契約者のみ利用することができます。
Web検索もプラグインとして追加される予定です。

[こちらのデモ動画](https://player.vimeo.com/video/810715483?h=7ee0ef3d57)では、ChatGPTがオスカー賞受賞作品と近年の作品の比較を尋ねられたら、Browsingプラグインを利用して回答しています。
す、すごい。成長している！

また、3rdパーティー製のプラグインも公開されています。

| プラグイン | 説明 | 
|:-:|:-:|
| Expedia  |  宿泊先の予約ができる |
| Wolfram |  複雑な計算を実行できる |
| Zapier |  5000以上のアプリと連携できる |
| Speak |  別の言語での言い方を提示してくれる |

## 生成系AIを利用した自動化

ChatGPT単体ではできないことを行うアプローチとしてAIエージェントとOpenAIのプラグインの2つがありますが、今後はどちらが主流になるのでしょうか？
分からないことがあった時に随時質問する場合はAIエージェントではなく、ChatGPTに直接聞く方法が主流になると個人的には考えています。
プラグインの登場により、今まで以上にできることが増えました。
今まではWebサイト上の活動は全てGoogleでの検索がスタートになっていましたが、今後はChatGPTが全ての活動のスタートになるのではないか。それくらいの衝撃があると思っています。

しかし、企業で生成AIを活用する場合、AIがどれだけ便利だと言っても毎回ChatGPTに同じことを質問することはやりたくないでしょう。決まった業務フローの中にAIを取り込んで自動化するところまで検討していく必要があります。

自動化で有名な企業の動向を見ていきましょう。

### 1. Microsoft

Microsoftは「ローコード LLM」としてLLMで自動化処理を生成する論文を発表しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2577004/2e873ba1-48ac-aa34-2c50-880f009ee3aa.png)

ローコード開発アプリは、Planning LLMとExecuting LLMという2つのLLM（大規模言語モデル）を利用して、ノーコード化するという発想です。Planning LLMは、ワークフロー（自動化処理）を生成します。

例えば、「今日の日経のニュース一覧を取得してSlackで連絡して」と打ち込めば、処理を作ってくれます。

未来キタコレ！！

Executing LLMは作成されたワークフロー（自動化処理）のレスポンスを返すようです。
将来的に実行の結果動かなかったので自己修復みたいなことまでできるようになるんじゃないかなと期待は膨らみます。

詳しく知りたい方は[こちらの記事（英文）](https://visualstudiomagazine.com/articles/2023/03/16/copilot-power-apps.aspx)をご覧ください。

### 2. Zapier

ZapierはChatGPTのプラグインも開発していますが、APIを持つツールを連携させることができるサービスです。
Zapierでも2023年5月16日に、AIを利用してZapと呼ばれる処理を自動生成する機能が追加されました。

https://zapier.com/ai

試しに使ってみました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2577004/1f6b82a1-ed1e-3093-7102-f2b0301dee27.png)

このように処理のひな型を作ってくれます。
どのメールアドレスから来て、どのSlackチャネルに通知するかなど設定は必要になりますが、かなり便利です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2577004/cae82f13-04ec-c3c0-1ff0-01ed36ab5c59.png)

### 3. UiPath

UiPathでも、[AI Summit 2023で発表されたWingmanプロジェクト](https://www.uipath.com/blog/ai/ai-summit-2023-highlights)により、生成AIにより自動化処理を生成するツールの発表がありました。

自動化したい処理を伝えると、処理を作ってくれます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2577004/95c0d6f2-d9ae-571c-dd26-a71e466ed8bf.png)

UiPathはRPAの技術があるため、APIが無いシステムに対しても自動化処理を作っていくことができるようになるのではと考えています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2577004/33ef53c2-a731-8591-91cc-d273e33e7f2e.png)

## RPAの今後

### ワークフローの自動生成

MicrosoftのローコードLLMの論文にある通り、生成系AIを使用してローコード開発からノーコード開発へと進化していくのだと思います。

現在の全部を自分で作っていくというRPAは淘汰され、生成系AIを利用して処理が生成される。APIで繋げていき、つながらないものはGUIで制御するという今までのRPAとは少し変わってくると思います。

簡単なRPAと言えば、レコーディングができることや部品をドラッグ＆ドロップでレゴブロックのように組み込むことができるものを指していました。
これからは、**生成系AI対応RPAか、それ以外か！？**
対応していないものは難しくて使えないよと言われる、そんな世界がやってきそうです。

### AIエージェントの代替

RPAはAIエージェントの代替となり得るのではないかと個人的には考えています。

OpenAIにはAPIが用意されていますが、APIだけでは難しい次のようなことがAutoGPTではできるようになっています。
・Web検索
・長期記憶
・自律的に処理する

Web検索はプラグインで対応されましたが、API経由で呼び出した時もプラグインが使えるかまだ分かっていません。
まだOpenAIでWeb検索プラグインを利用できない人のためにも、RPA側でAIエージェントのWeb検索処理を取り込むだけでも有用だと思います。
タスクに分割して自律的に処理を依頼するようなことができればもっと有用だとは思いますが。

#### AutoGPTのWeb検索処理 概要

・Webページのテキスト抽出
Python BeautifulSoup利用してテキストを抽出しています

・Webページの要約
要約にはGPTを利用します。
文字数が長い時は分割して要約して、各要約を結合して再度要約します

・GPTに質問する
要約したテキストを使用して、GPTに質問します。
質問内容（プロンプト）：
上記のテキストを使用して、次の質問に答えてください: \"{question}\" -- もし質問がテキストを使って答えられない場合は、テキストを要約してください。
{question}にはAIエージェントに設定した内容が入ります。

つまりは、検索して上位のページにあるテキストを抽出しては、GPTに質問していく処理を繰り返しています。

やろうと思えば、UiPathでもできそうなことが分かりました。
需要があれば、AutoGPTのソースコードを分析して、UiPathで処理してみたいと思います。
OpenAIのAPIを繰り返し呼び出すため、費用が高くなりますので、実際にやってみようと思った方はご注意ください！！

AIエージェントのような抽象的に依頼するようなアクティビティを用意しているツールはありませんが、今後増えるかもしれませんのでウォッチしておきます。

励みになりますので、内容が面白かった人はいいね・フォローお願いします！