1. Résumé
MAI-UI est une base d’agents GUI universelle et un code open source supporté par Tongyi-MAI (Tongyi Lab), destiné à la tâche automatisée de « regarder l’écran, comprendre les instructions et l’interface d’exploitation ». Le projet met l’accent sur trois types de capacités nécessaires aux déploiements réels : l’interaction active de clarification avec les utilisateurs (ask_user), l’invocation d’outils externes (mcp_call) via MCP, et l’architecture d’exécution collaborative device-cloud (sélection dynamique de l’inférence sur site/cloud sous contraintes de confidentialité et de coût). Le rapport technique officiel a été publié simultanément, et les poids MAI-UI-2B et MAI-UI-8B ont été ouverts, facilitant l’accès aux développeurs à l’API compatible OpenAI sous la forme de Tell Zhishi.
2. Caractéristiques principales
- Mise à la terre de l’interface graphique : Mappe les instructions en langage naturel aux coordonnées du contrôle de cible à l’écran, utilisé pour la capacité de base « où cliquer/trouver quel bouton ».
- Navigation GUI mobile : prend en charge le clic, le long_press, le tapage, le balayage, le glissement, le system_button, l’attente, la terminaison, la réponse et d’autres espaces d’action, couvrant l’exécution de tâches en plusieurs étapes.
- Interaction native de l’utilisateur : Lorsque la commande manque d’informations ou qu’il y a une ambiguïté, l’agent peut poser activement des questions pour remplir des contraintes clés (telles que l’objet, l’heure, le compte, la permission de confirmation).
- Améliorations des outils MCP : En plus des « opérations purement UI », introduisez des outils et des fonctionnalités API pour réduire la longueur des étapes et la vulnérabilité (telles que la carte, la recherche, les capacités système, etc.).
- Collaboration et confidentialité entre appareil et cloud : Orienter l’exécution entre local et cloud via l’état des tâches et le jugement des informations sensibles, en tenant compte des risques de performance, de coût et de confidentialité.
3. Installation
1. Code clone : git clone https://github.com/Tongyi-MAI/MAI-UI.git && cd MAI-UI
2. Lancer le service modèle (recommandé par vLLM) : Installer vllm>=0.11.0 et transformers>=4.57.0, et utiliser une API compatible OpenAI pour démarrer le service (voir le dépôt README pour un exemple).
3. Dépendances du projet d’installation : pip install -r requirements.txt
4. Exécutez le carnet : Allez dans le cookbook/ et utilisez grounding.ipynb (exemple de positionnement) et run_agent.ipynb (exemple d’agent de navigation) pour llm_base_url pointer vers l’adresse de votre service vLLM.
4. Cas d’usage typiques
- Automatisation des transactions inter-applications : telles que « vérification des tickets-groupements-changements de planning-@同事确认 » et d’autres tâches collaboratives multi-applications à long lien.
- Assistant mobile : Effectuer des processus en plusieurs étapes tels que « définir, rechercher, remplir et soumettre » dans l’environnement Android.
- Inspection qualité produit et exploitation : régression automatique et détection d’opérabilité du chemin clé de l’application (accessibilité des boutons, défaillance du chemin).
- Tâches améliorées par les outils : l’interface utilisateur et les outils sont mélangés (comme la navigation/le point d’intérêt/le planning, etc.) afin de réduire l’erreur cumulative causée par le simple clic.
- Scénario de priorité côté appareil : Les tâches réseau faibles/haute confidentialité sont d’abord exécutées localement, puis basculent vers le cloud pour gérer des étapes complexes si nécessaire.
5. Écologie et produits concurrents
- Références écologiques : Les évaluations et discussions MAI-UI sont souvent associées à des benchmarks tels que ScreenSpot-Pro, OSWorld et AndroidWorld. L’équipe a également rendu MobileWorld open source, qui est plus réaliste (avec des tâches d’amélioration inter-applications, d’interaction utilisateur et d’amélioration MCP).
- Directions adjacentes : UI-TARS, UI-Ins, GUI-Actor, OS-Atlas, etc. se concentrent également sur le positionnement et l’exploitation de l’interface graphique, mais les méthodes d’intégration dans les éléments d’atterrissage telles que « clarification d’interaction, appel d’outils et collaboration device-cloud » sont différentes. Les recommandations de sélection sont basées sur votre environnement (mobile/bureau/web), les outils disponibles, la conformité à la confidentialité et le budget de coûts.
6. Limitations et précautions
- SOTA/source de l’indicateur : Les notes publiques proviennent généralement de l’évaluation et de la configuration définies par l’article/rapport, et doivent toujours être vérifiées lors de la migration vers votre application/processus.
- Accumulation d’erreurs de long lien : plus le nombre d’étapes de tâches UI est long, plus elle est fragile, il est donc recommandé de donner la priorité à l’appel d’outils, à la clarification des contraintes et à la « confirmation d’étapes clés ».
- Dépendance à l’environnement : Différentes résolutions, thèmes, langues, animations et fenêtres contextuelles auront un impact significatif sur le positionnement et la stabilité de l’exécution.
- Autorisations et conformité : Les opérations impliquant les comptes, les paiements et les données de confidentialité doivent être explicitement autorisées et auditer les journaux afin d’éviter toute surextension automatisée.
- Puissance de calcul et latence : 2B/8B est plus adapté au développement et à l’inférence en bordure ; Les formats plus grands, tels que les modèles plus grands mentionnés dans le rapport, nécessitent souvent plus de puissance de calcul et des déploiements plus complexes.
7. Adresse du projet
https://github.com/Tongyi-MAI/MAI-UI
8. Questions fréquemment posées
Q : Comment choisir entre MAI-UI-2B et MAI-UI-8B ?
R : 2B est plus léger et une vérification rapide ; 8B est généralement plus stable pour la compréhension complexe des instructions et les tâches en plusieurs étapes, et est en fait basé sur le test de réussite de votre appareil et de votre tâche.
Q : Comment MAI-UI utilise-t-il le vLLM pour être déployé en tant qu’interface compatible OpenAI ?
R : Appuyez sur le dépôt README pour lancer le vllm.entrypoints.openai.api_server, définissez les paramètres --model, --served-model-name, port et parallèle, puis pointez llm_base_url vers l’adresse dans le carnet/application.
Q : MAI-UI prend-il en charge les appels d’outils MCP (mcp_call) ?
R : Le projet utilise MCP dans le cadre de l’action d’expansion ; Vous devez déployer/configurer MCP Server sur votre propre stack et activer les capacités correspondantes lorsque l’agent est en cours d’exécution.
Q : Pourquoi MAI-UI a-t-elle besoin de ask_user (clarification proactive des questions) ?
R : Les instructions réelles manquent souvent de contraintes clés (objet, portée, étapes de confirmation), et une clarification active peut réduire les erreurs de fonctionnement et améliorer les taux d’accomplissement des tâches.
Q : Peut-on utiliser MAI-UI hors ligne et fonctionner du côté final ?
R : Les services d’inférence peuvent être lancés localement et exécutés hors ligne, mais la capacité côté appareil est affectée par la taille du modèle, la puissance de calcul du dispositif et la complexité des tâches. Lorsque des informations sensibles sont impliquées, il est recommandé de prioriser l’exécution du côté final et de joindre le contrôle des permissions.