Когда агентов становится много, проблема обычно не в самих агентах, а в том, как они взаимодействуют между собой. Если каждый начинает общаться с каждым, довольно быстро становится непонятно, кто сейчас выполняет задачу и где вообще что-то пошло не так.
Автор решил эту проблему довольно просто - он добавил одного агента-диспетчера, через которого проходят все задачи. И название у агента, конечно же, Джарвис 😅
Что используется:
🔸Telegram - единая точка входа;
🔸SOUL.md - описание ролей агентов и их зон ответственности;
🔸state.json - общий файл состояния, который видят все контейнеры;
🔸Cron - агенты периодически проверяют, появились ли новые задачи.
Дальше все работает как обычная диспетчеризация:
Джарвис определяет интент задачи, выбирает подходящего исполнителя, записывает его в state.json, а нужный агент забирает задачу, выполняет ее и меняет статус. После этого Джарвис отправляет результат обратно в Телегу.
И самое важное тут, перед тем как внедрить подобного "диспетчера", нужно в SOUL.md заранее прописать список специалистов и зоны ответственности каждого.
Например: SEO-агент отвечает за keyword research и on-page audit, Dev-агент - за код и Git, и т.д. То есть, Джарвис сверяется с заранее прописанной инструкцией, которая его жестко ограничивает.
📌 Главный вывод
Если строите мультиагентную систему, в первую очередь проектируйте схему их взаимодействия - кто назначает исполнителя и по каким критериям, где хранится состояние задач и как агенты передают работу друг другу
