Um cartão de título gerado para o ARTEMIS do Google, exibindo "Google tornou o ARTEMIS de código aberto" sobre a linha "Automação Android em linguagem natural, Apache 2.0, agosto de 2026", com três cartões de estatísticas informando 99,1% no AndroidWorld (autorrelatado), Flash entre 3 e 5s por etapa e Pro entre 15 e 40s por etapa, e um rodapé observando que o benchmark é relatado pelo fornecedor e que o AndroidWorld não verifica submissões.
Engineering & Research

O ARTEMIS do Google abre o código da automação do Android: o que a alegação de 99% do AndroidWorld realmente abrange

Autor

Rowan Sterling

Data de publicação

Modelos mais recentes · 20Ver todos os modelos
Benchmarks: Artificial Analysis · atualizado diariamente
Voltar para todas as publicações

O commit mais recente em google/artemisnão é um recurso. É uma linha de crédito — "fix: complete README and relevant file headers per Apache 2.0 requirements", enviada em 12 de setembro de 2026, três dias depois de a Minitap publicar um post intitulado Eu esperava mais do Google. O ARTEMIS do Google é o agente de automação para Android recém-lançado em código aberto pela empresa: transforma uma instrução em linguagem simples em toques, deslizes, digitação e verificação reais em um dispositivo Android físico ou emulador, captura os logs e as capturas de tela ao longo do caminho e reporta uma taxa de conclusão de tarefas acima de 99% no benchmark AndroidWorld do Google Research. Foi publicado em agosto pela equipe Pixel Test Engineering Fusion do Google sob a licença Apache 2.0, e vale genuinamente a pena dedicar uma tarde a ele. É também, desde meados de setembro, o centro de uma disputa de atribuição em código aberto que diz mais sobre como os agentes móveis são construídos do que o número do benchmark. Ambas as histórias são reais. Só uma delas explica por que o último commit do repositório foi uma correção de licença.

O que realmente foi lançado

O ARTEMIS não é um modelo nem um wrapper de chatbot. É um harness de controle — um sistema em Python 3.12+ que fica entre um modelo de visão-linguagem e um aparelho real. Você lhe dá uma tarefa em inglês; ele observa a tela, decide uma ação, executa-a por meio do ADB, verifica o que aconteceu e continua. Cinco coisas vieram na caixa:

Uma CLI e um SDK Python. code>./start.sh/code> inicializa o ADB, o scrcpy, o FFmpeg e o ambiente uv; code>uv run artemis run "…" --profile flash/code> executa uma tarefa em modo headless; o code>artemis-client/code> SDK encapsula a mesma chamada para pytest e CI, retornando code>succeeded/code>, code>status/code>, code>device_serial/code> e um code>trace_id/code> que você pode rastrear depois.

Um console web. code>uv run artemis ui/code> serve um console visual de testes em code>localhost:8000/code>, onde você acompanha o loop passo a passo.

Um servidor MCP nativo. Esta é a parte que o fez se espalhar. code>uv run artemis mcp --install all/code> expõe code>mobile_run_task/code>, code>mobile_manage_task/code>, code>mobile_get_device_state/code>, code>mobile_inspect_trace/code> e code>mobile_diagnose/code> a qualquer assistente compatível com MCP, com caminhos de instalação de primeira classe para Antigravity, Claude Code e Codex, além de geração de configuração para Cursor, Windsurf, VS Code e Cline/Roo. De um assistente com o servidor conectado, "compile o APK, instale-o, abra as configurações, ative o modo avião, tire um print do resultado" deixa de ser um script e passa a ser uma frase.

Um assistente de acessibilidade. A primeira tarefa instala o Artemis Accessibility Helper, que lê o layout da tela sem manter a conexão UiAutomation — deliberadamente, para que outras ferramentas baseadas em UiAutomator no mesmo dispositivo não sejam suprimidas. Ele é executado no telefone e não envia nada para fora dele, e recorre ao UIAutomator2 quando não consegue se conectar, com o fallback exibido na linha do tempo da tarefa.

