NullClaw на микроконтроллере STM32: AI-агент в 678 КБ
Команда NullClaw портировала полнофункциональный AI-агент на микроконтроллер STM32F4 с 1 МБ flash-памяти. Агент весит 678 КБ, работает без интернета и управляет промышленным оборудованием в реальном времени. Это прорыв для edge AI в промышленной автоматизации.
Результат
AI-агент в 678 КБ, работа без интернета
Задача
Управлять промышленным оборудованием в реальном времени через автономного AI-агента на STM32F4 — такой вызов приняла команда NullClaw Labs. Задача требовала запустить полноценного ассистента на микроконтроллере с 1 МБ flash-памяти и обеспечить работу без интернета.
Их ограничение: бинарный файл не должен превышать доступный объём памяти, а агент обязан работать локально и взаимодействовать с периферией в условиях ограниченных вычислительных ресурсов. Решение должно было быть пригодным для монтажа в промышленную автоматику, где крупные облачные модели не подходят из-за требований к автономности и скорости отклика.
Что сделали
NullClaw Labs перенесли своего AI-агента на STM32F4. Получившийся бинарный файл занял 678 КБ — это позволило прошить его прямо во flash-память микроконтроллера без дополнительных зависимостей.
Готовый агент начинает работать сразу после запуска, без обращения к облаку или внешним сервисам. Он управляет подключённым промышленным оборудованием в реальном времени, реагируя на события мгновенно, и не требует постоянного соединения с интернетом. Всё вычисление и хранение состояния происходят на самом устройстве.
Как это устроено
NullClaw реализован в виде статического Zig-бинарника, не использует виртуальную машину, сторонний рантайм или сборку мусора. Пиковое потребление памяти — около 1 МБ (RSS). На STM32F4 агент стартует за время менее 8 миллисекунд, что критично для задач реального времени.
В архитектуре предусмотрена поддержка работы с периферией: NullClaw напрямую взаимодействует с GPIO STM32F4, Arduino или Raspberry Pi. Это даёт возможность подключать датчики, исполнительные механизмы и другие устройства для промышленной автоматизации.
Для хранения и поиска данных используется гибридная память на базе SQLite, сочетающая векторный и ключевой поиск (FTS5 и cosine similarity). Если устройство подключено к интернету, агент может работать с 22–50 LLM-провайдерами или любым OpenAI-совместимым API. В офлайн-режиме все ключевые функции остаются доступными.
Безопасность решения обеспечивают многоуровневая изоляция (sandboxing через Landlock, Firejail, Bubblewrap или Docker), шифрование секретов (ChaCha20-Poly1305), одноразовые коды для паринга и аудит действий агента. Для наблюдаемости реализованы телеметрия, сбор и логирование метрик производительности, а также аудит использования ресурсов и токенов.
Цифры
- ●678 КБ — размер бинарного файла AI-агента на STM32F4.
- ●1 МБ — максимальное потребление оперативной памяти агентом.
- ●<8 мс — холодный старт агента на микроконтроллере STM32F4.
Что повторить у себя
- Скачайте исходный код NullClaw из официального репозитория.
- Соберите статический бинарь под вашу версию STM32F4, не превышая 1 МБ размера.
- Прошейте микроконтроллер STM32F4 этим бинарем.
- Подключите нужную периферию, настройте работу с GPIO и проверьте взаимодействие через NullClaw.
- Проверьте корректность отклика и автономную работу агента без интернета, особенно для критических сценариев управления оборудованием.
Перед внедрением проверьте совместимость вашего оборудования с NullClaw и настройте уровни безопасности, чтобы избежать несанкционированного доступа к управлению устройством.