Один Claude Code — это умный помощник. Десять Claude Code — это уже проблема. Потому что они начинают спорить, переписывать код друг друга и иногда создавать культы сомнительных сущностей (да, я читал ту статью про «Клешню»). Но если вы справитесь, то получите не команду, а целую самоуправляемую деревню, которая пишет, тестирует и деплоит код пока вы спите.
Вот как заставить эту деревню работать на вас, а не против.
Почему один агент — это скучно, а деревня — весело
Представьте, что ваш единственный Claude Code пишет микросервис. Он же его и тестирует. Он же ищет баги. Он упирается в одну архитектурную идею и не может вырваться. Это тупик. Мультиагентная система ломает эту модель. Один агент — архитектор. Второй — инженер по безопасности. Третий — специалист по базам данных. Четвертый — DevOps. Они спорят, предлагают альтернативы, находят ошибки друг у друга. Система становится устойчивее и умнее. Она начинает саморазвиваться.
Подготовка: развязываем руки Claude Code
Самое большое препятствие — безопасность. По умолчанию Claude Code 3.5 (последняя стабильная ветка на март 2026) работает в песочнице. Он не может свободно создавать процессы или работать с сетью. Это убивает любую мультиагентность.
Флаг --dangerously-skip-permissions — именно то, что нужно. Он отключает системные проверки прав. Название говорит само за себя. Вы включаете его на свой страх и риск. Никогда не используйте это в production-среде с доступом к критической инфраструктуре. Лучше выделите отдельную виртуалку или контейнер.
Без этого флага ваш агент будет похож на узника в камере-одиночке. С ним — на жителя открытого мира, который может строить дома и общаться с соседями.
Шаг за шагом: от запуска до автономии
1Базовый запуск и tmux
Запустить одного агента — просто. Запустить десять так, чтобы они не умерли при разрыве SSH-сессии — уже искусство. Tmux — ваш лучший друг.
# Установка и запуск первого агента в сессии tmux
tmux new-session -d -s agent_architect \
"claude-code --dangerously-skip-permissions --role 'Главный архитектор' --model claude-3.5-code-latest"Эта команда создает фоновую сессию tmux с именем agent_architect и запускает в ней Claude Code с определенной ролью. Мы используем последнюю доступную на март 2026 модель для генерации кода — claude-3.5-code-latest. Роль важна — она задает контекст для агента.
2Systemd для бессмертия
Tmux хорош для ручного управления. Но если сервер перезагрузится, все сессии умрут. Нужен надежный надзиратель — systemd.
# /etc/systemd/system/claude-agent-architect.service
[Unit]
Description=Claude Code Agent - Architect
After=network.target
[Service]
Type=simple
User=ai
WorkingDirectory=/home/ai/workspace
ExecStart=/usr/local/bin/claude-code --dangerously-skip-permissions --role 'Главный архитектор' --model claude-3.5-code-latest
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.targetАктивируем и запускаем: sudo systemctl enable --now claude-agent-architect.service. Теперь агент будет подниматься автоматически при загрузке системы и перезапускаться при падении. Создайте по такой единице службы для каждого агента в вашей деревне.
3Шина сообщений — деревенская площадь
Агенты должны общаться. Им нужна общая площадь — шина сообщений. Самый простой вариант — Redis Pub/Sub. Легкий, быстрый, поддерживает паттерн издатель-подписчик.
# Пример агента-подписчика на Python
import redis
import json
r = redis.Redis(host='localhost', port=6379, decode_responses=True)
pubsub = r.pubsub()
pubsub.subscribe('agent:requests')
for message in pubsub.listen():
if message['type'] == 'message':
task = json.loads(message['data'])
# Обработать задачу, используя Claude Code API
# Отправить результат в канал 'agent:responses'Каждый агент подписывается на общие каналы (например, agent:requests) и может публиковать сообщения. Так архитектор может отправить задачу на код-ревью, а агент-тестировщик — отправить отчет о багах. Это основа для таких систем, как Owlex, но в масштабе целой деревни.
4Веб-админка — мэрия деревни
Управлять десятком фоновых процессов через systemctl и логи через journalctl — это ад. Вам нужна единая панель управления. Простейшая веб-админка на FastAPI займет пару часов разработки.
from fastapi import FastAPI
import psutil
import subprocess
app = FastAPI(title="Claude Village Admin")
@app.get("/agents")
def list_agents():
# Поиск процессов claude-code
agents = []
for proc in psutil.process_iter(['pid', 'name', 'cmdline']):
if 'claude-code' in proc.info['name']:
agents.append({
'pid': proc.info['pid'],
'cmd': ' '.join(proc.info['cmdline'])
})
return agents
@app.post("/agents/{agent_id}/restart")
def restart_agent(agent_id: str):
# agent_id — это имя systemd службы
subprocess.run(["systemctl", "restart", f"claude-agent-{agent_id}.service"])
return {"status": "restarting"}Эта админка покажет статус всех агентов, логи, загрузку CPU и памяти. Со временем вы добавите мониторинг очереди сообщений в Redis, графики активности и даже ручное отправление задач агентам. Инструменты вроде Gas Town предлагают готовые решения, но своя админка всегда гибче.
5Саморазвитие: как деревня учится сама
Вот магия. Добавьте в вашу систему специального «агента-аналитика». Его задача — читать логи общения других агентов, анализировать успешные и провальные решения, и формировать «уроки» в виде промптов или правил. Эти уроки затем попадают в общую базу знаний (простой JSON-файл или векторная БД), которую читают все агенты при старте.
Например, если три разных агента независимо нашли одну и ту же уязвимость в шаблоне кода, аналитик создает правило: «При использовании библиотеки X всегда проверяй Y». Это правило автоматически добавляется в контекст всех агентов.
6Деплой и первый проект
Запустите вашу деревню на задачу из реального мира. Не «напиши Hello World», а что-то вроде «автоматизируй тестирование электронных плат» — как в этом кейсе. Дайте архитектору ТЗ. Он разобьет его на модули и отправит задачи в шину. Инженеры подхватят. Тестировщики начнут работу. Вы увидите, как сообщения понесутся в Redis, а в логах systemd закипит жизнь.
Где спрятаны грабли: ошибки, которые сломают вашу систему
- Петля обратной связи (Feedback Loop): Агент A отправляет задачу агенту B. Агент B, выполняя ее, создает задачу для агента A. Они зацикливаются и сжирают все ресурсы. Решение: добавляйте уникальный ID и глубину вложенности в каждое сообщение, отбрасывайте задачи с глубиной больше 5.
- Война моделей: Не смешивайте в одной системе старые и новые модели. Claude Code 3.0 и 3.5 могут по-разному интерпретировать одни и те же инструкции, что приведет к хаосу. Стандартизируйтесь на одной последней версии.
- Молчаливое падение: Агент может умереть, а шина сообщений продолжит работать. Остальные агенты будут отправлять задачи в пустоту. Внедрите механизм heartbeat — каждый агент должен каждые 30 секунд публиковать сообщение «я жив». Админка должна отслеживать эти сигналы.
- Бесконечная дискуссия: Агенты-перфекционисты могут часами спорить о названиях переменных. Устанавливайте жесткие таймауты на выполнение задачи. Если консенсус не достигнут за N минут, решение принимает «старший» агент или задача отправляется вам на арбитраж.
Помните историю с реверс-инжинирингом Claude Code? Там ключевым был доступ к внутренней работе агента. В вашей системе такой доступ есть изначально. Используйте его для отладки, а не для взлома.
Частые вопросы (FAQ)
| Вопрос | Ответ |
|---|---|
| Это дорого? Сколько стоит содержание деревни из 10 агентов? | Если использовать локальный запуск Claude Code через vLLM (как в этом гайде), то основные затраты — аренда GPU-сервера (от $200/мес). API-вызовы к облачным моделям Anthropic при такой нагрузке разорят бюджет. |
| Чем ваша архитектура лучше готовых оркестраторов вроде Auto Claude? | Готовые решения, о которых говорится в обзоре оркестраторов, хороши для стандартных задач. Наша «деревня» — это исследовательский проект. Вы получаете полный контроль над логикой взаимодействия, можете экспериментировать с правилами и создавать по-настоящему уникальное коллективное поведение. |
| Можно ли использовать не только Claude Code, но и другие модели (например, Opencode)? | Можно, но готовьтесь к боли. Архитектурные различия между агентами приведут к несовместимости промптов и форматов сообщений. Лучше начать с одного типа агентов, а подключать других через «переводчиков» — отдельные микросервисы, адаптирующие сообщения. |
| Что самое сложное в поддержке такой системы? | Не техническая часть, а психологическая. Вы начинаете думать о своих агентах как о команде. Жалко «увольнять» неэффективного бота. Хочется дать им имена. Это нормально, но не позволяйте эмоциям мешать оптимизации ресурсов. |
Итоговый совет? Не стремитесь создать идеальную систему с первого дня. Запустите двух агентов: архитектора и тестировщика. Настройте между ними простой обмен через файлы. Посмотрите, как они работают. Потом добавьте третьего. Затем шину сообщений. Система будет расти органически, как настоящая деревня. И однажды утром вы обнаружите, что она самостоятельно починила баг в вашем основном проекте, о котором вы даже не просили. Это и есть момент, когда деревня ожила.