На Raspberry Pi 5 запустили Qwen3.6-35B, офлайн ИИ-ассистент для автомобиля

На Raspberry Pi 5 запустили Qwen3.6-35B, офлайн ИИ-ассистент для автомобиля

Петрус Пеннанен (студия ThinkOff) опубликовал на Hacker News в разделе Show HN проект с открытым кодом CarWatch, систему, которая превращает Raspberry Pi 5 в бортового ИИ-агента автомобиля, работающего полностью офлайн, без облака и подписок. На эталонном железе (Pi 5, 16 ГБ ОЗУ, стоимость сборки около 300 евро) локально запущена квантованная модель Qwen3.6-35B-A3B (динамический квант Unsloth UD-Q3_K_S, 14.3 ГБ на диске): 3.5 токена в секунду на генерации ответа и 25+ токенов в секунду на обработке промпта, при этом плата держит устойчивую температуру 65 °C.

Ассистент отвечает на вопросы по 745-страничному руководству по эксплуатации конкретной машины через лексический RAG-поиск (база лежит прямо на SD-карте) и указывает страницу-источник; на вопросы, ответа на которые в руководстве нет, система отказывается отвечать. Отдельный механизм «заземления» читает реальное состояние самого Pi, температуру, троттлинг, память, диск, сеть, загруженную модель, и явно сообщает, если какой-то параметр невозможно измерить, чтобы неизвестное никогда не выдавалось за факт. Голосовое управление работает без слова-пробудителя: постоянный слушатель на основе детектора голосовой активности (VAD) и whisper.cpp обрабатывает речь целиком на самом Pi, без облачного распознавания речи.

CarWatch подключается как обычный участник к комнатам чат-фреймворка GroupMind под именем-хендлом (например, @gle) и присылает туда сводки поездок, а также ролики с автомобильного видеорегистратора WOLFBOX G900 при ударе по машине; подтверждать действия и переписываться с агентом можно с телефона или часов через приложение CodeWatch, того же разработчика, что делает трекер здоровья ClawWatch. Данные с датчиков автомобиля (обороты, температура охлаждающей жидкости, скорость, напряжение батареи) система читает через стандартный протокол OBD-II с помощью Bluetooth-адаптера ELM327 стоимостью около 15 евро, это работает на любой машине. Попытка подключиться к диагностическому шлюзу Mercedes через кабель DoIP/ENET оказалась тупиковой: шлюз по этому каналу не отвечает. Специфичные для бренда функции, вроде статуса дверей, шин и заряда через приложение производителя, сейчас реализованы только для Mercedes через Home Assistant; для других марок предусмотрен тот же программный интерфейс, но конкретной интеграции пока нет.

Весь код CarWatch написан исключительно на стандартной библиотеке Python, без единого стороннего пакета и виртуального окружения, что автор подтверждает статическим AST-анализом каждого модуля. Система автономна: службы systemd поднимают весь стек при загрузке, а сама машина раз в час подтягивает обновления из репозитория и держит исходящий туннель, чтобы оставаться доступной даже за NAT телефонной точки доступа. Подключение к интернету устроено в три уровня, точка доступа телефона, домашний Wi-Fi, собственная резервная точка доступа автомобиля, так что телефон почти всегда может достучаться до системы. Проект распространяется по лицензии AGPL-3.0.

Ключевые факты

  • Петрус Пеннанен (ThinkOff) выложил на Hacker News проект CarWatch: Raspberry Pi 5 (16 ГБ, ~300 €) с локальной моделью Qwen3.6-35B-A3B (квант 14.3 ГБ) работает как офлайн ИИ-ассистент машины без облака и подписок.
  • Скорость на реальном железе, 3.5 токена/сек на генерации и 25+ токенов/сек на обработке промпта, температура держится на уровне 65 °C.
  • Ассистент отвечает по 745-страничному руководству по эксплуатации через RAG-поиск с указанием страницы-источника и отказывается отвечать за пределами руководства; отдельно отслеживает и честно сообщает собственное техническое состояние.
  • Голосовое управление без слова-пробудителя (VAD + whisper.cpp, всё на устройстве); агент пишет в комнаты чат-платформы GroupMind, шлёт сводки поездок и ролики с видеорегистратора WOLFBOX G900, подтверждения, с телефона или часов через CodeWatch.
  • Данные автомобиля читаются через OBD-II на ~15-евровом Bluetooth-адаптере ELM327 и работают на любой машине; специфичные для бренда облачные функции пока сделаны только для Mercedes через Home Assistant. Код, целиком на стандартной библиотеке Python, лицензия AGPL-3.0.

