Кейс Enbisys по портированию голосового ассистента Evois на ОС "Аврора Автомобильная"
В ИТ-индустрии существуют вызовы, которые на первый взгляд кажутся невыполнимыми: «перевезти» огромную кодовую базу с Android на нативную ОС “Аврора”, подружить систему с нейросетями, которых раньше там не было, и сделать это всё в экстремальные сроки.
В этой статье мы расскажем, как команда Enbisys решала задачу портирования платформы голосового ассистента Evois для ОС Аврора Автомобильная, какие технические «костыли» пришлось разобрать и как LLM помогли ускорить рутину в 5 раз.
О заказчике
«Открытая мобильная платформа» (ОМП) — ведущий российский разработчик, входящий в структуру ПАО «Ростелеком». Компания занимается созданием и продвижением отечественной мобильной операционной системы «Аврора». ОМП формирует доверенную мобильную среду для государственного сектора и крупного бизнеса, обеспечивая полный суверенитет над данными и инфраструктурой.
В рамках проекта мы тесно взаимодействовали с командой разработчиков ОС «Аврора Автомобильная». Это специализированное направление ОС «Аврора», адаптированное для автомобильных информационно-развлекательных систем (IVI — In-Vehicle Infotainment).
Запрос и вызовы
Для демонстрации возможностей и зрелости ОС “Аврора Автомобильная” компания ОМП выбрала Evois для презентации на выставках ЦИПР и ПМЭФ 2025. Перед нами встала амбициозная задача: создать MVP и разработать API голосового помощника для ОС «Аврора Автомобильная».
Предпосылки проекта:
- ОМП требовалось решение, способное работать полностью автономно (офлайн), без обращения к облачным сервисам.
- Голосовое взаимодействие становится мировым трендом. Водители современных автомобилей хотят иметь возможность управлять функциями автомобиля голосом (климат, мультимедиа, навигация и др.), не отвлекаясь от дороги на поиск нужной функции на сенсорном экране.
- Заказчику было важно показать, что ОС «Аврора Автомобильная» — это зрелая платформа, способная поддерживать ресурсоемкие ИИ-вычисления (нейросети для распознавания и синтеза речи) на борту автомобиля.
Вводные данные:
- Сроки: 2 месяца.
- Целевое железо: KVADRA_T (чипсет RK3588).
- Исходное состояние: ~500 000 строк кода (Java/Kotlin), 40+ Gradle-модулей, жесткая привязка к Android-сервисам, интентам и аудиопотокам.
- Сложность: В ОС «Аврора Автомобильная» на тот момент* отсутствовали штатные фреймворки для запуска нейросетей, а ABI (Application Binary Interface) системы отличался от стандартного Linux и Android.
*На начало 2026 года в ОС «Аврора Автомобильная» уже есть встроенная поддержка современных версий популярных фреймворков ИИ (LiteRT, OnnxRuntime, NCNN).
О решении
EVOIS — это не просто голосовой помощник, а полноценная платформа для создания ассистентов нового поколения с глубоким пониманием смысла на базе ИИ.
Ключевые особенности платформы:
- Работает без интернета, обеспечивая конфиденциальность и независимость от облачных сервисов.
- Понимает сложные параметризованные намерения (например: «Установи температуру на 25 градусов со стороны водителя и открой люк»).
- Линейка конфигураций от простых к продвинутым в зависимости от вычислительной мощности.
- Прямая связь с CAN-шиной автомобиля для управления климатом, медиа и навигацией.
Архитектура EVOIS Runtime
Чтобы понять масштаб портирования, взглянем на структуру нашего Runtime:
- WakeWord Detector: Постоянно слушающий модуль для активации («Привет, EVOIS»).
- ASR (Automatic Speech Recognition): Преобразование голоса в текст.
- TTS (Text-to-Speech): Синтез естественной речи.
- NLU (Natural Language Understanding): Наше «ноу-хау» — понимание намерений и формализация запроса в JSON через собственный язык NLua.
- ИИ-агент: оптимизированная LLM + RAG алгоритмы для сложных диалогов и работы с локальной базой знаний.
- Business Logic: Управление командами и связь с системами автомобиля.
Этап 1: Портирование нативных библиотек
Поскольку на тот момент времени необходимых библиотек в репозитории Авроры не было, мы собирали их сами через Aurora Platform SDK (PSDK).
Процесс сборки:
Мы использовали изолированное окружение:
- Запуск chroot для изоляции от хостовых библиотек.
- Использование Scratchbox2 (sb2) для эмуляции целевой архитектуры (aarch64).
- Компиляция внутри подготовленного окружения командами configure и make.
Ключевые библиотеки:
- kaldi-bank.so (фича-экстрактор для ASR);
- luajit.so (для логики NLU);
- libusb.so (управление направленным микрофоном);
- onnxruntime.so — фреймворк для запуска большинства наших нейросетей.
“С OnnxRuntime пришлось повозиться. В PSDK был CMake старой версии, а для сборки требовался Python 3.10+, которого не было в системе. Нам пришлось собирать Python вручную внутри PSDK, «патчить» CMakeLists.txt, прописывая пути к самосборному Python, и корректировать исходники flatbuffers. В итоге мы не только собрали библиотеку, но и подобрали оптимальные флаги для максимальной производительности на RK3588.” – разработчик Evois, Антон К.
Этап 2: Выбор пути для бизнес-логики
Параллельно мы искали оптимальный способ переноса бизнес-логики, написанной на Java/Kotlin. Объем кодовой базы исключал вариант «написать всё с нуля руками» за 2 месяца. Мы проанализировали пять технологических треков:
- Использование JVM: Стандартной JVM в Авроре нет. Накладные расходы на альтернативные движки оказались слишком высокими для встроенного железа (Embedded).
- Waydroid (эмуляция Android): Позволило бы запустить APK почти без изменений, но это слишком тяжелая прослойка, «съедающая» ресурсы процессора, необходимые нейросетям.
- Кастомная VM на LuaJIT: Отличная скорость, но разработка такой VM «с нуля» под 500k строк кода заняла бы гораздо больше двух месяцев.
- EVOIS Nano (на GoLang): Поддержка Go в ОС “Аврора Автомобильная” на тот момент еще не была доведена до промышленного стандарта.
- KMP (Kotlin Multiplatform) + Kotlin Native: Самый технологичный вариант, но отсутствовал стабильный мост (interop) между Kotlin Native и Qt 5.
Решение:
Мы выбрали путь полного портирования на Qt 5 (C++). Это основной фреймворк ОС Аврора, гарантирующий максимальную производительность и прямой доступ ко всем системным API. Чтобы успеть в срок, мы решили автоматизировать процесс с помощью ИИ.
Технологии ИИ
Чтобы уложиться в 2 месяца силами всего 2-х фуллтайм-разработчиков (2 FTE), мы использовали LLM*. Это позволило ускорить рутину в 3-5 раз.
*На начало 2025 года популярных инструментов вроде gemini-cli, claude-code или OpenClaw просто не существовало. Поэтому роль агента выполнял опытный разработчик, используя LLM для автоматизации рутины, полностью контролируя процесс портирования.
- Инструментарий: В основном DeepSeek, реже ChatGPT и локальная Gemma 3:27b через Ollama.
- Методика: Мы декомпозировали задачи на мелкие блоки, «скармливали» модели классы на Kotlin и просили переписать их на Qt C++, заменяя специфичные функции Android на аналоги из ONNX Runtime и Qt.
- Контроль: Компилятор служил первым фильтром, далее мы использовали ИИ для написания Unit-тестов и сравнивали результаты работы кода до и после портирования. Однако, “зеленые” unit-тесты еще не означают, что портирование выполнено качественно, нам важен стиль кода и корректность использования языка и платформы. Поэтому, мы дополнительно проводили code review и исправляли недочеты, либо отправляли на повторную генерацию блока кода.
Результаты проекта
Менее чем за полгода (с учетом активной фазы в 2 месяца) мы получили полностью рабочую систему:
- Реализован MVP: Голосовой помощник успешно управляет навигацией, климатом и медиа на ОС “Аврора Автомобильная”.
- Официальный дебют: Решение EVOIS было продемонстрировано на стендах ОМП в рамках ЦИПР и ПМЭФ 2025.
- Оптимизация: Переход с Java на C++ сделал систему более легкой и быстрой.
- Экспертиза: Мы разобрались в глубоких системных компонентах Авроры, что открыло дорогу для новых ИИ-проектов на этой платформе.
Команда проекта
Над проектом работала опытная команда Senior-специалистов Enbisys. Тесное взаимодействие с инженерами «Открытой мобильной платформы» позволило решать сложные системные вопросы за считанные часы.
Планы на дальнейшее сотрудничество с ОМП
На начало 2026 года мы продолжаем активное сотрудничество и работаем с коллегами из ОМП над совместной проработкой масштабного API для интеграции в ОС “Аврора Автомобильная” сторонних ассистентов и различных пользовательских приложений, таким образом, чтобы они создавали локальную бортовую экосистему. А также проводим пилотные проекты на основе реальных задач с использованием полученного API.
Если вам необходимо портирование вашей системы на ОС “Аврора”, мы готовы сделать это, сэкономив ваше время и деньги! Мы являемся партнерами компании ОМП и сертифицированными разработчиками мобильных приложений под ОС «Аврора». Мы обладаем большим опытом портирования с Android на ОС "Аврора", а также применяем самые современные инструменты и искусственный интеллект для кратного ускорения процесса миграции. Напишите нам!