Captura de log e rastreamento. Pilhas de crash, capturas de tela de keyframe e um relatório de diagnóstico são coletados automaticamente em vez de serem acrescentados pelo chamador — a razão pela qual é utilizável como uma suíte de regressão e não apenas uma demonstração.

A screenshot of the google/artemis repository on GitHub showing the Apache-2.0 licence, 6.0k stars, 528 forks, 54 watchers, 119 commits and 6 contributors, with the most recent commit on main reading 'fix: complete README and relevant file headers per Apache 2.0 requirements', dated four days before capture.

Flash e Pro são dois produtos diferentes que compartilham o mesmo nome.

A coisa mais importante que você precisa entender antes de comparar o ARTEMIS com qualquer outra coisa é que code>--profile flash/code> e code>--profile pro/code> não são uma configuração de velocidade em um único agente. São dois agentes.

• Flash — um loop reativo de observar e agir a cerca de 3–5 segundos por etapa, sem plano, sem notas, sem verificação de segurança antes da execução, sem verificação de checkpoint, sem relatório final e sem shell ADB. O loop é ilimitado por padrão porque o histórico é compactado em vez de acumulado.

• Pro — um grafo multiagente em cerca de 15–40 segundos por passo, construído a partir de um Planner que mantém um plano Markdown vivo com itens explícitos code>verify/code> e code>assert/code>, um Operator com o conjunto completo de ferramentas, e um Checker somente leitura que valida checkpoints e executa uma revisão de saída. code>--verification-level/code> aceita code>off/code>, code>final/code> (o padrão), code>checkpoints/code> ou code>strict/code>.

Isso é uma diferença de latência de cinco a dez vezes para a mesma descrição de tarefa, e é a diferença entre um smoke test e uma execução exploratória de mais de 100 etapas. O próprio posicionamento do Google é que o Pro é para trabalho de longo horizonte e contínuo code>[Loop:continuous]/code> monitoramento; o Flash é para tarefas rotineiras e determinísticas de UI. Se você ler uma avaliação que cita tempos de etapa sem dizer qual perfil os produziu, ela não está lhe dizendo nada.

A generated scoreboard comparing ARTEMIS's two execution profiles: Flash at 3-5s per step with no planning, no Safety Net, no checkpoint checks and no ADB shell, against Pro at 15-40s per step with a Planner and living plan, a Safety Net on every action, four verification levels (off, final, checkpoints, strict) and ADB shell.

A estratégia de localização é a verdadeira engenharia.

A maioria dos frameworks de automação móvel falha nos seletores. O ARTEMIS foi criado com foco no dinâmico: quando existe um índice de elementos de acessibilidade, ele o usa; quando não existe — um Canvas, uma superfície Compose, uma view Flutter, um jogo —, ele recorre a coordenadas e visão computacional. Não há camada XPath para manter nem ID que fique desatualizado, o que importa porque os aplicativos que você mais quer testar são os que lançam novas builds semanalmente.

O perfil Pro adiciona uma Rede de Segurança: toda ação passa por uma verificação de pré-execução, com XML primeiro e um fallback por pixel, que captura o popup do sistema prestes a engolir seu toque. As falhas abrem um "incidente de execução" que permanece no contexto até que um sucesso posterior o resolva, em vez de gerar um agente de reparo separado. Sessões longas são comprimidas — capturas de tela antigas viram resumos visuais, etapas concluídas são agrupadas em eras recuperáveis que code>search_history/code> e code>replay_steps/code> conseguem trazer de volta — e é isso que impede que um contexto de 100 etapas se torne inviável.

99,1% no ranking, e a ressalva que os posts de lançamento omitem

A principal alegação da ARTEMIS é uma taxa de conclusão de mais de 99% no AndroidWorld, o benchmark do Google Research com 116 tarefas realistas em cerca de 20 apps, pontuado como Pass@1. Em 11 de setembro de 2026, a tabela de classificação do AndroidWorld listava a ARTEMIS com 99,1%, contra 91,4% do mobile-use da Minitap, com o desempenho humano em 80%. Nos dados apresentados, esse é o estado da arte entre os resultados relatados publicamente.

