ARTEMIS от Google: автоматизация реальных Android-телефонов на естественном языке
Google открыла исходный код ARTEMIS — агента, который превращает инструкции на обычном языке в действия на реальных Android-устройствах, показывает 99%+ на AndroidWorld и планирует модели на устройстве.
На фоне взлёта ИИ-агентов телефоны оставались в стороне. На десктопе или в браузере агенты всё чаще сами прокликивают интерфейсы, управляют приложениями, пишут код, читают файлы и следуют инструкциям на обычном языке почти без присмотра. На смартфоне картина куда скромнее. Традиционные тестовые фреймворки обычно хрупкие, сильно зависят от фиксированных идентификаторов элементов и ломаются, как только меняется вёрстка. Хуже того, ни один из них не проектировался для агента, которому можно просто назвать цель, а шаги он придумает сам.
Этот разрыв бросается в глаза, потому что именно в смартфоне большинство людей проводит большую часть цифрового времени. Софт, который хорошо управляется с компьютерами и браузерами, всё ещё с трудом работает с настоящим телефоном.
ARTEMIS, проект, исходный код которого Google только что открыла, подходит к задаче иначе. Разработчикам не нужно заранее описывать каждый экран, виджет и взаимодействие. ИИ-агент получает инструкцию на естественном языке и выполняет её на реальном Android-устройстве или в эмуляторе. По данным проекта, он выполняет более 99 процентов задач в сложном многошаговом бенчмарке и подключается к coding-агентам, которые разработчики уже используют, среди них Codex, Claude Code и Antigravity.
Ещё интереснее направление в дорожной карте: полностью локальное выполнение на устройстве с лёгкими моделями зрения, чтобы не каждое взаимодействие уходило в облачный сервис. Если это получится, мобильная автоматизация может перейти от хрупкой груды скриптов к агентным интерфейсам, уже привычным на десктопах и в браузерах, — к чему-то, что понимает, что нужно сделать, и управляет устройством, чтобы это сделать.
Скрипты против агента, который смотрит
Классическая мобильная автоматизация требует от автора теста указать каждый элемент, которого касается скрипт, обычно через идентификатор, скомпилированный в приложение, и заранее расписать жёсткую последовательность действий. Это приемлемо работает на стабильном экране внутри приложения, устройство которого автор видит и контролирует. И рушится, как только что-то сдвигается. Переделанная кнопка, переименованный идентификатор или незнакомый, вручную отрисованный интерфейс современного UI-тулкита могут тихо сломать скрипт, который месяцами работал надёжно, а чтобы понять почему, человеку обычно приходится вручную проходить сбой заново.
Подход на основе ИИ переворачивает эту модель. Вместо того чтобы воспроизводить жёстко заданные шаги, привязанные к идентификаторам, агент смотрит, что сейчас на экране, понимает смысл инструкции и выбирает следующее действие на ходу, примерно как человек, впервые открывший незнакомое приложение. Если кнопка переехала, сменила подпись или была полностью переделана, агент подстраивается под то, что видит, а не падает на ссылке на то, чего больше нет.
Одно предложение вместо скрипта
Выгоду проще всего увидеть, когда одна инструкция заменяет то, что иначе было бы длинным тестом, написанным вручную. Вместо перечисления нажатий, свайпов и поиска элементов задачу можно сформулировать так, как её объяснили бы коллеге:
Open Settings, find Battery and tell me current level
Получив такой запрос, агент перемещается по интерфейсу реального телефона. Он находит нужный экран, сочетая знание того, как устроено приложение, с визуальным чтением того, что отображается, извлекает запрошенное значение и сообщает его. Никто не написал ни строчки традиционного кода автоматизации, нацеленного на конкретные элементы экрана.
Тот же подход масштабируется на более сложные сценарии, охватывающие несколько приложений. Одна инструкция может описывать последовательность, перескакивающую между не связанными приложениями, тогда как обычному скрипту для этого, как правило, нужно несколько отдельных, тщательно согласованных частей. Именно рассуждение о намерении, а не выполнение фиксированного скрипта, делает такую гибкость между приложениями реальной без огромной предварительной инженерии под каждый сценарий.
Схема выше, взятая из репозитория проекта, показывает автономный процесс тестирования, в котором Antigravity работает вместе с ARTEMIS.
Результат бенчмарка, который можно проверить
Громкие заявления об автоматизации встречаются повсюду, а заявления, измеренные по признанной независимой мерке, — гораздо реже. ARTEMIS сообщает о выполнении более 99 процентов задач бенчмарка, созданного специально для оценки мобильных агентов на множестве реальных приложений и многошаговых сценариев, а не на небольшом отобранном вручную наборе простых примеров.
График взят со страницы проекта и показывает долю выполнения выше 99 процентов на AndroidWorld — бенчмарке Google Research, охватывающем более 20 приложений и свыше 100 многошаговых задач.
Бенчмарк с таким числом приложений и задач создан, чтобы нагружать как раз то, с чем плохо справляется жёстко закодированная автоматизация: незнакомые макеты, задачи, требующие правильно связать несколько действий, и интерфейсы, которые никто не строил с расчётом на автоматизацию. Пройти его лучше чем на 99 процентов — это другой уровень надёжности по сравнению с прежними инструментами на основе ИИ, которые исторически спотыкались на открытой многошаговой работе в реальных, неизменённых приложениях.
Подключение через MCP
ARTEMIS — не отдельный инструмент со своим изолированным процессом. Он подключается к coding-агентам, которые уже используются каждый день, включая Codex, Claude Code и Antigravity, через Model Context Protocol, или MCP. Это открытый стандарт, позволяющий ИИ-агенту единообразно находить и вызывать внешние инструменты, какой бы инструмент или модель ни управляли процессом.
Поскольку связь опирается на открытый протокол, а не на разовое подключение к одному продукту, любой coding-агент, говорящий на MCP, может управлять реальным телефоном как ещё одним инструментом в своём наборе, рядом с умением читать код, запускать команды или просматривать веб. Настройка обычно сводится к регистрации сервера автоматизации в собственной конфигурации coding-агента, примерно так же, как добавляется любой другой внешний инструмент:
{
"mcpServers": {
"mobile-automation": {
"command": "/path/to/tool/.venv/bin/python",
"args": ["-m", "mcp_server"],
"cwd": "/path/to/tool"
}
}
}
После этого разработчик может описать задачу мобильного тестирования обычным языком прямо в чате coding-агента, так же как описал бы изменение кода, и агент напрямую управляет подключённым устройством. Переключаться в отдельное приложение для тестирования не нужно.
Полные циклы разработки на устройстве
Польза выходит далеко за пределы быстрых разовых проверок вроде чтения настройки. Coding-агент, подключённый к реальному устройству, может сам выполнять гораздо более крупные процессы разработки:
- собрать новейшую версию приложения
- установить свежую сборку на подключённое физическое устройство
- пройти конкретный пользовательский сценарий, например вход с тестовым аккаунтом
- искать неожиданное поведение, например всплывающее окно, которого не должно быть после входа
- вернуть скриншоты как визуальные доказательства того, что происходило на каждом этапе
Скриншот выше показывает живое демо проекта: планирование автомобильных маршрутов и подсчёт их суммарной длительности в Google Maps, а затем открытие YouTube.
Такой сквозной процесс — сборка, установка, навигация и проверка — повторяет то, что делает QA-инженер, проверяя изменение перед релизом, только вместо человека, нажимающего на физическое устройство, инструкциям на естественном языке следует ИИ-агент. Команды, которые уже опираются на агентов в большей части разработки, теперь могут перенести этот агентный подход на реальное железо и убрать один из самых упорно ручных шагов во всём остальном всё более автоматизированном конвейере.
Понимать, почему запуск упал
Управлять устройством — лишь половина полезного инструмента тестирования. Когда что-то ломается, понять причину так же важно, как вызвать взаимодействие. Помимо действий на экране, ARTEMIS собирает диагностику с устройства во время выполнения сценария, включая системные логи и скриншоты экрана в значимые моменты.
Эти снимки важны для настоящей отладки, а не только для автоматизации счастливого пути. Тест, упавший посреди длинной последовательности, гораздо полезнее, если он возвращает скриншот экрана в момент сбоя плюс вывод системного лога из того же момента, а не голый вердикт «прошёл» или «не прошёл». Неудачный запуск становится практической отправной точкой для расследования, а не тупиком, из-за которого весь сценарий приходится воспроизводить вручную, просто чтобы увидеть, что произошло.
Дорожная карта: приватно и локально
Текущие возможности уже большой шаг вперёд по сравнению с классической мобильной автоматизацией, но опубликованная дорожная карта указывает на нечто, пожалуй, более значимое в перспективе: выполнение на самом устройстве на базе лёгких vision-language-моделей, работающих локально, вместо постоянного подключения к облачной модели ради каждого действия.
Этот сдвиг даёт два практических выигрыша. Первый — задержка. Когда рассуждение и выполнение происходят целиком на телефоне, без сетевого обращения к удалённой модели на каждом шаге, ответы приходят гораздо быстрее, а это важно для автоматизации, которой нужно поспевать за интерактивным интерфейсом в реальном времени, а не замирать перед каждым действием.
Второй, пожалуй, более весомый выигрыш — приватность. Автоматизация, которая никогда не отправляет за пределы устройства скриншот или любую другую запись того, что на экране, куда лучше подходит для чувствительных материалов, будь то персональные данные, конфиденциальная деловая информация или что угодно ещё, что человек или компания предпочли бы держать на своём железе.
На фоне тренда, который уже вовсю идёт на десктопах и в браузерах и часто называется computer use, дорожная карта переносит эту идею в мобильный мир с сознательным упором на приватность и локальность, а не на постоянную зависимость от облака. Десктопные аналоги всё ещё обычно пропускают понимание экрана через облачную модель, так что план, построенный вокруг лёгких моделей зрения на устройстве, намечает для телефонов более самодостаточный путь.
Что это меняет для мобильных команд
Вместе управление телефоном на естественном языке, проверяемый результат бенчмарка с высокой надёжностью, интеграция с популярными coding-агентами, встроенная диагностика и дорожная карта с прицелом на локальное выполнение дают нечто новое всем, кто создаёт или тестирует мобильные приложения.
- Исследовательское тестирование, для которого раньше нужен был человек, копающийся в приложении в поисках сюрпризов, можно сформулировать одной инструкцией и запускать автоматически.
- Регрессионные проверки, требовавшие тщательно поддерживаемых хрупких скриптов, привязанных к идентификаторам элементов, можно писать обычным языком, а агент будет подстраиваться по мере развития интерфейса.
- Процессы разработки, которые раньше заканчивались изменением кода и оставляли проверку на устройстве человеку, могут пройти весь автоматический цикл сборки, установки и проверки силами того же агента, что уже помогает с остальной работой.
Ничто из этого не отменяет ценности суждения опытного тестировщика, особенно в тонких, субъективных вопросах качества, выходящих за рамки того, технически ли удалось действие. Меняется то, куда идёт человеческое внимание: гораздо меньше на поддержку хрупких жёстко закодированных скриптов под постоянно меняющийся интерфейс и гораздо больше на решение, что важно тестировать, а выполнение поручается агенту, который рассуждает о намерении.
Где это оставляет мобильную автоматизацию
Годами мобильная автоматизация отставала от того, что агенты уже умеют на десктопах и в браузерах. ARTEMIS сокращает этот разрыв, позволяя ИИ-агентам управлять реальным устройством по инструкциям на естественном языке. Заявленная доля выполнения выше 99 процентов на сложном независимом бенчмарке впечатляет, как и прямая интеграция с coding-агентами, которыми разработчики уже пользуются ежедневно.
Самое интересное, возможно, впереди. Дорожная карта нацелена на полностью локальное выполнение на устройстве с лёгкими моделями зрения. Если это случится, мобильные агенты станут не просто способными. Они будут приватными и самодостаточными и смогут работать, не отправляя ни одного взаимодействия на удалённый сервис.
Более широкое значение выходит за рамки автоматизации нажатий, свайпов или отдельных тест-кейсов. Оно намекает на будущее, где реальный смартфон — ещё одна среда, которую агент понимает и которой управляет, наряду с терминалом, файловой системой, браузером и кодовой базой. Для тех, кто создаёт, тестирует и поддерживает мобильные приложения, это может существенно изменить возможности ИИ-агента для программирования. Код лежит в публичном репозитории ARTEMIS от Google на GitHub.