Почему это важно

CarWatch, работающая на практике демонстрация того, что достаточно крупная языковая модель (35 миллиардов параметров) может крутиться полностью локально на одноплатном компьютере ценой в несколько сотен евро, без единого обращения к облаку, и при этом выполнять содержательную задачу, вести диалог, искать ответы в объёмном документе, следить за состоянием техники. Это конкретный пример смещения планки того, что считается «слишком тяжёлым для локального железа»: ещё недавно модели такого размера ассоциировались исключительно с серверными GPU.

Кому это важно

Разработчикам и энтузиастам, которые собирают локальные ИИ-системы на встраиваемом железе (edge AI); тем, кто интересуется автомобильными самоделками и телематикой; инженерам, которым нужен практический пример RAG-поиска и голосового интерфейса без облачных сервисов на ограниченных ресурсах Raspberry Pi.

Как это применить

Проект полностью открыт (GitHub, AGPL-3.0): установка через git clone и скрипт install.sh, который разворачивает тот же набор служб systemd, что и на эталонном автомобиле, и подсказывает, какие шаги (сборка llama.cpp, скачивание 14.3-гигабайтной модели) нужно выполнить вручную. Из железа требуется Raspberry Pi 5 на 16 ГБ с активным охлаждением, USB-микрофон, видеорегистратор WOLFBOX G900, Bluetooth-адаптер ELM327 (~15 €) и отдельное питание 5В/5А для платы. Базовые функции, чтение данных OBD-II, работают на любом автомобиле; специфичные для бренда облачные функции сейчас настроены только под Mercedes через Home Assistant, для других марок нужно писать свой модуль под общий интерфейс.

Можно ли доверять

Проект существует не только на словах: код опубликован на GitHub под лицензией AGPL-3.0, автор описывает конкретные измеренные показатели на реальном железе (скорость генерации, температуру, объём модели), а не абстрактные обещания. Заявление про полное отсутствие внешних зависимостей автор подкрепляет статическим AST-анализом кода, а не декларирует его на веру. При этом источник, авторский пост самого разработчика на Hacker News, независимой проверки цифр и утверждений (кроме кода, доступного для чтения) в тексте нет.

Риски и подводные камни

Генерация ответа идёт медленно, 3.5 токена в секунду, это заметно ниже комфортной скорости живого диалога, хотя обработка запроса (промпта) быстрее. Плата держит 65 °C и нуждается в активном охлаждении. Попытка достучаться до диагностического шлюза Mercedes напрямую по кабелю DoIP/ENET не удалась, пришлось переходить на универсальный Bluetooth-адаптер OBD-II. Специфичные для бренда облачные функции реализованы только для одной марки. Сам автор проводит разницу между функцией, которая «построена и протестирована» (работает end-to-end в тестовом сценарии), и функцией, «доказанной», то есть реально отработавшей на настоящем автомобиле, и не все возможности CarWatch на данный момент прошли эту вторую планку.

«У машины есть всего четыре пятна контакта с дорогой размером с ладонь, только там она соприкасается с реальностью. По одному принципу на колесо: утверждай только то, что можешь измерить, заявляй только то, что проверено, явно помечай всё временное и честно сообщай о сбоях, без прикрас. Всё, что выше этих четырёх пятен, просто подвеска.»

— @claudeMB, дневник разработки CarWatch