AnovaX, локальный ИИ-ассистент с планированием на Gemini
Авторы представили AnovaX, небольшого локального голосового ассистента для десктопа, который работает полностью на компьютере пользователя (в отличие от облачных ассистентов вроде Siri или Alexa, отправляющих аудио на сервер) и использует сам рабочий стол как поле для действий. Всё построено в одном Python-процессе, который связывает: детектор кодового слова (wake-word), голосовой конвейер распознавания речи, ИИ-планировщик на базе Gemini, который на каждый запрос выдаёт JSON-план из вызовов инструментов, слой безопасности с белым и чёрным списком разрешённых действий, мультиагентный оркестратор, превращающий план в типизированных дочерних агентов на пуле потоков ограниченного размера, и контур адаптивного восстановления, который берёт управление на себя при сбое любого ключевого шага.
Каждому инструменту соответствует свой класс специализированного агента, всего девять, включая AppAgent (запуск приложений), TypingAgent (набор текста) и BrowserAgent (работа с браузером); у каждого агента свой таймаут, политика повторных попыток и блокировки общих ресурсов, чтобы конкурентные действия не мешали друг другу. Отдельный рекурсивный MetaAgent позволяет планировщику делегировать подзадачу самому себе, но глубина такой рекурсии жёстко ограничена двумя уровнями вложенности. Контур восстановления использует компактный промпт в стиле ReAct и маскирует задержку ответа Gemini спекулятивным (заранее запущенным) выполнением инструментов, которые только читают данные и не меняют состояние.
К системе прилагается сервер на Flask, который открывает удалённое управление с телефона по локальной WiFi-сети: он в реальном времени зеркалит на телефон каждое событие жизненного цикла агентов и транслирует экран ноутбука обратно в виде потока MJPEG, чтобы пользователь видел, как выполняются команды, отданные удалённо. По словам авторов, цель проекта не в том, чтобы конкурировать с Siri или Alexa, а в том, чтобы показать: понятный ассистент объёмом в несколько тысяч строк кода способен открывать приложения, печатать в них текст, запускать поиск, координировать параллельные действия, восстанавливаться после сбоя одного шага и полностью управляться с телефона из другой комнаты, при этом сама ИИ-модель никогда не касается клавиатуры напрямую.
Ключевые факты
- AnovaX, локальный голосовой ассистент для десктопа: весь код работает на компьютере пользователя одним Python-процессом, без отправки аудио в облако
- ИИ-планировщик на Gemini выдаёт JSON-план из вызовов инструментов; план проходит через слой безопасности с белым и чёрным списком разрешённых действий
- Девять типизированных классов агентов (включая AppAgent, TypingAgent, BrowserAgent), каждый со своим таймаутом, политикой повторов и блокировками ресурсов, работают на пуле потоков
- Рекурсивный MetaAgent позволяет планировщику делегировать подзадачу самому себе, но не глубже двух уровней вложенности; контур восстановления на ReAct-промпте перехватывает управление при сбое шага
- Companion-сервер на Flask даёт управление с телефона по WiFi: зеркалит события агентов в реальном времени и транслирует экран ноутбука через MJPEG
Почему это важно
AnovaX показывает рабочую альтернативу облачным голосовым ассистентам: понятная (по признанию авторов, «легко читаемая») кодовая база в несколько тысяч строк способна выполнять сложную автоматизацию рабочего стола, открывать приложения, печатать текст, искать информацию, координировать несколько параллельных действий, без отправки аудио и данных пользователя на чужой сервер. Архитектурно интересен сам паттерн: ИИ строит план в виде JSON, а исполняют его типизированные агенты со своими таймаутами и повторными попытками, а не единая модель, которая сама жмёт на клавиши.
Кому это важно
Разработчикам локальных ИИ-агентов и инструментов автоматизации десктопа, исследователям мультиагентных архитектур на базе LLM, а также пользователям, для которых важна приватность голосового помощника, то есть работа без постоянной передачи аудио в облако.
Как это применить
Сам подход воспроизводим: разделение на планировщик (LLM выдаёт JSON-план), слой безопасности со списками разрешений, типизированные агенты-исполнители с собственными таймаутами и блокировками, контур восстановления после сбоев и отдельный удалённый интерфейс (в AnovaX, сервер на Flask с трансляцией экрана по MJPEG) можно переиспользовать при сборке собственного локального ассистента или системы автоматизации рабочего стола.
Можно ли доверять
Это препринт на arXiv, описывающий конкретный работающий прототип с детально расписанной архитектурой (девять классов агентов, ограничение рекурсии, механизм восстановления), а не рекламный анонс продукта. При этом авторы не приводят сравнительных бенчмарков против Siri, Alexa или других ассистентов и прямо оговаривают, что цель, не конкуренция с ними, а демонстрация принципа; насколько система устойчива на масштабе и в разных сценариях использования, по тексту не оценить.
Риски и подводные камни
Несмотря на позиционирование «локальный ассистент», планирование всё равно завязано на облачный вызов Gemini, то есть полностью офлайн система не работает. Слой безопасности построен на белом и чёрном списках, а такие списки по природе неполны и требуют постоянного сопровождения. Рекурсия MetaAgent жёстко ограничена двумя уровнями, очевидно, чтобы избежать неконтролируемого зацикливания, но это же ограничивает сложность задач, которые система может решить самостоятельно. Всё завязано на единый Python-процесс, и вопросы производительности и отказоустойчивости при более тяжёлой нагрузке в статье не разбираются.
«Цель проекта не в том, чтобы конкурировать с Siri или Alexa, а в том, чтобы показать: понятного ассистента в несколько тысяч строк кода достаточно, чтобы открывать приложения, печатать в них текст, запускать поиск, координировать параллельные действия, восстанавливаться после сбоя отдельного шага и полностью управляться с телефона из другой комнаты, без того, чтобы ИИ-модель хоть раз напрямую коснулась клавиатуры.»
— авторы статьи об AnovaX