Agentes de IA para dispositivos móveis testados em 65 tarefas do mundo real.
Passamos 3 dias avaliando o desempenho de quatro agentes de IA para dispositivos móveis ( DroidRun, Mobile-Agent, AutoDroid e AppAgent ) em 65 tarefas do mundo real, utilizando um emulador de Android com aplicativos como gerenciamento de calendário, criação de contatos, captura de fotos, gravação de áudio e operações com arquivos.
Veja os resultados dos testes de desempenho, incluindo comparação de desempenho no mundo real, custos e tempos de execução :
comparação de desempenho de agentes de IA móvel
DroidRun
Maior taxa de sucesso (43%) com alto custo por tarefa concluída com sucesso (US$ 0,075, ~3.225 tokens)
O DroidRun demonstrou o melhor desempenho, com uma taxa de sucesso de 43% nas 65 tarefas. Ao analisar apenas as tarefas concluídas com sucesso por todos os agentes, o DroidRun consumiu uma média de 3.225 tokens, a um custo de US$ 0,075 por tarefa.
Esse consumo substancial de recursos reflete a arquitetura de raciocínio em múltiplas etapas do DroidRun, onde o agente mantém um rastreamento detalhado do estado, gera planos de ação explícitos e fornece explicações para cada decisão. Embora custosa, essa abordagem abrangente oferece a maior taxa de sucesso no teste de desempenho.
Agente Móvel
Desempenho sólido (29%) e custo-benefício (US$ 0,025, aproximadamente 1.130 tokens)
O Mobile-Agent alcançou a segunda maior taxa de sucesso, com 29%, mantendo uma relação custo-benefício razoável. Em tarefas comumente bem-sucedidas entre todos os agentes, o Mobile-Agent teve um custo médio de US$ 0,025 e 1.130 tokens por tarefa.
Isso representa aproximadamente um terço do custo por tarefa do DroidRun, ao mesmo tempo que atinge cerca de dois terços de sua taxa de sucesso, tornando o Mobile-Agent uma opção atraente para implantações onde as restrições orçamentárias são importantes.
No entanto, a diferença de 14 pontos percentuais na taxa de sucesso sugere que os recursos adicionais de raciocínio do DroidRun oferecem um valor significativo para aplicações de missão crítica.
AutoDroid
Melhor relação custo-benefício (14% de sucesso, US$ 0,017, ~765 tokens), mas eficácia limitada.
O AutoDroid demonstrou o menor custo em tarefas comumente bem-sucedidas, com apenas US$ 0,017 e 765 tokens por tarefa, tornando-se a opção mais econômica no teste comparativo.
No entanto, sua taxa de sucesso de 14%, menos da metade do desempenho do Mobile-Agent e aproximadamente um terço do DroidRun, indica que essa vantagem de custo acarreta desvantagens significativas em termos de confiabilidade.
Apesar de utilizar uma abordagem baseada em ações semelhante à do DroidRun, a sobrecarga mínima de raciocínio do AutoDroid resulta em economias substanciais de custos, mas em capacidade limitada de conclusão de tarefas.
Agente de Aplicativos
Pior desempenho (7% de sucesso) com o custo mais elevado (US$ 0,90, aproximadamente 2.346 tokens)
O AppAgent registrou a menor taxa de sucesso, de 7%, e o maior custo em tarefas geralmente bem-sucedidas, a US$ 0,90 e 2.346 tokens por tarefa. Doze vezes mais caro que o DroidRun e mais de cinquenta vezes mais caro que o AutoDroid.
Essa baixa relação custo-benefício decorre da abordagem baseada em visão do AppAgent, que processa capturas de tela rotuladas por meio de LLMs multimodais para cada interação. Cada captura de tela enviada ao LLM multimodal consome uma quantidade substancial de tokens de entrada para processamento de imagem, enquanto as respostas de texto propriamente ditas (tokens de conclusão) permanecem relativamente modestas.
Isso cria uma distribuição de tokens altamente desequilibrada, onde a sobrecarga de processamento visual domina o custo sem melhorias correspondentes na conclusão da tarefa, já que o agente tem dificuldades com cálculos de coordenadas e identificação de elementos da interface do usuário em dispositivos móveis.
comparação do tempo de execução de agentes de IA móvel
Na tarefa única que todos os agentes concluíram com sucesso, o AutoDroid foi o mais rápido, com 57 segundos, seguido de perto pelo Mobile-Agent, com 66 segundos. O DroidRun concluiu a tarefa em 78 segundos, demonstrando que sua arquitetura de raciocínio em várias etapas ainda permite uma execução eficiente, apesar do maior consumo de tokens.
O AppAgent apresentou uma latência significativamente maior, de 180 segundos, devido à sua abordagem baseada em visão computacional, que exige um extenso processamento de capturas de tela por meio de modelos de lógica latente multimodais para cada interação.
Você pode consultar nossa metodologia de avaliação comparativa aqui.
Visão geral dos agentes de IA móveis
A quantidade de estrelas no GitHub muda rapidamente, e atualizaremos a tabela de acordo.
DroidRun
DroidRun é uma estrutura de código aberto que cria agentes de IA nativos para dispositivos móveis, capazes de controlar aplicativos e telefones móveis de forma autônoma. Trata-se de uma estrutura fundamental que converte interfaces de usuário em dados estruturados com os quais grandes modelos de linguagem podem interagir, possibilitando automação complexa diretamente em dispositivos móveis.
O DroidRun ganhou força rapidamente: mais de 900 desenvolvedores se inscreveram em 24 horas, e o projeto alcançou 3,8 mil estrelas no GitHub, tornando-se uma das estruturas de crescimento mais rápido para agentes de IA móvel.
Veja em ação:
AutoDroid
O AutoDroid é um sistema de automação de tarefas móveis projetado para executar tarefas arbitrárias em qualquer aplicativo Android sem configuração manual. Ele aproveita o raciocínio de senso comum de grandes modelos de linguagem como GPT-4 e Vicuna, combinado com análises automatizadas específicas do aplicativo.
O AutoDroid introduz uma representação de interface do usuário (UI) com reconhecimento de funcionalidade para conectar interfaces de aplicativos com modelos de lógica de aprendizagem (LLMs), usa injeção de memória baseada em exploração para ensinar ao modelo comportamentos específicos do aplicativo e inclui otimização de consultas para reduzir os custos de inferência. Avaliado em um conjunto de 158 tarefas, alcançou 90,9% de precisão nas ações e 71,3% de sucesso nas tarefas, superando as linhas de base baseadas apenas no GPT-4. 1
Agente Móvel
O repositório GitHub X-PLUG/MobileAgent é a implementação oficial do Mobile-Agent, uma estrutura de agente de IA projetada para controlar aplicativos móveis de forma autônoma, percebendo e raciocinando sobre suas representações visuais da interface do usuário.
Este projeto é do grupo X-PLUG da Universidade de Tsinghua e foi apresentado na ICLR 2024, com o objetivo de expandir os limites dos agentes móveis por meio do aprendizado multimodal, em particular a percepção visual e o seguimento de instruções. Veja o vídeo para conferir o projeto em ação.
Agente de Aplicativos
O repositório GitHub TencentQQGYLab/AppAgent é um projeto de pesquisa de código aberto do QQG Y-Lab de Tencent. Ele apresenta o AppAgent, uma estrutura de agente de IA móvel projetada para operar de forma autônoma e analisar aplicativos Android sem a necessidade de código escrito por humanos para cada aplicativo individual.
Fonte: AppAgent 2
Características de agentes de IA móveis
gerenciamento de comandos orientado a objetivos
O agente determina quais aplicativos abrir, quais ações executar e como sequenciá-las. Por exemplo, os usuários especificam o que desejam que seja feito (por exemplo, "Reservar uma carona para o aeroporto"), e não as etapas individuais.
Raciocínio fundamentado em LLM
Com o auxílio de grandes modelos de linguagem (por exemplo, GPT-4, Claude, Gemini), esses agentes podem:
- Identificar a intenção do usuário e o conteúdo da tela
- Elabore planos de ação lógicos e passo a passo.
- Adapte-se às mudanças dinâmicas da interface do usuário em diferentes estados do aplicativo.
Controle de aplicativo nativo e estruturado
Em vez de depender da extração de dados da tela:
- Os agentes extraem hierarquias estruturadas da interface do usuário (por exemplo, árvores de botões e campos baseadas em XML).
- Eles interagem diretamente com os elementos da interface do usuário, tratando-os como APIs de primeira classe.
- Exemplo: O DroidRun usa as APIs de acessibilidade do Android para ler e interagir com elementos reais da interface do usuário.
Execução de fluxo de trabalho entre aplicativos
Os agentes operam em vários aplicativos e fluxos de trabalho com várias etapas. Eles podem replanejar se uma etapa intermediária falhar. Por exemplo: “Baixar um arquivo do e-mail → carregá-lo no Drive Google → enviar uma confirmação.”
Execução em nuvem e no dispositivo para agentes de IA móveis
Os agentes de IA para dispositivos móveis podem ser executados na nuvem, no próprio dispositivo ou usar uma abordagem híbrida.
Agentes baseados em nuvem se conectam a modelos como GPT-4, Claude ou Gemini por meio de chamadas de API. Isso possibilita raciocínio sofisticado e conclusão de tarefas em várias etapas. No entanto, requer a transmissão de dados da tela e contexto do usuário para servidores externos, o que levanta preocupações com a privacidade, principalmente para aplicações sensíveis. O desempenho também depende da estabilidade da conectividade de rede.
Os agentes instalados no dispositivo executam modelos diretamente no hardware móvel, mantendo todos os dados locais. Isso elimina os riscos de transmissão e permite a funcionalidade offline. A desvantagem é a capacidade limitada do modelo: as NPUs e GPUs móveis atuais restringem o tamanho do modelo, o que pode reduzir a precisão em tarefas de raciocínio complexas.
Arquiteturas híbridas combinam ambas as abordagens. Modelos leves no dispositivo lidam com tarefas rotineiras e classificação inicial de intenções, enquanto operações complexas são encaminhadas para LLMs na nuvem. O Apple Intelligence e o Gemini Nano seguem esse padrão, processando solicitações simples localmente e escalando quando necessário. O equilíbrio ideal entre processamento local e na nuvem continua a evoluir à medida que o hardware de IA de borda melhora.
Riscos de segurança e privacidade em agentes de IA móveis
Agentes de IA para dispositivos móveis leem o conteúdo da tela, navegam pelos aplicativos e executam ações, obtendo acesso profundo a dados sensíveis do usuário. Isso levanta diversas preocupações:
- Exposição do conteúdo da tela: os agentes podem transmitir senhas, mensagens e dados financeiros para LLMs na nuvem para processamento.
- Vazamento de credenciais: fluxos de trabalho de login automático podem expor involuntariamente senhas salvas e tokens de autenticação.
- Retenção de dados pouco clara: Muitas vezes não fica claro como os registros do agente e as capturas de tela são armazenados ou compartilhados.
- Risco de injeção de código: Conteúdo malicioso do aplicativo pode manipular o comportamento do agente por meio de texto de interface do usuário cuidadosamente elaborado.
Lidar com esses riscos exige uma abordagem multifacetada:
- Processamento no dispositivo: Executar modelos localmente reduz a necessidade de transmitir dados confidenciais para servidores externos.
- Mascaramento de PII: A detecção e redação automática de informações pessoais antes das chamadas de API limita a exposição.
- Limites de permissão: restringir o acesso do agente a categorias de aplicativos sensíveis (bancários, saúde, mensagens) impede o acesso não intencional aos dados.
- Políticas de API transparentes: escolher provedores com políticas claras de tratamento e retenção de dados ajuda a garantir a conformidade.
Metodologia de referência
Realizamos uma avaliação comparativa para analisar o desempenho de agentes móveis de IA que operam no sistema operacional Android em tarefas do mundo real. Utilizamos o framework AndroidWorld e testamos todos os agentes nas mesmas tarefas padrão.
Framework AndroidWorld
AndroidWorld é uma plataforma de benchmark de código aberto desenvolvida especificamente pela Google Research para avaliar agentes móveis. Esta plataforma visa medir o desempenho de agentes que atuam em aplicações Android reais por meio de tarefas padronizadas.
A característica mais importante do AndroidWorld é que ele utiliza aplicativos Android reais em vez de ambientes de teste artificiais e pode avaliar automaticamente o desempenho dos agentes. Neste estudo, utilizamos 65 tarefas. Essas tarefas abrangem cenários de uso diário de dispositivos móveis, como gerenciamento de calendário, adição de contatos, gravação de voz, captura de fotos e operações com arquivos.
Configuração do ambiente
Configuração do sistema: Para configurar o ambiente de benchmark, primeiro instalamos o Android Studio no sistema operacional Windows 11 e configuramos o emulador oficial do Android da Google.
Configuração do dispositivo virtual: Criamos um dispositivo virtual simulando um Pixel 6. As especificações desse dispositivo virtual foram definidas como sistema operacional Android 13 (API nível 33), resolução de 1080×2400, 8 GB de RAM e 20 GB de espaço de armazenamento.
Configuração do emulador: Para integrar o emulador com o AndroidWorld, configuramos a porta gRPC como 8554, pois o AndroidWorld se comunica com o emulador por meio dessa porta.
Configuração do ambiente Python: Para preparar o ambiente Python, criamos um novo ambiente conda com Python 3.11 usando o Miniconda. Após clonar o repositório AndroidWorld do GitHub, instalamos todas as dependências usando o pip. Uma das etapas mais críticas do AndroidWorld é o processo de configuração do emulador.
O processo de instalação levou aproximadamente de 45 a 60 minutos. Durante esse processo, o AndroidWorld instalou automaticamente todos os aplicativos Android a serem testados no emulador.
Criação de dados de estado inicial : Criou dados de estado inicial para cada aplicação. Por exemplo, adicionou eventos à aplicação de calendário, contatos à aplicação de contatos e um podcast chamado "banana" à aplicação de podcasts. Também salvou snapshots para cada tarefa, permitindo que cada uma iniciasse a partir de um estado inicial limpo.
Integrações de agentes
AutoDroid
Integração com o AutoDroid: Para integrar o AutoDroid, primeiro clonamos o repositório do GitHub e instalamos os pacotes Python necessários. A principal funcionalidade do AutoDroid é identificar elementos da interface do usuário por meio da análise de XML e executar tarefas com uma abordagem baseada em ações.
O agente atribui um número de índice a cada elemento clicável ou focalizável na tela e recebe comandos do LLM, como “tap(5)” ou “text('olá')”.
Wrapper do AutoDroid: Para integração com o AndroidWorld, criamos uma classe wrapper chamada autodroid_agent.py. Este wrapper realiza as configurações necessárias no método de inicialização do AutoDroid, converte o objetivo da tarefa proveniente do AndroidWorld em um formato de prompt que o AutoDroid possa executar e transforma as ações geradas pelo AutoDroid em comandos ADB reais usando as funções execute_adb_call do AndroidWorld.
Fluxo de execução: No método passo a passo do AutoDroid, o agente primeiro captura uma imagem da tela e um arquivo XML da tela, analisa os elementos da interface do usuário, envia essas informações para o LLM e executa ações de toque, deslize ou entrada de texto de acordo com a resposta recebida.
DroidRun
Integração com o DroidRun: Seguimos um processo de integração semelhante para o DroidRun. Após clonar o repositório do DroidRun do GitHub, instalamos as dependências listadas no arquivo requirements.txt.
A estrutura arquitetônica do DroidRun é mais complexa porque possui um sistema de raciocínio e rastreamento de estado em múltiplas etapas. O DroidRun pode explicar não apenas o que fará em cada etapa, mas também o porquê, e pode usar os resultados das etapas anteriores na etapa seguinte.
Wrapper do DroidRun: Criamos o wrapper droidrun_agent.py para integração com o AndroidWorld. A parte mais importante desse wrapper foi tornar a classe CodeActAgent do DroidRun compatível com a interface de agente base do AndroidWorld.
Processo de execução: Quando chamamos o método `execute_task` do DroidRun, o agente passa por uma fase de planejamento de tarefas, executa cada etapa e avalia os resultados. Adaptamos esse processo ao modelo de execução passo a passo do AndroidWorld. Também implementamos as ferramentas usadas pelo DroidRun (`tap_by_index`, `start_app`, `list_packages`, etc.) com os comandos ADB do AndroidWorld.
Agente de Aplicativos
Integração com o AppAgent: A integração do AppAgent difere das demais por utilizar uma abordagem baseada em visão computacional. Após clonar o repositório do AppAgent, integramos os arquivos Python da pasta `scripts` ao AndroidWorld.
Abordagem baseada em visão: O princípio de funcionamento do AppAgent é o seguinte: primeiro, ele captura uma imagem da tela, depois calcula as caixas delimitadoras dos elementos da interface do usuário, desenha essas caixas na imagem, atribui um número a cada uma e envia essa imagem rotulada para um LLM multimodal. O LLM determina visualmente qual elemento deve ser clicado.
Configuração do Wrapper: A etapa mais importante na integração do AppAgent foi redirecionar a parte que se comunica com o dispositivo Android usando o módulo `and_controller.py` do AppAgent para o emulador do AndroidWorld. No wrapper `appagent_agent.py`, reimplementamos os métodos `get_screenshot` e `get_xml` do AppAgent para funcionar com as APIs do AndroidWorld. Também tornamos o arquivo `model.py` do AppAgent, que usa o formato da API `OpenAI`, compatível com a API `OpenRouter`.
Agente Móvel (M3A)
Integração do Mobile-Agent (M3A) : A integração do M3A foi o processo mais abrangente, pois funciona totalmente com base em visão computacional e possui um sistema de análise de interface do usuário muito detalhado. Após clonar o repositório do M3A, também instalamos o framework de interação Android Mobile-Env, já que o M3A depende desse framework.
Análise em várias etapas: O princípio de funcionamento do M3A baseia-se na divisão da tela em grades, na análise de cada grade separadamente e no planejamento em várias etapas. Ao criar o wrapper m3a_agent.py, foi necessário integrar o sistema de ambiente próprio do M3A com o ambiente do AndroidWorld. O M3A normalmente usa seu próprio ambiente Mobile-Env, mas o redirecionamos para o ambiente do AndroidWorld.
Múltiplas chamadas LLM: Observamos que o M3A realiza múltiplas chamadas LLM em cada etapa (como planejamento, seleção de ação, verificação) e as tornamos compatíveis com os limites de etapas do AndroidWorld.
Procedimento de teste e coleta de dados
Fluxo de teste: O procedimento de teste para cada agente funcionou da seguinte maneira: Primeiro, iniciamos o emulador com um snapshot limpo. Após o emulador estar totalmente aberto, executamos o run.py do AndroidWorld. Executamos 65 tarefas sequencialmente para cada agente e utilizamos o Sonnet Claude 4.5 para todos os agentes.
Execução da tarefa: O AndroidWorld executou automaticamente os seguintes passos para cada tarefa: carregar o estado inicial da tarefa, iniciar o agente, enviar o objetivo da tarefa para o agente, acompanhar os passos do agente, parar quando o número máximo de passos for atingido ou quando o agente indicar "tarefa concluída" e verificar se a tarefa foi bem-sucedida.
Critérios de sucesso: O sistema de avaliação de tarefas do AndroidWorld inclui critérios de sucesso predefinidos. Por exemplo, para a tarefa "Adicionar contato chamado John Doe", o AndroidWorld consulta o banco de dados de contatos para confirmar se o contato foi adicionado.
Para tarefas de calendário, o sistema verifica no banco de dados se o evento foi criado com a data, hora, título e descrição corretos. Ao final de cada execução de tarefa, o AndroidWorld nos forneceu o tempo de execução e o status de sucesso (Verdadeiro/Falso). Esses dados foram registrados automaticamente e usados para análise.
Coleta de dados: Após a conclusão de todo o teste de desempenho, identificamos a tarefa que todos os agentes concluíram com sucesso. Cada uma dessas tarefas foi então executada 10 vezes por cada agente, e o tempo médio de execução, o custo e o consumo de tokens foram calculados para obter métricas de desempenho mais confiáveis.
Possíveis razões por trás das diferenças de desempenho em agentes de IA para dispositivos móveis
As diferenças observadas decorrem principalmente de escolhas arquitetônicas e métodos de interação.
O DroidRun prioriza a confiabilidade por meio de raciocínio em várias etapas, planejamento explícito e rastreamento de estado. Isso melhora o sucesso da tarefa, mas aumenta o uso de tokens e o custo.
O Mobile-Agent equilibra desempenho e eficiência. Seu raciocínio mais leve e compreensão visual reduzem custos, mantendo taxas de sucesso moderadas, o que o torna adequado para casos de uso com orçamento limitado.
O AutoDroid prioriza a execução baseada em ações com sobrecarga mínima de raciocínio. Isso resulta no menor custo e nos tempos de execução mais rápidos, mas também limita sua capacidade de lidar com tarefas complexas ou ambíguas.
O AppAgent depende fortemente da interação baseada em visão computacional usando LLMs multimodais. O processamento frequente de capturas de tela aumenta a latência e o custo, enquanto os desafios de coordenação da interface do usuário reduzem o sucesso das tarefas.
Perguntas frequentes
Agentes de IA para dispositivos móveis são sistemas de software que interagem autonomamente com usuários e aplicativos móveis, utilizando linguagem natural e raciocínio orientado a objetivos para realizar tarefas em nome dos usuários. Diferentemente das ferramentas de automação tradicionais ou dos primeiros assistentes pessoais, esses agentes são impulsionados por IA. Alguns exemplos de uso incluem:
Automação de controle de qualidade móvel sem scripts de teste
Automatizar fluxos de trabalho em dispositivos móveis, como o envio de documentos de identidade ou a alteração das configurações de perfil.
Assistentes de IA que operam aplicativos para deficientes visuais, idosos ou qualquer outra pessoa.
Tarefas gerais do dia a dia , como criar eventos no calendário ou até mesmo concluir lições do Duolingo.
Seja o primeiro a comentar
Seu endereço de e-mail não será publicado. Todos os campos são obrigatórios.