Duas coisas devem vir ao lado desse número. Primeiro, o ranking do AndroidWorld explicitamente não verifica as submissões de forma independente — cada número nele, incluindo o da ARTEMIS, é informado pela própria equipe que o produziu, e uma análise de robustez mostrou que variações de tarefa por si sós podem alterar substancialmente a pontuação de um agente. Trate 99,1% como uma forte alegação do fornecedor em um benchmark público e verificável, o que é algo real e útil, e não como uma medição auditada, que não é o caso. Segundo, o formato da comparação importa: o benchmark é um conjunto fixo de tarefas, e o gráfico comparativo publicado pela ARTEMIS, segundo relatos, omitiu mobile-use enquanto incluía outras entradas. Um benchmark em que o resultado anterior mais forte está ausente do gráfico é uma alegação mais fraca do que o percentual bruto sugere.

A disputa, que é a verdadeira notícia deste mês

Em seu blog e em uma issue pública no repositório, a Minitap — uma startup de testes mobile cujo projeto open-source mobile-use faz o mesmo trabalho para Android e iOS — alegou que 228 dos 229 arquivos do ARTEMIS eram idênticos aos seus. Os detalhes que publicou são excepcionalmente concretos: código de conexão de dispositivos Android igual à sua implementação, a reutilização palavra por palavra de instruções pertencentes a um agente chamado "Hopper", e um exemplo de WhatsApp que envia mensagens de Ano-Novo para Alice, Bob e Charlie, reproduzido com os mesmos comentários, as mesmas etapas de limpeza e o mesmo bug. Ela alega ainda que um arquivo que continha os nomes de três autores da Minitap — Pierre-Louis Favreau, Jean-Pierre Lo e Nicolas Dehandschoewercker — foi substituído por force-push em agosto, com os nomes removidos e um autor diferente colocado em seu lugar.

A questão da licença não é nebulosa. O mobile-use é Apache 2.0, e o Apache 2.0 permite exatamente esse tipo de reutilização — comercial, derivada, fechada — desde que você preserve os avisos de direitos autorais e declare o que alterou. O que ele não permite é distribuir o código com os avisos removidos. Desde que as alegações vieram à tona, o repositório traz a linha "This project includes source code developed by Minitap, Inc." e links para minitap-ai/mobile-use, e o commit de 12 de setembro que completa essa atribuição é, no momento desta redação, a mudança mais recente em code>main/code>. A Minitap não publicou nenhuma evidência que ligue a remoção da atribuição às suas próprias submissões ao leaderboard que permaneceram sem resposta, e o Google não emitiu uma resposta pública detalhada. A leitura honesta: o código que está sendo compartilhado é legítimo e sempre foi permitido; a papelada, por um período, não foi, e agora foi corrigida.

A parte que ninguém calcula: a conta do modelo

O ARTEMIS vem com um selo com os dizeres "Multimodelo — Gemini | Claude | GPT-4o | Qwen-VL", e seu arquivo de configuração em code>config/artemis.jsonc/code> é onde você o aponta para qualquer modelo de visão para o qual você tenha credenciais. Nada nesse arquivo é voltado ao usuário até você executar o Pro em um fluxo de trabalho real e observar quanto um agente de longa duração realmente custa.

Faça as contas dos perfis. Uma execução Pro de 100 etapas a 15–40 segundos por etapa fica entre 25 minutos e pouco mais de uma hora de tempo real, e cada uma dessas etapas é pelo menos uma chamada a um modelo de visão carregando uma captura de tela. O Flash é mais barato por etapa, mas entra em loop com mais facilidade e, como seu contexto é comprimido em vez de truncado, ele vai tranquilamente ultrapassar o limite de turnos que você presumiu ser um teto. Qualquer que seja o perfil escolhido, o modelo é o item de custo que escala com sua suíte de testes, não a licença nem o hardware.

