はじめに
副業エンジニアとして様々な案件に挑戦している私に、ある日突然「UiPathからPython」という案件が舞い込んできました。正直なところ、UiPathにはこれまで1ミリも触れたことがなかったので、内心は「え、急に何これ?」という驚きと戸惑いでいっぱいでした。
UiPathとPythonの架け橋に挑む
Pythonは日常的に使いこなしているものの、UiPathは全くの未知の領域。しかし、エンジニアとして新たな技術に挑むワクワク感は捨てがたく、さっそくUiPathのダウンロードからスタート。顧客から送られてきたRPA(Robotic Process Automation)のファイルを開いてみると、そこに待ち受けていたのは…複雑なフロー図の入れ子構造でした。
複雑すぎるフロー図の謎解き
UiPathのGUIを眺めながら、「これ、一体どうなっているんだ!」と頭を抱えました。各プロセスがどんどん入れ子になっており、全体像を掴むのはまるで迷路に迷い込んだかのよう。そんな中、さらに調査を進めるとUiPathには「Excel出力」という機能があることに気付きました。この機能を使えば、フロー図をExcel形式で出力できるというのです。
1700行オーバーのCSVとの壮絶バトル
期待を胸に出力したファイルを確認すると、なんと1700行を超える膨大なデータが!正直、これを人力で読み解くのは無理があると思いつつも、「ここはどうにかなるはず…」と挑戦心が燃え上がりました。しかし、実際のところ膨大な行数に圧倒され、読解作業に頭を抱える結果に。
AIの助っ人、Cursor君の登場
そんな時、2025年の世は、まさに大AI時代!!。頼もしい相棒として、私は「Cursor君」を召喚することにしました。ダウンロードしたExcelを「Cursor君」が少しでも読みやすいようにCSVに変換してからCSVが格納されたフォルダをCursor君に渡し、次のようなプロンプトを投げかけました。
プロンプト内容
「uipath_flow.csvはUIPathからフロー図をExcel出力したものです。これを参考にしてMermaidでフロー図を作ってください。
この時、特殊文字関連のエラーが出ないように注意し、行数や処理が多い場合は適切なサイズで出力してください。また、文字コードはUTF-8で統一してください。」
Cursor君の力を借りることで、膨大なCSVデータからMermaidを用いた視覚的に理解しやすいフロー図の作成が現実味を帯びてきました。実際、いくつかの試行錯誤を重ねる中で、「プロンプトを微調整すれば、ソコソコうまく出力できそう」という希望の光が見えてきました。
プロンプト微調整の試行錯誤とその成果
今回のプロンプト作成では、エラーを防ぐための特殊文字の扱いや、出力サイズの制御、そして文字コードの統一といった細部にわたる工夫が求められました。最初は行数が多すぎて処理が止まってしまう場面もありましたが、Cursor君とともに試行錯誤を続けた結果、徐々に安定した出力が得られるようになりました。
「フロー図さえ完成してしまえば、後はあとは細かい部分の調整だけ!」という実感が湧いてきた瞬間は、まさに技術者ならではの達成感でした。
まとめと今後の展望
今回の案件は、未知の技術に挑むことの大変さと同時に、新たな可能性を感じさせるものでした。UiPathという新たなツールとの出会い、そしてAIであるCursor君との協力によって、複雑なフロー図の解読と可視化という課題をクリアできる見通しが立ちました。
現在も作成途中ではありますが、これからさらにプロンプトの改良や出力の最適化を進め、最終的な完成を目指して邁進する所存です。
技術は日々進化し、私たちエンジニアに新たな挑戦を突きつけてきます。これからもその波に乗り遅れないよう、常に学び続け、挑戦を楽しんでいきたいと思います。
追記
プロンプトを更新
UIPathからCSVに出力されたフロー図を参考にして、Mermaidでフロー図を作成してください。
- エラー対策: 特殊文字によるエラーが発生しないように注意してください。
- サイズ調整: 処理の行数やステップが多い場合は、適切なサイズで出力してください。
- 文字コード: UTF-8を使用してください。
- 日本語の扱い: 日本語の表示は維持しつつ、ノードIDなどの内部表現は英語に変換してください。
- ノードラベル:フロー図内のノードラベルで「メッセージをログ」の場合は実際のログ内容に変更
- メッセージをログのラベルの表示ルール:メッセージをログ:ログの内容を表示
入力されたCSVの内容を解析し、適切なMermaidのコードを生成してください。
この記事が、同じように新たな技術に挑戦する皆さんへのエールとなれば幸いです。
次回のアップデートにもご期待ください!