Мой локальный ай-Яй помошник! Глава 1: Принятие 🤖
В какой-то момент появилась мысль: “А что если собрать собственного локального AI-помощника?” Не просто чат, а инструмент, который будет понимать документацию Maestro, работать с MCP, анализировать приложение и помогать мне разрабатывать мобильные UI автотесты. Звучало всё довольно просто. - Поставил Ollama. - Скачал несколько языковых моделей. - Попробовал Open WebUI, нативный интерфейс Ollama и ещё несколько готовых решений. И довольно быстро понял… Это всё тот же чат. Красивый. Удобный. Но хочется чего то другого… Не смотреть ответы на вопросы. А видеть анализ, выполнение действий… И решил я попробовать собрать собственного AI-агента, который будет напрямую работать с Ollama и будет заточен под одну конкретную задачу - разработку автотестов на Maestro. И… “получилось”. Удалось собрать рабочий прототип. Он уже умеет обращаться к MCP Maestro, получать иерархию элементов, анализировать экран приложения и отвечать на вполне практичные вопросы. Например: “Что ты видишь на экране?” Агент самостоятельно снимает иерархию, анализирует интерфейс и возвращает описание того, что находится перед ним. Или другая задача. “Проанализируй элементы и назови их локаторы.” В ответ он получает список элементов через MCP Maestro и выводит resource-id, текст и другую информацию, которую уже можно использовать при написании автотестов. Идея действительно рабочая, но радость длилась недолго 😄 Чем сложнее становились запросы, тем сильнее проявлялись ограничения. Агент начинал терять контекст. Забывал предыдущие инструкции. Иногда выбирал совершенно неверный сценарий действий. И проблема оказалась не только в коде агента (тут еще тоже предстоит поработать) А в вычислительных ресурсах. Мой Mac mini M4 с 16 ГБ памяти оказался слишком слабым для той архитектуры, которую я попытался собрать. Дело в том, что агент работает сразу с несколькими LLM. Одна модель получает запрос пользователя и выступает в роли координатора. Эту роль я отдал DeepSeek. Дальше она уже решает, какой инструмент использовать:
- обратиться к MCP Maestro;
- попросить другую модель проанализировать скриншот;
- передать задачу модели, которая лучше справляется с генерацией кода;
- или объединить результаты нескольких моделей в один ответ.
На бумаге такая схема выглядит очень красиво)))
Каждая модель занимается своей задачей… Но на практике небольшие локальные модели начинают быстро упираться в свои ограничения… - Теряется контекст. - Падает качество ответов. А агент начинает принимать решения, которых от него совсем не ожидаешь. В общем задачка оказалась не из легких)))
Сейчас хочу глубже разобраться в этой теме)) Посмотреть, какие архитектуры используют другие инженеры, как организуют память агента, какие модели лучше подходят для подобных задач и какое железо действительно позволяет раскрыть потенциал локального AI. Похоже, это будет длинный, но очень интересный путь. Продолжение следует… 👀
· 1 ч
А у меня есть идея написать свой ии. Не агента, а именно ии. Сейчас изучаю мат часть
ответить
коммент удалён