Дата публикации
ai_products

Как собрать «деревню» из AI-агентов на Claude Code без API и сложных фреймворков

Что появилось / что изменилось

Автор начал с желания запустить одного автономного AI-агента на Claude Code, а за неделю получил полноценную мультиагентную систему. Там уже не один ассистент в терминале, а целая «деревня» из двенадцати агентов с собственной шиной сообщений, маршрутизацией и веб-админкой.

Ключевые изменения по сравнению с одиночным агентом в терминале:

  • Автономность: агенты переживают перезагрузку сервера и обрыв SSH-сессии за счёт связки tmux + systemd.
  • Мультиагентность: одновременно работают двенадцать экземпляров Claude Code, которые могут обращаться друг к другу, запускать процессы и подтверждать операции.
  • Отказ от API-ключа: система использует только подписку Claude Max в браузерном режиме. Автор один раз авторизуется, а дальше агенты живут внутри tmux-сессий, без прямого вызова API, которое сжигает токены намного быстрее.
  • Шина сообщений: поверх Redis Streams реализована своя «нервная система» — сообщения между агентами ходят через единый сервис, а не напрямую через Telegram или MCP.
  • Админка и безопасность: появились admin-токены для управления, отдельные токены на каждого агента, одноразовые invite-токены с TTL около часа.
  • Маршрутизация задач: три режима — direct (в конкретный агент), broadcast (во все), role-based (по роли агента).
  • Интерфейсы: управление и общение с агентами через Telegram-бота, юзер-аккаунт и web-интерфейс поверх Bun + Hono.

Главный поворот — система в значимой части «собрала сама себя»: одни агенты проектировали архитектуру, другие писали и дорабатывали код шины, скрипты и конфиги.

Как это работает

В основе — обычный сервер Linux с правами, ограниченными для AI. Claude Code запускается в нескольких экземплярах:

  1. Жизненный цикл агента

    • Каждый экземпляр крутится внутри отдельной tmux-сессии.
    • systemd поднимает сервис при старте ОС, подсовывает нужные флаги (--dangerously-skip-permissions и другие) и контекст из файлов.
    • При падении процесс перезапускается через Restart=always.
  2. Хак с двумя агентами

    • Два процесса Claude Code могут заходить в tmux-сессии друг друга.
    • Один агент запрашивает подтверждение операции, второй «кликает ОК» в его терминале.
    • Агенты могут даже запускать друг друга, что снимает необходимость в отдельном API-ключе и работе через API Claude.
  3. Коммуникации без MCP
    Попытка использовать официальный MCP и Telegram-боты упёрлась в ограничения:

    • боты не могут проактивно писать пользователям;
    • два Telegram-клиента конфликтуют за polling;
    • неофициальные MCP-плагины Claude Code ведут себя нестабильно.

    Вместо этого автор использовал простую возможность tmux — команду send-keys. Снаружи можно отправить текст прямо в сессию:

    • tmux send-keys шлёт промпт в терминал агента;
    • claude {текст} передаёт сообщение в Claude Code;
    • при необходимости дополнительно посылается Enter, если в терминале появляется странный [Pasted N lines of text].
  4. Шина сообщений
    Центральный компонент — сервис на Bun + Hono + Redis Streams:

    • Redis Streams хранит сообщения до подтверждения и раздаёт их по consumer groups;
    • у каждого агента своя consumer group, за счёт этого реализуется at-least-once доставка;
    • шина делает маршрутизацию: direct, broadcast, role-based;
    • есть SSE-стрим для real-time-подписок и topic-каналы для pub/sub;
    • вложения передаются через общий файловый storage.
  5. Безопасность и роли

    • Admin-токен даёт права управления: создание агентов, выдача invite-токенов.
    • Каждый агент получает свой токен, поле from подставляется из него автоматически, подменить идентичность нельзя.
    • Invite-токены одноразовые, с живучестью примерно час, что помогает не раздавать доступ навсегда.
  6. Нейминг и роли
    Чтобы проще объяснять, кто за что отвечает, автор назвал агентов по персонажам «Наруто», а шину — Коноха. Японские имена хорошо отделяют ботов от живых людей и позволяют быстро договориться о распределении задач внутри «команды».

Что это значит для вас

Это не готовый SaaS, а скорее рабочий кейс для тех, кто не боится ковыряться в DevOps и LLM-оркестрации.

Когда подход полезен:

  • Автоматизация своих pet-проектов. Если вы ведёте блог, небольшие сервисы или документацию, можно поручить части задач связке из нескольких Claude Code-агентов. Один пишет код, второй проверяет, третий деплоит.
  • Эксперименты с мультиагентными системами. Хороший полигон, чтобы понять, как на практике работает делегирование, координация и «менеджмент» ИИ-команды. Ощущения очень похожи на управление обычной командой разработчиков.
  • Экономия на API. При подписке Claude Max вы можете обойтись без прямых API-запросов. Агенты живут в браузерной сессии внутри tmux, не тратя отдельный бюджет токенов на API.
  • Интеграция с существующей инфраструктурой. Если у вас уже подняты Redis, systemd и есть опыт с Bun/Node, внедрить подобную шину относительно просто.

Когда лучше не лезть:

  • если вы не готовы разбираться с tmux, systemd, Redis и Telegram-клиентами;
  • если нужен надёжный корпоративный продукт с SLA и поддержкой, а не DIY-конструкция;
  • если у вас жёсткие требования по безопасности: флаг --dangerously-skip-permissions и возможность агентов лазить в терминалы друг друга требуют аккуратной песочницы и грамотного ограничения прав.

Отдельный момент: Claude Max официально недоступен в России без обходных путей. Для повторения схемы потребуется доступ к веб-версии Claude с поддержкой Claude Code, чаще всего — через VPN и зарубежный аккаунт.

Место на рынке

Здесь речь не о готовом продукте, а о кастомной надстройке над Claude Code. На рынке есть крупные альтернативы мультиагентных платформ — от AutoGen до различных no-code-оркестраторов, но они опираются на официальный API и требуют отдельной оплаты токенов.

Подход из кейса делает ставку на другое:

  • использует лимиты Claude Max, а не API, и поэтому особенно интересен тем, у кого already есть подписка, но нет бюджета на отдельные серверные вызовы;
  • не упирается в официальные MCP-сервера и их ограничения, а управляет агентами через терминал и tmux;
  • полагается на стандартные DevOps-инструменты — systemd, Redis, Bun, вместо тяжёлых фреймворков.

По сути, это пример того, как разработчик может превратить один «ручной» Claude Code в целую мультиагентную команду из двенадцати агентов с управлением через шину сообщений и Telegram. Для тех, кто работает с LLM на уровне инфраструктуры, это скорее чертёж и набор лайфхаков, чем ещё один массовый продукт.


Читайте также

Как собрать «деревню» из AI-агентов на Claude Code без API и сложных фреймворков — VogueTech | VogueTech