はじめに
きっかけは、いまの現場でUiPathのライセンス料が高額なため、Power Automate Desktop(PAD)への変更が検討され始めたことでした。
わたしはRPA開発者として、最初の1年は開発者、2年目で開発リーダーに抜擢され、いまにいたっています。
以前から、自宅でPythonやStreamlitを使ったAI利用、データスクレイピング、ブラウザ操作などをプライベートで開発していました。
1年ほど前からはVS Code+GitHub CopilotでPythonを組み始め、ここ最近は「AIのコードの質が上がっている」「PythonでもHTML構造をRPAのように比較的簡単に取得できる」と感じていました。
そのため、UiPathからPythonに移行したほうがよいのでは、と考えていたところでした。
そこで、前述のUiPathからPADへの話が出たとき、「RPAから別のRPAに乗り換えるより、Pythonで管理・構築していったほうが、これからのAI時代に対応できるのでは」と考え、UiPathからPythonベースの自動化へ舵を切ると決めました。
本記事では、その理由と、現在の開発環境(スタック)をまとめます。同じように「RPAからPythonへ」を検討している方の参考になれば幸いです。
なぜ舵を切ると決めたか
主に次の7つの理由から、Pythonベースの自動化に移行する判断をしました。
1. 保守性の課題
UiPathではシナリオがスパゲッティ化しやすく、追うのに時間がかかります。スパゲッティ化とは、制御の流れが複雑に入り組み、「この処理の次はどこに飛ぶのか」を追いにくくなった状態のことです。結果としてメンテナンス負荷が高く、長期的に持たせることが難しいと感じました。
2. 言語・AIの観点
Pythonは世界中で使われており、AI(Copilot や Cursor など)にとって学習データがUiPathよりはるかに多いです。そのため、AIの補助を受けながら自動化シナリオを組むうえで、Pythonのほうが有利だと判断しました。
3. コスト
UiPath・WinActorは実行ライセンス・開発ライセンスともに高額です。Pythonであれば、開発は VS Code + GitHub Copilot や Cursor、Claude Code などのAI開発エディタで足り、RPAライセンスと比べて非常に安価です。実行ライセンス代は無料です。
4. 企業資産として
UiPathやWinActorで書いたシナリオは、必ずRPAベンダーのアプリが必要になり、企業の真の資産にはなりにくいです。Pythonであれば企業の資産として残り、今後AIが発達していくうえでも組み込みやすいと判断しました。
5. 実務経験からの判断
RPA開発リーダーとして6年やってきましたが、実際に使う機能は意外と限られていました。UiPathには豊富なライブラリがありますが、Pythonでも同様のことは実現できると実感しています。
6. 開発のハードル
RPAの強みは「GUIで簡単に作れる」ことですが、VS Code・GitHub Copilot・Cursorなどの登場で、コードを書く開発のハードルはRPA並みに下がったと感じています。また、Pythonには Playwright や Selenium のように、ブラウザのHTML構造を取得してクリック・入力といったGUI操作を自動化できるライブラリがあり、RPAでやっていた「画面上の要素を指定して操作する」というやり方と同等のことがコードで実現できます。
7. バージョン管理・スケール・AI/LLM統合
- バージョン管理: PythonのコードはGitで差分・レビューがしやすく、チーム開発や履歴追跡がしやすいです。UiPathのXAMLは巨大になりやすく、Diff・マージが困難になりがちでした。
- スケール: 実行するボット数が増えても追加の実行ライセンスが不要で、リソース(CPU/メモリ)に応じたコストで済みます。
- AI・LLMとの統合: 請求書読み取りやメール解釈などLLMを組み込む場合、Pythonなら数行で連携できます。UiPathではAI Centerなど追加コスト・設定が発生しがちでした。
現在の開発スタック
現在の開発環境は以下のとおりです。
| カテゴリ | ツール・環境 |
|---|---|
| PC | ASUS Gaming V16 |
| エディタ・AI | VSCode + GitHub Copilot から Cursor に切り替え。Claude Code(導入準備中)と併用予定。 |
| メモ・執筆 | Obsidian(メモ・下書き)、Zenn CLI(記事管理) |
| 開発支援 | Google Antigravity(導入済) |
| ローカルLLM | Ollama(レシート検証などでは llama3.2-vision 等を使用) |
| 動画 | Remotion(Reactで動画作成、YouTube用に準備中) |
コードは Git / GitHub で管理し、Zenn の記事は GitHub 連携で公開する運用にしています。
今後の予定
はじめにで述べた「Pythonで管理・構築していく」を具体化するため、最低限つぎのことを進めます。
- UiPathシナリオの仕様化とPython実装: UiPathシナリオから動作仕様を読み取りドキュメント化(仕様書作成)し、その仕様書を元にPythonで自動化を実装する例をつくります。シナリオから仕様を抽出する方法、マーメイド・マークダウン形式でフローを図示すること、各動作から詳細な仕様を作成する手順は概ね確立できているので、それを記事や実装として形にしていきます。
- Zenn / Qiita: 上記のほか、レシート×ローカルLLMの検証記録や、UiPathからPythonへの移行ノウハウを記事としてまとめていく予定です。
- YouTube: Google Antigravity と Remotion の準備ができ次第、技術系の動画もぼちぼち始めたいと考えています。
- 開発: Python と AI を組み合わせた業務自動化・エージェント的な仕組みを、実務で使いながら形にしていきます。
実際に進めていく中で予定が変わった場合は、この記事も随時更新していく予定です。
おわりに
「RPAからPythonへ」は、保守性・コスト・AI活用・企業資産の観点から、自分にとって合理的な選択でした。同じ境遇の方の一助になれば幸いです。Zenn では引き続き、環境構築や検証の記録を書いていきますので、よろしければフォローやフィードバックをいただけると励みになります。