GUI を滅す。―AI の新活用―
CUI >>> GUI
僕は GUI が嫌いだ。GUI は自動化を愛するプログラマーの敵だ。Git によるバージョン管理の目の上のたん瘤だ。
もちろんすべての GUI を否定するわけではないが、僕は Excel よりも Matplotlib を使いたい。Powerpoint より Marp を使いたい。Word よりも Markdown, LaTeX を使いたい。
CUI やテキストベースファイルを用いることの重要性は、LLM がそれらを扱いやすいことから強まってきていると感じる。今でも CLI や Markdown を頑なに拒む層は存在するが、時代の潮流を背に堂々と批判できるのは心地よいものだ。
しかし、現実には「GUIしか提供されていないアプリ」が山のように存在する。企業の公式アプリやクーポンアプリ、そして日常的に使うメッセージングアプリなどがそうだ。これらは広告が煩わしかったり、UI が洗練されていなかったりと、公式クライアントを使いたくない理由が多々あるにもかかわらず、代替品が存在しない。
AI で CLI を作ってみる
これまで僕らは、こうした不便なアプリに対し、改造 APK や Xposed モジュールを用いて対抗してきた。ゼロからサードパーティ製クライアントを開発するより、既存の APK をリバースエンジニアリングする方がはるかに手っ取り早かったからだ。
しかし、今僕の手には AI がある。そこで僕は、とあるアプリに対して TrustMe モジュールを適用し、Certificate Pinning を解除した上で、mitmproxy によって傍受した通信内容を Codex に解析させてみることにした。
その結果、いとも簡単に CLI を作ることに成功し、また様々な操作を自動化することに成功した。(具体的は言えない。すくなくとも、例のサイゼリヤ CLI よりは技術者倫理の域をはるかに超えている👊からだ。)
通信内容は APK などと違い逆コンパイルして地道にメソッドを探す必要がないし、難読化もあまりされていない。これが AI の超高速な実装力とうまくマッチしていたのだ。
リバースエンジニアリングの新たな可能性
AI は、通信のリバースエンジニアリングの大変さという問題を一挙に解決した。ほぼノーコストであらゆるアプリの CLI を作ることができる時代になったのだ。CLI さえあれば僕たちはどこまでも行ける。シェルで自動化を組むことも、Codex に頼んで注文させることも、サードパーティ製クライアントを作ることでベターな GUI を再構築ことだってできる。
今後 GUI として生き残れるのは、X や YouTube のように、すでに極めて洗練された UI/UX を備えているプラットフォームだけであろう。そうしたサービスですら、モジュールによる改変(広告ブロックなど)の対象にはなり得るが。
粗悪な GUI しか持たないアプリの壁は、いとも簡単に突破される。産廃代表の某メッセージングアプリでさえ、非公式の CLI やサードパーティ製クライアントを AI の力で構築できてしまうだろう。
AI は質の低い GUI を淘汰するのだ。


コメント