engineering architecture

Рои агентов: когда одного AI недостаточно и как NanoClaw оркестрирует множество

NanoClaws.io

NanoClaws.io

@nanoclaws

26 февраля 2026 г.

9 мин. чтения

Рои агентов: когда одного AI недостаточно и как NanoClaw оркестрирует множество

Вы просите AI-ассистента исследовать продукт конкурента, обобщить результаты, составить сравнительный документ и отправить его команде по email. Один агент может выполнить каждый из этих шагов — но сделать их качественно, последовательно, сохраняя контекст на протяжении всех четырёх задач, выходит за пределы того, с чем одна агентная сессия справляется изящно. Контекстное окно заполняется. Агент теряет нить предыдущих шагов. Качество финального результата падает, потому что модель жонглирует слишком многими задачами одновременно.

Именно эту проблему решают рои агентов. Вместо одного агента, делающего всё, агент-координатор разбивает задачу на подзадачи и делегирует каждую специализированному агенту. Агент-исследователь ищет в интернете и возвращает структурированные результаты. Агент-писатель берёт эти результаты и составляет документ. Агент-отправитель отправляет результат. Каждый агент работает в своём контейнере, со своим контекстным окном, сфокусированный на одной задаче.

Идея не нова — CrewAI и AutoGen исследуют мультиагентные паттерны уже больше года. Отличие подхода NanoClaw в том, что каждый агент в рое работает в собственном изолированном контейнере, а значит, гарантии безопасности и изоляции, действующие для одноагентных разговоров, автоматически распространяются на мультиагентные рабочие процессы.

Как рои работают в NanoClaw

Архитектура роёв NanoClaw построена на простом примитиве: агент может порождать других агентов. Когда Claude Code работает внутри контейнера, один из доступных ему инструментов — делегирование агентам: возможность описать подзадачу и поручить NanoClaw создать новый контейнер для её обработки. Родительский агент получает результат, когда дочерний агент завершает работу.

Оркестрация происходит естественно через собственное рассуждение Claude. Вы не определяете граф рабочего процесса и не настраиваете роли агентов в YAML-файле. Вы описываете, что хотите, а Claude решает, обработать ли это напрямую или делегировать части подагентам. Решение основано на том же рассуждении, которое делает Claude хорошим в декомпозиции сложных задач — он распознаёт, когда задача имеет независимые компоненты, которым пойдёт на пользу сфокусированное внимание.

На практике это выглядит как дерево контейнеров. Корневой контейнер получает ваше сообщение, решает, что ему нужно веб-исследование и написание документа, порождает два дочерних контейнера, ждёт их результатов и синтезирует финальный ответ. Каждый дочерний контейнер имеет свой контекст CLAUDE.md, своё смонтированное рабочее пространство и свой набор инструментов. У агента-исследователя включён веб-браузинг; у агента-писателя есть доступ на запись в общее рабочее пространство. Ни один не может получить доступ к контексту или инструментам другого.

Почему контейнерная изоляция важна для роёв

Большинство мультиагентных фреймворков запускают всех агентов в одном процессе. Агенты CrewAI разделяют среду выполнения Python. Агенты AutoGen разделяют поток разговора. Для демонстраций это работает, но в масштабе создаёт проблемы, которые трудно исправить постфактум.

Первая проблема — радиус поражения. Если один агент в рое сталкивается с prompt injection — вредоносным сайтом, пытающимся перехватить поведение агента — инъекция ограничена этим единственным контейнером. Она не может повлиять на родительского агента, не может получить доступ к контекстам других дочерних агентов и не может прочитать историю разговоров исходного пользователя. Скомпрометированный контейнер уничтожается по завершении, а родительский агент получает его вывод (который может оценить на качество перед использованием).

Вторая проблема — конкуренция за ресурсы. Агенты в общем процессе конкурируют за одно контекстное окно, одну память и один CPU. В NanoClaw каждый контейнер имеет собственные ресурсы. Агент-исследователь, просматривающий тяжёлые веб-страницы, не замедляет агента-писателя, составляющего документ. Контейнеры работают параллельно в отдельных потоках, а управление ресурсами хоста обеспечивает планирование.

Третья проблема — разграничение учётных данных. Агенту-исследователю нужен веб-доступ, но не нужны права на запись файлов. Агенту управления файлами нужен доступ к диску, но не нужен веб-доступ. В фреймворке с общим процессом обеспечение этих границ требует проверок разрешений на уровне приложения, которые можно обойти. В NanoClaw границы — это монтирования контейнера: агент-исследователь буквально не может писать на диск, потому что в его контейнер не смонтирован ни один записываемый путь.

Практические паттерны роёв

Паттерны, возникающие из реального использования, интереснее теоретической архитектуры. Самый распространённый — паттерн «исследуй и синтезируй»: родительский агент порождает 3–5 агентов-исследователей для параллельного изучения разных аспектов вопроса, собирает их результаты и выдаёт синтезированный ответ, более тщательный, чем мог бы дать один агент за один проход.

Второй распространённый паттерн — «черновик и рецензия». Агент пишет первый черновик, затем порождает агента-рецензента с инструкцией его раскритиковать. Обратная связь рецензента возвращается исходному агенту (или новому агенту-писателю) для доработки. Это даёт заметно лучший результат, чем генерация за один проход, потому что агент-рецензент имеет свежее контекстное окно и может оценить черновик без когнитивной нагрузки от его написания.

Третий паттерн — специализация инструментов. Некоторые задачи требуют инструментов, которые дороги или рискованны — веб-браузинг, выполнение shell-команд, модификация файловой системы. Родительский агент может делегировать эти операции дочерним агентам с конкретным доступом к инструментам, сохраняя свой контекст чистым, а свои разрешения — минимальными. Родитель никогда напрямую не касается файловой системы или сети; он обрабатывает только результаты, возвращённые дочерними агентами.

Ограничения роёв

Рои не бесплатны. Каждый дочерний агент — это отдельный вызов Claude API, а значит, отдельные затраты на токены. Рой из пяти агентов-исследователей стоит примерно в пять раз больше, чем один агент, выполняющий всё исследование. Для простых вопросов — «какая погода?» или «переведи это предложение» — рои — чистый оверхед.

Задержка тоже накапливается. Даже при параллельном выполнении родительский агент должен дождаться самого медленного дочернего, прежде чем синтезировать результаты. Рой из пяти агентов, где один тратит 30 секунд на просмотр медленного сайта, означает, что пользователь ждёт 30 секунд плюс время синтеза, независимо от того, насколько быстрыми были остальные четыре.

NanoClaw решает это прагматично. Claude сам решает, когда использовать рои, исходя из сложности задачи — простые вопросы получают прямые ответы, сложные многосоставные запросы делегируются. Пользователь не настраивает поведение роя; он просто задаёт вопросы, а система масштабирует свой подход под сложность. Цель не в том, чтобы использовать рои везде — а в том, чтобы использовать их там, где они действительно дают лучший результат, чем один агент.

Мультиагентное будущее — не в замене одиночных агентов. Оно в том, чтобы дать одиночным агентам возможность позвать на помощь, когда это нужно, безопасным, изолированным и прозрачным способом. Модель NanoClaw «контейнер на агента» делает это возможным без компромиссов в безопасности, которые возникают при запуске нескольких агентов в общей среде.

Поделиться в: share code
star Star on GitHub

Будьте в курсе

Получайте обновления о новых релизах, интеграциях и развитии NanoClaw. Без спама, отписка в любой момент.