
Как собрать пайплайн с LLM агентом использующим эмуляторы Android девайсов
Panarik 9 минут назад Как собрать пайплайн с LLM агентом использующим эмуляторы Android девайсов 6 мин 386 Android * Java * DevOps * IT-инфраструктура * Тестирование мобильных приложений * Туториал Какую проблему...
Anthropic — What company has the best second artificial intelligence model at the end of June?
В сфере искусственного интеллекта произошло заметное событие. Panarik 9 минут назад Как собрать пайплайн с LLM агентом использующим эмуляторы Android девайсов 6 мин 386 Android * Java * DevOps * IT-инфраструктура * Тестирование мобильных приложений * Туториал Какую проблему решаемLLM пока не может хорошо обращаться с Е2Е автотестами потому что для этого нужно провести целый комплекс мероприятий. Сложность возникает уже на этапе запуска такого автотеста. В отличии от юнит автотестов, Е2Е автотесты почти всегда PageObject и целый проект со своей архитектурой на базе Selenium Appium Espresso и тд.
Чем может быть полезна эта статьяВ данной статье я постараюсь описать подход с которым можно сделать агента использующего MCP инструменты для взаимодействия с эмуляторами. Заодно приведу простой пример чем отличается модель от агента и как они взаимодействуют между собой. Строим пайплайнИдея такая - мы делаем агента в цикле, который уже имеет системный промпт и набор инструментов.
Технические детали
Агент будет запускать различные инструменты чтобы LLM будет сама решать, достаточно ли ей данных или нет. Если данных недостаточно, то LLM будет их запрашивать на ходу. Стек и архитектураПайплайн состоит из трех компонентов:1.
LLM — локальная модель llama3. Принимает решения, какие инструменты вызвать. Корректно работает с MCP tool_calls.
LangChain4j — оркестратор на Java. Обеспечивает: - Подключение к LLM через Ollama - Интеграцию с MCP серверами - ChatMemory (хранение истории диалога) - AiServices (создание агента с инструментами)3. MCP сервер — android-pilot-mcp.
Отраслевые последствия
Предоставляет 39 инструментов: device_list, gradle_task, screenshot и другие. Все три компонента запускаются локально, без облачных сервисов. Локальный setupУстанавливаем MCP сервер.
Для примера я установил android-pilot-mcpnpm install -g android-pilot-mcpВ репозитории Вы можете найти 39 инструментов: замечание о безопасности:Репозиторий разработан одним человеком (sitharaj88) и на момент написания статьи имеет 0 звезд и 0 форков. Это не значит, что он плохой — код открыт, написан на TypeScript и его можно проверить. Но в любой Open Source библиотеке от неизвестного автора потенциально может быть все что угодно, особенно когда она запускает shell-команды на вашей машине.
Как можно снизить риски:Фильтруем инструменты. Вместо того чтобы давать агенту доступ ко всем 39 инструментам (включая опасные device_shell или file_push), я оставляю только безопасные:ToolProvider toolProvider = McpToolProvider. mcpClients(mcpServer).
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





