Создание Agent Swarm
Цели урока
После прохождения этого урока вы сможете:
- 1Спроектировать структуру Agent Swarm
- 2Настроить роли и коммуникацию между агентами
- 3Запустить swarm «Content Team» с тремя агентами
- 4Протестировать совместную работу агентов
Проектирование и создание Agent Swarm
В этом уроке мы создадим полноценный Agent Swarm — команду «Content Team» из трёх агентов, которые совместно создают качественный контент. Исследователь собирает факты, автор пишет текст, рецензент проверяет и улучшает результат.
Шаг 1: Проектирование ролей
Перед созданием swarm нужно чётко определить роли, инструменты и зоны ответственности каждого агента. Хороший swarm работает как реальная команда: каждый участник знает свою задачу и не дублирует работу других.
| Роль | Задача | Инструменты | Доступ к сети |
|---|---|---|---|
| Researcher (Исследователь) | Поиск информации в интернете, сбор фактов | web_search, read_url, write_file | Да |
| Writer (Автор) | Написание текста на основе собранных фактов | read_file, write_file | Нет |
| Reviewer (Рецензент) | Проверка фактов, стиля, грамматики | read_file, write_file | Да |
Шаг 2: Конфигурация Swarm
{
"swarms": [
{
"name": "content-team",
"display_name": "Контент-команда",
"description": "Swarm для создания качественных статей и отчётов",
"orchestration": "sequential",
"agents": [
{
"name": "researcher",
"display_name": "Исследователь",
"system_prompt": "Ты — исследователь в контент-команде. Твоя задача: найти в интернете релевантную информацию по заданной теме. Собери минимум 5 ключевых фактов, статистику и цитаты экспертов. Сохрани результат в файл /shared/research.md в структурированном виде.",
"tools": ["web_search", "read_url", "write_file"],
"container": { "network": true, "memory_limit": "256m" },
"mounts": [
{ "host": "~/nanoclaw-workspace/shared", "container": "/shared", "mode": "rw" }
]
},
{
"name": "writer",
"display_name": "Автор",
"system_prompt": "Ты — профессиональный автор в контент-команде. Прочитай файл /shared/research.md с результатами исследования. Напиши хорошо структурированную статью: введение, основные разделы с подзаголовками, заключение. Сохрани результат в /shared/draft.md.",
"tools": ["read_file", "write_file"],
"container": { "network": false, "memory_limit": "256m" },
"mounts": [
{ "host": "~/nanoclaw-workspace/shared", "container": "/shared", "mode": "rw" }
]
},
{
"name": "reviewer",
"display_name": "Рецензент",
"system_prompt": "Ты — рецензент в контент-команде. Прочитай черновик /shared/draft.md. Проверь: 1) фактическую корректность, 2) грамматику и стиль, 3) структуру и логику изложения. Внеси правки и сохрани финальную версию в /shared/final.md.",
"tools": ["read_file", "write_file", "web_search"],
"container": { "network": true, "memory_limit": "256m" },
"mounts": [
{ "host": "~/nanoclaw-workspace/shared", "container": "/shared", "mode": "rw" }
]
}
]
}
]
}Шаг 3: Подготовка рабочего пространства
# Создать общую директорию для swarm
mkdir -p ~/nanoclaw-workspace/shared
# Перезапустить NanoClaw для подхвата новой конфигурации
npm startШаг 4: Тестирование Swarm
[Исследователь]: Начинаю сбор информации по теме «AI-агенты 2026»...
Найдено 8 ключевых фактов. Сохранено в research.md.
[Автор]: Получил результаты исследования. Пишу статью...
Черновик готов: 2400 слов, 5 разделов. Сохранено в draft.md.
[Рецензент]: Проверяю черновик...
Внёс 12 правок: 3 фактические, 5 стилистических, 4 структурных.
Финальная версия сохранена в final.md.
Контент-команда: Статья готова! Файл: ~/nanoclaw-workspace/shared/final.md
Режимы оркестрации
| Режим | Описание | Когда использовать |
|---|---|---|
| sequential | Агенты работают последовательно, один за другим | Когда результат одного агента — вход для следующего |
| parallel | Агенты работают параллельно | Когда задачи агентов независимы |
| adaptive | Управляющий агент решает порядок | Для сложных задач с нелинейным процессом |
Хотя агенты в swarm работают в изолированных контейнерах, они могут обмениваться данными через общую смонтированную директорию. Убедитесь, что общая директория не содержит конфиденциальных файлов, к которым агенты не должны иметь доступа.
Начните с режима sequential — он самый предсказуемый. Переходите на parallel, когда убедитесь, что задачи агентов действительно независимы. Режим adaptive подходит для продвинутых сценариев.
Вопросы для размышления
- •Какие задачи в вашей работе можно автоматизировать через Agent Swarm?
- •Почему важно ограничивать доступ к сети для агентов, которым он не нужен?
