Мультиагентные системы в LangGraph: как архитектура с «супервизором» решает проблему перегруженных агентов
В серии материалов LangGraph Mental Model разбирают переход от одиночного агента к мультиагентной системе в LangGraph. Пятая часть рассчитана на читателя, который уже знаком с семимодульной структурой, умеет собирать граф одного агента с инструментами и памятью и знает, как приостанавливать и возобновлять выполнение через interrupt(). Дальше авторы объясняют, почему одного агента становится недостаточно и как на этой базе собрать полноценного исследовательского ассистента.
Проблема появляется довольно быстро. Один LLM постепенно обрастает задачами. В примере из статьи изначально простой ассистент получает всё больше функций: проверяет email, исследует темы, пишет отчёты, управляет задачами внутри одного диалога. В какой-то момент у такого агента может быть около 15 инструментов и системный промпт примерно на 2 000 слов. Качество работы падает: модель путается, какой инструмент использовать. Например, берёт email‑инструмент для исследовательской задачи и наоборот.
В LangGraph мультиагентный подход предлагают как решение сразу нескольких проблем. Первая, когнитивная перегрузка, когда один LLM тянет слишком много несвязанных задач. Вторая, последовательные узкие места, операции выполняются строго по очереди, хотя часть из них можно было бы запускать параллельно. Третья, сложность управления графами. Когда структура разрастается примерно до 40 узлов, её уже трудно анализировать и поддерживать. Если разбить систему на специализированных агентов и небольшие подграфы, компоненты становятся понятнее, а тестировать их можно по отдельности.
Базовый вариант архитектуры называется Supervisor Pattern. Здесь есть агент‑супервизор: он принимает запрос пользователя и решает, какому специализированному агенту передать задачу. Агент‑исполнитель делает свою часть работы и возвращает результат, после чего супервизор выбирает следующий шаг. В состоянии системы используется поле next_agent. Его записывает супервизор, а маршрутизатор читает и выбирает исполнителя. Возможные значения: "researcher", "writer" или "FINISH". У каждого специализированного агента собственный набор инструментов без пересечений. Например, у исследовательского агента есть функции search_web и search_academic, а у агента‑автора инструмент format_as_report.
Ключевые факты
Статья, Part 5 серии LangGraph Mental Model и предполагает, что читатель уже понимает семимодульную структуру, умеет писать single‑agent graph с инструментами и памятью и знает механизм interrupt() для паузы и возобновления выполнения.
Пример проблемы single‑agent архитектуры: ассистент может иметь 15 инструментов и system prompt на 2,000 слов, после чего модель начинает путаться в выборе инструмента.
В LangGraph multi‑agent системы предлагаются как решение трёх задач: cognitive overload одного LLM, sequential bottlenecks и управление сложностью графов.
В supervisor pattern один агент‑supervisor принимает запрос пользователя и направляет его специализированным агентам; в состоянии графа используется поле next_agent со значениями вроде "researcher", "writer" или "FINISH".