本記事では、従来型RPA(Robotic Process Automation)が苦手としてきた「非定型業務」の自動化を、大規模言語モデル(LLM)との連携によってどう実現するかを解説します。RPAは定型的なルールベース処理に強い一方、文章理解や判断を伴う業務には限界がありました。本記事ではLLMとRPAを組み合わせる具体的なアーキテクチャパターン、実装時の注意点、代表的なユースケースを紹介し、現場で使える実践知を提供します。
従来のRPAが抱える課題
RPAは画面操作やデータ転記など、ルールが明確な業務の自動化には非常に有効です。しかし以下のような業務では、従来のRPAだけでは対応が困難でした。
- 自由記述のメール文面から意図を読み取り分類する
- 非定型フォーマットの請求書・契約書から必要項目を抽出する
- 問い合わせ内容に応じて適切な返信文を生成する
- 例外処理発生時に人間の判断に近い対応を行う
これらは「判断」や「自然言語理解」を要するため、ルールベースのRPAでは条件分岐を無数に用意する必要があり、保守コストが膨大になりがちでした。
RPA×LLM連携の基本アーキテクチャ
RPA×AI連携では、RPAを「実行エンジン」、LLMを「判断・生成エンジン」として役割分担させるのが基本的な考え方です。典型的な処理フローは以下の通りです。
- RPAが業務システムやメール、ファイルからデータを取得
- 取得したデータをLLM APIに送信し、分類・抽出・要約・生成を実施
- LLMの出力結果をRPAが受け取り、後続システムへ入力・転記
- 信頼度が低い結果は人間レビューへエスカレーション
この構成により、RPAのロボット定義ファイルの中に「AIアクション」として自然言語処理を組み込むことが可能になります。
実装例:請求書処理の自動化
以下はRPAスクリプトからLLM APIを呼び出し、請求書PDFの内容を構造化データとして抽出するイメージです。
POST /v1/chat/completions
{
"model": "gpt-4o-mini",
"messages": [
{"role": "system", "content": "あなたは請求書から項目を抽出するアシスタントです。"},
{"role": "user", "content": "以下の請求書テキストから、会社名・金額・支払期日をJSON形式で抽出してください。\n\n{{OCRテキスト}}"}
]
}
RPAはOCRで請求書をテキスト化し、上記のようにLLMへ渡して構造化した上で、会計システムへ自動転記します。従来は人手でテンプレート例外を都度登録していた作業が、LLMの柔軟な理解により大幅に削減されます。
代表的なユースケース
- 問い合わせ自動分類・一次回答生成:顧客からのメールをLLMで意図分類し、定型回答が可能な場合はRPAが自動返信
- 非定型帳票のデータ抽出:フォーマットが統一されていない書類からLLMでキー項目を抽出しシステム登録
- レポート自動生成:RPAが収集した数値データをLLMが自然文のサマリーレポートに変換
- 例外処理の一次判断:規定にない例外ケースをLLMが過去事例と照合し対応案を提示
導入時の注意点
1. ハルシネーション対策
LLMは誤った情報を自信ありげに出力することがあります。重要な数値処理では、必ず元データとの突合検証や信頼度スコアによるフィルタリングを組み込みましょう。
2. コストとレイテンシの管理
LLM APIの呼び出しは処理件数に応じてコストが発生します。全件をLLMに通すのではなく、ルールベース処理で対応可能なものはRPA単体で処理し、判断が必要な部分のみLLMを呼び出す「ハイブリッド設計」が効率的です。
3. セキュリティとガバナンス
個人情報や機密情報を含むデータをLLM APIに送信する場合は、マスキング処理やオンプレミス/VPC内モデルの利用を検討し、社内のデータガバナンスポリシーに準拠する必要があります。
まとめ
RPAとLLMの連携は、「定型処理の自動化」から「判断を伴う業務の自動化」へとRPAの適用範囲を大きく広げます。重要なのは、すべてをAIに任せるのではなく、RPAの確実性とLLMの柔軟性を適材適所で組み合わせる設計です。まずは請求書処理や問い合わせ分類など、効果が測定しやすい業務から小さく始め、精度検証を重ねながら適用範囲を拡大していくことをおすすめします。