自動化の未来:X-PLUG/MobileAgentが変える開発現場
今回は「X-PLUG/MobileAgent」について、俺たちソフトウェアエンジニアの視点から、カラオケのコント風に楽しく、そして分かりやすく解説していくぜ!
(ガラガラと扉を開けて、カラオケボックスに入る二人。一人はノートパソコンを抱え、もう一人はスマホを片手にうろうろしている。)
エンジニアA(以下、A)
よーし、今日は新技術の勉強会ってことで、カラオケに来たぞ!歌う前に、ちょっとだけ解説させてくれ!
エンジニアB(以下、B)
えー、マジかよ!歌いたかったのに!でも、まぁいいや。で、何の話?なんか「X-PLUG/MobileAgent」とかいう、いかにもプログラマが好きそうな名前のやつだろ?
A
そう!その通り!こいつ、すごいやつなんだぜ!簡単に言うと、スマホの画面操作を自動化してくれる「AIエージェント」の一種だ。
B
は?そんなの、もうあるんじゃないの?自動タップとか、マクロツールとかさ。
A
いやいや、ちょっと違うんだよ。従来のやつは、特定の座標をタップしたり、決まった手順を繰り返すだけだっただろ?でも、こいつは違う。まるで人間のように、画面の情報を「見て」「理解して」「判断して」行動してくれるんだ!
(Aが持っていたノートパソコンを開き、スライドを表示する。カラオケの背景に、なぜかUML図やシーケンス図が映し出されている。)
A
例えばさ、お前がさ、毎朝起きたら、特定のニュースアプリを開いて、記事を読み込んで、面白かったらスクショを撮って、友達にLINEで送る…みたいな作業を、毎日手動でやってるだろ?
B
まぁ、やってるけど…それがどうした?
A
俺たちが作ってるアプリだってそうだよな?ユーザーは、アプリを開いて、設定ボタンをタップして、パスワードを変更して…みたいな操作を毎回やってる。これって、すげぇ面倒くさいよな!
B
うん、正直、めんどくさい。でも、それが普通じゃん。
A
普通じゃなくするんだよ!「X-PLUG/MobileAgent」を使えば、こういった面倒なGUI操作を、まるで人間が手で触るみたいに、自動でやってくれるんだ!
B
なんだって!?じゃあ、俺たちが作ったアプリのテストとか、デモとかも、全部自動でやってくれるのか?
A
その通り!そして、これこそが俺たちエンジニアにとっての最大のメリットなんだ!
(Aがスライドを切り替える。そこには「ソフトウェアエンジニアの視点から見たメリット」という文字と、カラオケの料金表が並んで表示されている。)
GUI自動テストの救世主!
A
今まで、GUIの自動テストって、画面のレイアウトが変わると、座標の指定とか全部やり直しで、マジでつらかったよな?
B
あー、あれね!ちょっとしたUI変更で、テストスクリプトが全部壊れるの、本当に地獄だった!
A
でも、「X-PLUG/MobileAgent」は、画面の「要素」を認識してくれるから、レイアウトが変わっても大丈夫!「このボタンをタップして」って言えば、ちゃんと探して押してくれるんだ!
デモ環境の構築もラクラク!
A
営業さんにアプリのデモを見せる時、いちいち手動で操作して、途中でミスって冷や汗かいたことないか?
B
あるある!「えーと、次はここのボタンを…あれ?どこだっけ?」みたいなやつ!
A
ちなみに、カラオケの部屋予約とかも自動でやってくれそうだよな。
B
確かに!「えーと、機種選んで…人数は2名…」みたいなのも、もう自動でやってくれそう!
新しいタイプのサービスが作れる!
A
他のアプリと連携するサービスとか、今まで作りにくかっただろ?
B
うん、APIがないと無理だったからなぁ。
A
でも、これを使えば、例えば「特定のニュースアプリの記事を自動で要約して、Slackに流す」とか、「ECサイトで在庫が復活したら通知する」みたいなサービスも作れちゃう!まるで、APIがないアプリにも、俺たちが作ったアプリからアクセスできるようなもんなんだ!
A
導入方法はすごく簡単だぜ!基本的には、Androidデバイス上で動くエージェントアプリと、それを操作するためのPC側のプログラム(PythonとかNode.jsとか)が必要になる。
(Aがノートパソコンの画面を操作し、サンプルコードを表示する。なぜかカラオケの歌詞テロップ風に表示される。)
# pythonで書くよ!
import mobile_agent
# エージェントを起動!
agent = mobile_agent.connect("android-device-id")
# 例1:画面をタップしてみる
print("歌を検索するぜ!")
agent.tap_on_text("検索")
# 例2:テキストを入力してみる
print("曲名を入力するよ!")
agent.input_text("マツケンサンバⅡ")
# 例3:画面をスクロールして要素を探す
print("DAMのメニュー画面を下にスクロールして、予約ボタンを探すぞ!")
agent.scroll_down_until_text("予約")
# 例4:画像認識で操作してみる
print("マイクの画像を認識して、ミュートボタンを押すぜ!")
agent.tap_on_image("microphone_icon.png")
# ちなみに、この辺のコードは、俺たちの開発環境で動くように書いてあるから、
# 細かい部分は公式サイトで確認してくれよな!
B
おおー!なんだか、めちゃくちゃシンプルじゃん!これなら、俺でもすぐに使えそうだ!
A
だろ?まるで、スマホを俺たちの手足のように使える感覚だ。
A
というわけで、「X-PLUG/MobileAgent」は、ただの自動化ツールじゃない。画面を「見て」「理解して」くれる、賢いAIエージェントなんだ。
B
なるほどな!手動テスト地獄からも解放されるし、新しいサービスも作れる!こいつは、俺たちの開発ライフを劇的に変えてくれそうだ!
A
だろ?さて、勉強会も終わったし、そろそろ歌うか!
(Bがマイクを手に取り、画面の「曲名検索」をタップしようとする。)
A
ちょっと待った!その操作も、もう自動でやらせようぜ!
(Aがノートパソコンを操作すると、カラオケ画面が勝手に動き出し、曲名検索画面で「マツケンサンバⅡ」と入力され、予約ボタンが押される。)
B
うわっ!すげぇ!
(二人は楽しそうにマイクを持ち、イントロが流れ始める…)
と、こんな感じで、いかに「X-PLUG/MobileAgent」が俺たちエンジニアにとってワクワクする技術か、伝わったかな?