1. 要旨
MAI-UIは、Tongyi-MAI(Tongyi Lab)によってオープンソース化された汎用GUIエージェントベースおよびサポートコードであり、「画面を見て、指示を理解し、インターフェースを操作する」という自動化されたタスクを目的としています。 このプロジェクトは、実際の展開に必要な3つの能力タイプを強調しています。すなわち、ユーザーとの積極的な明確化インタラクション(ask_user)、MCPを通じた外部ツールの呼び出し(mcp_call)、そしてデバイスとクラウドのコラボレーション実行アーキテクチャ(プライバシーとコスト制約の下でオンプレミス/クラウド推論の動的選択)です。 公式の技術報告書は同時に公開され、MAI-UI-2BおよびMAI-UI-8Bの重みはオープンソース化され、開発者がTell Zhishiという形でOpenAI互換APIにアクセスしやすくなった。
2. コア機能
- GUIグラウンディング:自然言語の指示を画面ターゲットコントロールの座標にマッピングし、「どこをクリック/どのボタンを探すか」という基本的な機能に使われます。
- モバイルGUIナビゲーション:クリック、long_press、タイプ、スワイプ、ドラッグ、system_button、待機、終了、応答などのアクションスペースをサポートし、多段階のタスク実行をカバーします。
- ネイティブユーザーインタラクション:コマンドに情報が欠如したり曖昧さがある場合、エージェントはオブジェクト、時間、アカウント、確認許可などの重要な制約を満たすために積極的に質問を行えます。
- MCPツールの強化:「純粋なUI操作」に加え、マップ、検索、システム機能など、ステップの長さや脆弱性を減らすためのツールやAPI機能を導入します。
- デバイスとクラウドの協働とプライバシー:タスクの状態や機密情報の判断を通じて、パフォーマンス、コスト、プライバシーリスクを考慮しながら、ローカルとクラウド間の実行をルーティングします。
3. 設置
1. クローンコード:git clone https://github.com/Tongyi-MAI/MAI-UI.git && cd MAI-UI
2. モデルサービスを起動(vLLM推奨):vllm>=0.11.0とtransformers>=4.57.0をインストールし、OpenAI互換APIを使ってサービスを起動します(例としてリポジトリのREADMEを参照)。
3. インスタレーションプロジェクトの依存関係:pip install -r requirements.txt
4. ノートブックを実行する:cookbook/にアクセスし、grounding.ipynb(位置決めの例)とrun_agent.ipynb(ナビゲーションエージェントの例)を使ってllm_base_urlをvLLMのサービスアドレスに示します。
4. 典型的なユースケース
- クロスアプリ取引自動化:「チケットチェック・グルーリング・スケジュール変更・@同事确认」などの長距離連携・マルチアプリケーション共同作業。
- モバイルアシスタント:Android環境で「設定、検索、入力、送信」などの多段階プロセスを実行します。
- 製品および運用品質検査:アプリのキーパス(ボタン到達可能性、パスが途切れているかどうか)の自動回帰および操作性検出。
- ツール強化タスク:UIとツール(ナビゲーション/POI/スケジュールなど)を組み合わせて、純粋なクリックによる累積誤差を減らす。
- デバイス側優先度シナリオ:弱いネットワークや高いプライバシーのタスクはまずローカルで実行され、必要に応じて複雑なステップをクラウドに切り替えます。
5. 生態系と競合製品
- エコロジカルベンチマーク:MAI-UIの評価や議論は、ScreenSpot-Pro、OSWorld、AndroidWorldなどのベンチマークと関連付けられることが多いです。 また、チームはより実物的なMobileWorldをオープンソース化しました(クロスアプリ、ユーザーインタラクション、MCP強化タスクを含むもの)。
- 隣接方向:UI-TARS、UI-INS、GUI-Actor、OS-AtlasなどもGUIの位置づけと運用に焦点を当てていますが、「インタラクションの明確化、ツール呼び出し、デバイスとクラウドの協働」といった着陸要素の統合方法は異なります。 選択の推奨は、あなたの環境(モバイル/デスクトップ/ウェブ)、利用可能なツール、プライバシー遵守状況、コスト予算に基づいています。
6. 制限事項と注意事項
- SOTA/指標の出典:公開評価は通常、論文やレポートで設定された評価と設定に基づいており、アプリやプロセスに移行する際にも検証が必要です。
- 長いリンクエラーの蓄積:UIタスクステップ数が長いほど脆弱になるため、ツール呼び出し、制約の明確化、「キーステップ確認」に優先を置くことが推奨されます。
- 環境依存性:解像度、テーマ、言語、アニメーション、ポップアップの違いは、位置取りや実行の安定性に大きな影響を与えます。
- 権限とコンプライアンス:アカウント、支払い、プライバシーデータに関わる業務は明確に承認され、自動的な過剰アクセスを防ぐためにログを監査する必要があります。
- 計算能力とレイテンシ:2B/8Bは開発やエッジ推論により適しています。 報告書で言及されたより大きなモデルのような大規模フォーマットは、より多くの計算能力と複雑な展開を必要とすることが多いです。
7. プロジェクトアドレス
https://github.com/Tongyi-MAI/MAI-UI
8. よくある質問
Q: MAI-UI-2BとMAI-UI-8Bのどちらを選ぶべきですか?
A: 2Bはより軽量で迅速な検証です。 8Bは通常、複雑な指示の理解や多段階のタスクにおいてより安定しており、実際にデバイスやタスク成功率のテストに基づいています。
Q: MAI-UIはどのようにしてvLLMを使ってOpenAI互換インターフェースとして展開しているのですか?
A: リポジトリのREADMEを押してvllm.entrypoints.openai.api_serverを起動し、--model、--served-model-name、ポート、パラレルパラメータを設定し、ノートブックやアプリのアドレスをllm_base_url指してください。
Q: MAI-UIはMCPツールコール(mcp_call)をサポートしていますか?
A: プロジェクトは拡張アクションの一環としてMCPを使用しています。 MCPサーバーを自社のスタック上で展開・設定し、エージェントが稼働している間に対応する機能を有効にする必要があります。
Q: なぜMAI-UIにはask_userが必要なのでしょうか(積極的な質問の明確化)?
A: 実際の命令には重要な制約(オブジェクト、スコープ、確認ステップ)が欠けていることが多く、積極的な明確化は誤操作を減らし、タスク完了率を向上させることができます。
Q: MAI-UIはオフラインでエンドサイドで動作させることは可能ですか?
A: 推論サービスはローカルで開始してオフラインで実行できますが、デバイス側の機能はモデルサイズ、デバイス計算能力、タスクの複雑さによって影響を受けます。 機密情報が関わる場合は、実行をエンド側で優先し、権限制御に参加することが推奨されます。