MAS Agent
Agente de IA para Android: de la instrucción a la macro
Describe una tarea, deja que el agente de IA para Android de MAS explore la app en un emulador o en la nube y recibe una macro en Python validada y editable.
- Windows
- Mac
- Emulador
- Dispositivo en la nube
- Studio
- MCP
En esta página
- Antes de empezar
- Iniciar una sesión con el agente de IA para Android
- Fases: cómo genera el agente una macro a partir de la instrucción
- Preguntas, el plan y las correcciones
- Presupuestos y créditos
- El mapa de menús
- Añadir a mis macros
- Qué contiene el proyecto
- Una IA que juega juegos móviles y cualquier otra rutina de pantalla
- Solución de problemas
- El agente hace una pregunta y espera
- La validación sigue fallando
- Presupuesto alcanzado
MAS Agent es el agente de IA para Android que vive dentro de Macro Automation Studio (MAS). Le describes una tarea con tus palabras y el agente de IA para Android explora la app en un dispositivo, construye un mapa de sus pantallas, captura de la pantalla en directo los botones y las lecturas que necesita, y escribe una macro estándar de MAS en Python con imágenes de plantilla y regiones OCR. Después valida la macro con 3 ejecuciones de validación en el mismo dispositivo y te la entrega. A partir de ahí la macro se repite sin ningún modelo de por medio, a cero créditos.
Antes de empezar
- MAS instalado y con sesión iniciada, con la prueba gratuita o un plan de pago. Consulta Instalación.
- Un dispositivo que el agente pueda controlar: un emulador en marcha añadido en Grupos de dispositivos, o un dispositivo en la nube en estado Listo.
- La app que quieres automatizar instalada en ese dispositivo y con la pantalla de inicio de sesión ya superada.
- Créditos de IA en tu cuenta. La página Facturación explica cómo funcionan los créditos.
Iniciar una sesión con el agente de IA para Android
- Abre Agente en la barra lateral.
- Elige el Dispositivo. La lista tiene dos grupos, Emuladores locales y Dispositivos en la nube. Haz clic en Actualizar dispositivos si falta un emulador que acabas de iniciar.
- Elige el Proveedor y el Modelo. Los Modelos en la nube se ejecutan en los servidores de MAS y se cobran de tus créditos de IA.
- Escribe la tarea en el cuadro de instrucción, por ejemplo “Recoge la recompensa diaria y cierra todos los avisos”, y haz clic en Generar.
Dónde se ejecuta la sesión depende del dispositivo:
- Emulador local: MAS inicia el motor del agente en tu máquina (“Iniciando el motor del agente…”). El motor habla con el emulador por adb, así que el emulador y la app siguen abiertos.
- Dispositivo en la nube: la sesión arranca en los servidores de MAS junto al dispositivo (“Ejecutándose en nuestros servidores”). Puedes cerrar la app y volver más tarde; la conversación se guarda en tu cuenta. Un dispositivo en la nube usa siempre Modelos en la nube.
Solo se ejecuta un agente por dispositivo a la vez. Si otro chat está ocupado en el mismo dispositivo, MAS ofrece Ir a ese chat o Detenerlo y continuar aquí.
Fases: cómo genera el agente una macro a partir de la instrucción
La pestaña Resumen muestra la fase actual y la lista Progreso la sigue con palabras sencillas.
| Fase | Qué hace el agente | Hito que ves |
|---|---|---|
| SCOUT | Explora la app y aprende sus pantallas | Notas en el chat |
| PLAN | Escribe el plan y te pide que lo apruebes | ”Planificando la automatización…” |
| HARVEST | Recorta imágenes de plantilla y mide regiones OCR en la pantalla en directo | ”Capturando los botones y lecturas que necesitará la macro…” |
| CODIFY | Escribe el proyecto de Python | ”Escribiendo tu macro…” |
| REVIEW | Revisa el borrador frente a lo que observó | ”Revisando el código generado frente a lo observado…” |
| VALIDATE | Ejecuta la macro en tu dispositivo | ”Probando la macro en tu dispositivo…” |
| REPAIR | Corrige lo que encontró la prueba y vuelve a HARVEST o CODIFY | ”Corrigiendo un problema encontrado en las pruebas…” |
| DONE | Te entrega la tarjeta de resultado | ”Hecho”, con “graduada” cuando todas las ejecuciones pasaron |
Mientras hay una tarjeta de pregunta abierta, la fase se muestra como WAITING_FOR_USER y el reloj de la sesión se detiene. La reparación está limitada por el progreso, no por un número: cuando el mismo fallo se repite con el código sin cambios, la validación se pausa hasta que el agente trae un diagnóstico nuevo o te pregunta. Un tope de 25 ciclos de reparación cierra una sesión que de otro modo seguiría en bucle.
Preguntas, el plan y las correcciones
El agente pregunta en lugar de adivinar. Cuando la pantalla admite dos lecturas, o un paso gastaría o destruiría algo, se detiene y te plantea la pregunta.
- Una tarjeta titulada El agente necesita tu respuesta contiene de una a cuatro preguntas. Elige una opción o escribe una respuesta propia y haz clic en Enviar respuestas.
- El plan es el contrato de la sesión: el objetivo, el bucle principal y la comprobación de éxito. Cualquier gasto dentro del juego necesita un límite que apruebes antes de que el agente gaste nada en la app.
- Para corregir el rumbo a mitad de sesión, escribe en el cuadro de texto mientras trabaja y haz clic en Redirigir. El mensaje entra en la siguiente decisión del agente.
- Detener termina la sesión al instante. El trabajo se guarda; envía un mensaje de seguimiento en el mismo chat para continuar.
Presupuestos y créditos
El panel Presupuestos muestra los pasos, los créditos (o el coste), los tokens y el gasto dentro del juego de la sesión. Un presupuesto de 0 significa sin límite, y ese es el valor por defecto en todos los ejes: tu saldo de créditos es el límite real. Cuando el saldo llega a cero, MAS rechaza más llamadas al modelo y la sesión se detiene con lo que tiene.
Los créditos se gastan solo mientras el agente explora, escribe y prueba. Una macro terminada se ejecuta a cero créditos en cualquier dispositivo. El indicador Créditos de la página Agente se actualiza mientras la sesión avanza, y Recargar créditos abre la página Suscripción. El funcionamiento está en la página Facturación; las tarifas, en la página de precios.
El mapa de menús
Un mapa es la memoria que el agente tiene de una app: cada pantalla que ha visto y los botones que las conectan. Crece solo mientras el agente trabaja, y la pestaña Mapa lo muestra como un grafo con recuentos de pantallas, transiciones, toques y botones sin explorar.
- Mapear esta app recorre los menús de forma deliberada (unos 8 minutos); Pasada profunda abre menús más profundos (unos 20 minutos). Ambas son solo navegación: el agente retrocede ante cualquier cosa que venda algo.
- Compartir mis mapas junta tus pasadas con las de otras cuentas que mapean la misma app. Las contribuciones se mantienen privadas hasta que otra cuenta las corrobora, y puedes retirar una desde Mis contribuciones. Con el uso compartido apagado, tus mapas siguen ayudando a tus propias sesiones.
Añadir a mis macros
Cuando la tarjeta de resultado muestre Hecho, haz clic en Añadir a mis macros. MAS crea el proyecto en tu carpeta de proyectos, sube cada imagen de plantilla a tu biblioteca de imágenes dentro de una carpeta agent/, reescribe los id de imagen dentro del código e inicializa git. El chat ofrece entonces Abrir en el IDE, Ejecución de prueba en el mismo dispositivo y una tarjeta de programación (Una vez, Diaria o Semanal, y luego Crear programación). Las ejecuciones programadas usan los argumentos guardados en la tarjeta del dispositivo.
Para cambiar una macro más adelante, elígela en Mejorar en la lista del espacio de trabajo y describe qué añadir o cambiar. El agente parte del proyecto existente y lo actualiza en el sitio.
Qué contiene el proyecto
| Archivo | Propósito |
|---|---|
src/app.py | La macro: el registro mas.images({...}), una función por pantalla y el bucle principal |
src/script_args.py | El analizador de argumentos generado a partir del formulario |
script_runner.uibproj | El formulario de argumentos para UI Builder |
images/manifest.json | Mapa de nombre a archivo de cada plantilla capturada; los archivos se quedan tras la instalación |
task.yaml | La especificación de validación |
agent_session.json | Qué sesión creó el proyecto, usado por sesiones de mejora posteriores |
README.md | El objetivo y la tabla de argumentos |
task.yaml registra el nombre de la tarea, la instrucción, el paquete de la app, el dispositivo, una precondición de entrada (una plantilla que debe verse al empezar), un tiempo límite, script_runs: 3, los argumentos de prueba y las comprobaciones. Los tipos de comprobación son exit_code, template, ocr_region, storage, adb_shell, element_visible y element_text, cada uno con when: active, idempotent o always. La validación es una prueba de humo: el bucle principal se limita a dos iteraciones. El entorno de ejecución de Studio nunca lee task.yaml.
Tras la instalación editas como cualquier otro proyecto: el flujo en src/app.py con el SDK completo, las imágenes de plantilla en Asset Lab y la biblioteca de imágenes, las regiones OCR en el código y el formulario de argumentos en UI Builder. El recorrido por Studio cubre el editor, las ejecuciones y el depurador.
Una IA que juega juegos móviles y cualquier otra rutina de pantalla
MAS Agent se encarga de rutinas basadas en la pantalla en emuladores y dispositivos en la nube: los avisos e interrupciones que encontró durante la exploración, contadores y temporizadores leídos con OCR para que la macro espere o salte, y la misma rutina en todo un grupo de dispositivos según un horario. Te pregunta por las decisiones que no puede leer de la pantalla, por el presupuesto antes de empezar, y antes de cualquier acción destructiva o de cualquier compra.
Trabaja solo desde la pantalla. Nunca modifica un APK ni lee la memoria de un juego, y necesita un dispositivo que pueda ver. Ninguna herramienta de automatización está libre de riesgos al 100 %, así que automatiza con responsabilidad y bajo tu propio criterio.
El mismo agente está disponible desde Claude Code, Cursor, Codex y otros clientes a través del servidor MCP, que expone author_macro, get_agent_session, answer_agent_session, stop_agent_session y get_map.
Solución de problemas
El agente hace una pregunta y espera
La sesión está en pausa a propósito y el reloj detenido, así que no se gasta nada. Abre la pestaña Chat, responde a la tarjeta y haz clic en Enviar respuestas. Una tarjeta marcada como “Pregunta caducada” pertenece a una sesión que ya terminó; responde en el cuadro de texto y el seguimiento arranca con la conversación completa.
La validación sigue fallando
Lee la comprobación fallida en el chat: una plantilla que nunca llegó a verse, un patrón OCR que no coincidió o un valor de almacenamiento que la macro nunca guardó. Redirige al agente con lo que sepas o responde a su pregunta. Si el emulador se cerró de golpe, el agente se detiene tras cinco errores de dispositivo seguidos; reinicia el emulador y escribe en el chat para continuar.
Presupuesto alcanzado
La sesión terminó porque se agotó un presupuesto que fijaste o porque tu saldo de créditos llegó a cero. El trabajo se guarda. Recarga créditos desde la página Suscripción, o sube el presupuesto, y envía un mensaje de seguimiento en el mismo chat.
Siguientes pasos
Páginas relacionadas
Gracias. Si algo está mal, cuéntanoslo en Discord.
¿Dudas? Pregunta en Discord