В отличие от облачных решений вроде Siri или Alexa, которые отправляют сырой аудиофайл на серверы, AnovaX работает исключительно на компьютере пользователя. Архитектура проекта представляет собой единый Python-процесс, который связывает воедино обнаружение ключевого слова, речевой конвейер и LLM-планировщик. Ключевая особенность — использование модели Gemini, которая генерирует JSON-план вызовов инструментов, а не просто текстовый ответ.
Многоагентная оркестрация и безопасность
Система использует слой безопасности на основе белых и черных списков. Планировщик делегирует задачи специализированным «детским» агентам, работающим в ограниченном пуле потоков. Каждый инструмент (открытие приложений, ввод текста, управление браузером) представлен отдельным классом агента с собственными политиками таймаутов, повторных попыток и блокировок общих ресурсов. Для сложных задач реализован рекурсивный MetaAgent, позволяющий планировщику делегировать подцели самому себе с ограничением в два уровня вложенности.
Адаптивное восстановление и удаленное управление
AnovaX включает цикл адаптивного восстановления: если основной шаг fails, система использует компактный ReAct-style промпт для исправления ошибки. Задержка Gemini маскируется за спекулятивным выполнением инструментов, не требующих записи. Дополнительно Flask-сервер позволяет управлять ассистентом со смартфона по локальной WiFi-сети, транслируя события жизненного цикла агентов и экран ноутбука в реальном времени через MJPEG.
Технические характеристики агентов
Архитектура разбивает задачи на специализированные модули, что повышает надежность системы. Ниже приведена структура основных типов агентов, участвующих в выполнении команд:
| Тип агента | Функционал | Особенности реализации |
|---|---|---|
| AppAgent | Запуск и управление десктопными приложениями | Управление состоянием процессов, таймауты |
| TypingAgent | Ввод текста в активные окна | Блокировки общих ресурсов, эмуляция клавиатуры |
| BrowserAgent | Управление веб-браузером, поиск | Спекулятивное выполнение (read-only) |
| MetaAgent | Декомпозиция сложных подцелей | Рекурсия до 2 уровней вложенности |
| RecoveryAgent | Обработка сбоев | ReAct-промпты, адаптивное восстановление |
Проект демонстрирует, что legible (понятный для чтения) ассистент объемом в несколько тысяч строк кода способен координировать одновременные действия, открывать приложения и восстанавливаться после ошибок без вмешательства человека, при этом LLM никогда не получает прямой доступ к клавиатуре пользователя.
Источник: arXiv cs.AI ↗
