NanoClaw: безопасная команда AI-агентов из 500 строк кода
Разработчики NanoClaw создали минималистичный фреймворк для мультиагентных систем: всего 500 строк Python-кода с полным набором средств безопасности — изоляция агентов, аудит действий, human-in-the-loop точки. Проект стал вирусным на GitHub с 20 000 звёздами за месяц.
Результат
20 000 GitHub-звёзд за месяц, 500 строк кода
Задача
В марте 2026 года команда NanoClaw решила создать мультиагентный AI-фреймворк, который можно полностью проверить и понять за один вечер. Большинство существующих решений для мультиагентных систем содержат тысячи строк кода и часто включают длинные списки зависимостей, что затрудняет полный аудит и повышает вероятность ошибок в безопасности.
Вторым ограничением стала безопасность, необходимая для корпоративного применения. Разработчики хотели добиться такого минимума кода, чтобы любой мог быстро провести аудит, при этом обеспечить изоляцию агентов и прозрачность каждого их действия. Важным требованием была возможность контролировать действия ИИ вручную на всех этапах, чтобы снизить риски нежелательных или неожиданных операций.
Что сделали
NanoClaw опубликовали фреймворк для мультиагентных AI-систем, написанный на Python. Весь рабочий код ядра занял ровно 500 строк — в них реализована маршрутизация, изоляция, аудит действий и точки ручного контроля (human-in-the-loop).
Система вышла в открытый доступ на GitHub. За первый месяц проект собрал 20 000 звёзд, что сделало его вирусным среди разработчиков и команд, ищущих прозрачные, минималистичные решения для корпоративных AI-задач.
Как это устроено
Архитектура NanoClaw строится по принципу изоляции: каждый агент запускается в отдельном Docker-контейнере. Контейнеры запускаются как непривилегированные пользователи и используют строгие политики монтирования. Это ограничивает доступ к файловой системе и защищает хостовую машину от возможных нарушений со стороны агента.
Для передачи данных между агентами используются две отдельные SQLite-базы данных — inbound.db для входящих и outbound.db для исходящих сообщений. Такой подход позволяет контролировать потоки информации и упрощает аудит коммуникаций.
Host-процесс запускается на Node.js или Bun и управляет жизненным циклом контейнеров, маршрутизацией сообщений, планировщиком задач и доставкой информации между агентами. Вся логика укладывается примерно в 500 строк кода на TypeScript, что позволяет любому разработчику охватить всё решение целиком и быстро проверить его на безопасность.
NanoClaw реализовал трёхуровневую модель изоляции каналов и ввёл отдельные политики для контроля поведения агентов, в том числе unknown_sender_policy и engage-режимы. Human-in-the-loop достигается через утверждение или отклонение действий агентов пользователем: управляющие команды позволяют человеку вмешиваться в работу системы в любой момент. Минимализм кода и понятная структура упрощают аудит и позволяют быстро адаптировать фреймворк под нужды конкретной компании.
Цифры
- ●20 000 — число звёзд, которое репозиторий NanoClaw собрал на GitHub за первый месяц после публикации
- ●500 — количество строк кода в ядре фреймворка
Что повторить у себя
- Загрузите исходный код NanoClaw с GitHub и внимательно изучите структуру и принципы изоляции агентов.
- Настройте запуск каждого агента внутри отдельного Docker-контейнера с ограничением привилегий и безопасными монтированиями.
- Включите две отдельные базы данных для входящих и исходящих сообщений между агентами, чтобы отслеживать и контролировать потоки данных.
- Определите политики безопасности, включая engage-режимы и human-in-the-loop точки, чтобы вручную утверждать ключевые действия агентов.
- Проведите аудит кода — минимализм архитектуры позволяет сделать это быстро, даже небольшой командой, но требует аккуратной настройки политик и контейнеров для предотвращения обхода изоляции.
Минималистичный подход NanoClaw снижает риски уязвимостей, но требует внимательного контроля конфигурации контейнеров и доступа к агентам: даже небольшие ошибки в настройках могут привести к нарушению безопасности.