É aqui que uma camada de roteamento deixa de ser uma abstração. Um modelo de visão conduzindo uma longa sessão no Android é uma carga de trabalho com duas propriedades incômodas: tem vida longa e não tolera um soluço de um provedor no meio do passo 74, porque o contexto da execução está no endpoint desse provedor. Apontar o ARTEMIS para um único URL base compatível com OpenAI e deixar nosso failover mover a execução para outro provedor do mesmo modelo é a diferença entre um teste instável e uma tarde perdida. O Qwen3.8-Flash é o candidato interessante para experimentar primeiro — um MoE multimodal com 6B ativos e contexto de 1M tokens, listado em nosso catálogo a US$ 0,15 por milhão de tokens de entrada e US$ 0,47 por milhão de saída, com leituras de cache a US$ 0,018 e gravações de cache a US$ 0,230. Esse preço de leitura de cache é o relevante aqui, porque uma execução Pro relê um contexto crescente a cada passo.

Seja preciso sobre o que isso significa, porém: o Qwen3.8-Flash não está na lista de backends testados do ARTEMIS, que inclui Gemini, Claude, GPT-4o e Qwen-VL. É um modelo que, plausivelmente, se encaixa no harness, e o harness foi explicitamente construído para aceitar um. Ninguém publicou um benchmark desse pareamento, e você deve tratar qualquer um que afirme ter publicado um como tendo-o inventado.

O roteiro, e quanto dele é estrutural

Quatro itens estão no roadmap publicado: uma integração com o Android Studio com depuração no editor, gravação de testes e controle de dispositivos; suporte a iOS; modelos leves de visão-linguagem no dispositivo para trabalho de baixa latência e com prioridade à privacidade; e interação de voz duplex em tempo real.

O primeiro é aquele em que devemos acreditar, porque é o próximo artefato natural de uma equipe de engenharia de testes do Pixel e não tem risco de pesquisa associado — o agente já controla um dispositivo, só precisa de um painel na IDE. O iOS é uma alegação muito maior do que parece visto de fora: toda a estratégia de localização depende do serviço de acessibilidade do Android, e o iOS não tem uma superfície equivalente com o mesmo modelo de permissões, então espere uma reescrita da camada de percepção, em vez de um porte. O item de VLM no dispositivo é o que vale a pena acompanhar de perto, porque é o único item da lista que removeria o custo de API por etapa que atualmente domina uma grande suíte de testes — e implica um modelo pequeno, rápido e com capacidade de visão que consiga manter uma tarefa de UI coesa, o que é um alvo muito mais restrito do que "um modelo pequeno que é bom no uso de ferramentas".

A generated roadmap card listing ARTEMIS's four announced items - Android Studio plugin, iOS support, on-device lightweight VLMs and real-time duplex voice - above a wider card noting that the latest commit on main, dated 12 September 2026, was an Apache 2.0 attribution fix, with a footer reading 'Roadmap items are announced, not shipped'.

O que fazer com isso esta semana

Clone-o, execute code>./start.sh/code> em um emulador, e dê ao Flash uma tarefa que sua suíte Espresso existente cobre. Isso lhe dirá em até uma hora se o localizador dynamic-first sobrevive às superfícies Compose do seu aplicativo, que é a pergunta que decide se todo o resto importa. Depois, execute a mesma tarefa no Pro e compare os dois traces — a diferença entre 3–5 e 15–40 segundos por passo é onde mora seu orçamento, e você não consegue avaliar o custo do ARTEMIS sem isso.

Enquanto você lê o código, leia os cabeçalhos. O commit de 12 de setembro que adicionou a atribuição do Minitap é o mais recente no repositório, o que significa que os cabeçalhos de arquivo que você está lendo têm quatro dias e o projeto está sendo ativamente reparado em público. Isso não é motivo para evitá-lo. É motivo para verificar qual versão da história você está segurando antes de citar uma taxa de sucesso em um slide.

Apontar o ARTEMIS para uma única URL base compatível com OpenAI e deixar nosso failover mover a execução para outro provedor do mesmo modelo é a diferença entre um teste instável e uma tarde perdida.

Comparados neste artigo1

Detectado a partir deste artigo · Benchmarks: Artificial Analysis · atualizado diariamente