Мультиагентные системы: как исправить деградацию AI-агента
Ловушка растущего агента
Вы создаёте AI-агента. Подключаете первый MCP-сервер — например, для работы с календарём. Всё работает отлично: агент чётко понимает запросы, вызывает нужные функции с правильными параметрами, отвечает по делу. Вы в восторге.
Потом подключаете второй сервер — для работы с почтой. Всё ещё неплохо, но иногда агент путает параметры: пытается отправить письмо с форматом даты из календаря. Ладно, поправили промпт.
Третий сервер — CRM. Четвёртый — база знаний. Пятый — платёжная система. И вот тут начинается хаос.
Что именно ломается
Проблема не в количестве инструментов как таковом. Проблема в том, что каждый инструмент приносит с собой свой контекст, свои правила и свои ожидания — и всё это сваливается в один системный промпт одного агента.
Вот конкретные симптомы, которые вы начинаете замечать:
Конфликт форматов
Один инструмент требует возвращать ответ строго в JSON без изменений — например, API биллинга. Другой предполагает свободную интерпретацию — например, база знаний, где нужно пересказать найденное своими словами. Агент начинает либо «пересказывать» JSON, либо отдавать сырые данные из базы знаний без обработки.
Неверный выбор инструмента
Пользователь спрашивает «какой у меня баланс?» — агент вместо платёжной системы лезет в CRM, потому что там тоже есть поле «баланс», но это баланс лояльности.
Загрязнение параметров
Агент вызывает правильный инструмент, но подставляет параметры из контекста другого. Передаёт email пользователя туда, где нужен ID заказа, потому что оба выглядят как «строка-идентификатор».
Паттерн, который вы не замечаете
А теперь остановитесь и подумайте: в какой момент пользователь обращается к каждому из ваших инструментов?
Пользователь, который спрашивает про оплату, почти никогда в том же запросе не просит составить план на день. Человек, который ищет информацию в базе знаний, не проверяет одновременно аналитику продаж.
💡 Ключевая идея
Инструменты вызываются не хаотично. Всегда можно найти закономерность — определённые инструменты используются вместе в определённых сценариях. Более того, эти сценарии легко группируются.
До: Хаос
После: Порядок
Когда вы видите эти группы, становится очевидно: ваш агент внутри себя выполняет несколько бизнес-функций. И каждая из них может работать автономно.
Решение: разделяй и властвуй
Каждая группа инструментов — это отдельный агент со своим промптом, своими правилами и своим ограниченным набором инструментов. Агент по биллингу знает только про биллинг. Агент-планировщик знает только про календарь и почту. Никакого конфликта контекстов, никакого загрязнения параметров.
Но возникает логичный вопрос: если я разбил одного агента на несколько — как пользователь будет с ними общаться? Не заставлять же его выбирать, к какому агенту обратиться.
И тут ответ очевиден — агент-оркестратор. Отдельный агент, единственная задача которого — понять, что хочет пользователь, и направить запрос нужному специалисту.
✅ Преимущества архитектуры
- • Каждый агент получает компактный, сфокусированный промпт — а значит, лучше следует инструкциям
- • Каждый агент видит только свои инструменты — а значит, не путает параметры
- • Вы можете менять, тестировать и масштабировать каждого агента независимо
Два типа мультиагентных систем
Я для себя выделил два фундаментально разных подхода к организации мультиагентных систем. Выбор между ними зависит от того, насколько связаны ваши агенты между собой.
Линейная система (роутинг)
Самый простой вариант. Каждый запрос пользователя встречается с роутинг-агентом, который определяет категорию и передаёт запрос целиком одному конкретному агенту. Один запрос — один агент. Без пересечений.
Это хорошо подходит, когда агенты совсем не связаны между собой. Например, простой личный помощник: у вас есть агент-планировщик и агент по составлению плана тренировок. Когда вы просите план тренировок, вам вряд ли важно, что стоит в вашем рабочем календаре. Роутер определил — тренировки, передал — получил ответ. Готово.
Плюсы
- • Простота реализации
- • Предсказуемость работы
- • Быстрый ответ (один вызов)
- • Низкая стоимость
Минусы
- • Агенты живут в изоляции
- • Не могут обмениваться данными
- • Нет координации между агентами
Рекурсивная система (оркестрация)
Здесь всё интереснее. Оркестратор — это не просто роутер, а полноценный агент, который может обращаться к подчинённым агентам столько раз, сколько посчитает нужным. Он может собрать информацию от одного агента, на её основе обратиться к другому, и только потом сформировать финальный ответ.
Возьмём тот же пример с личным помощником. Пользователь просит: «Спланируй мой день». В линейной системе запрос ушёл бы к планировщику — и всё. Но в рекурсивной системе оркестратор может сначала спросить у агента по тренировкам: «Какая сегодня тренировка?» Получить ответ: «Тяжёлая тренировка ног, примерно 90 минут». И уже с этим знанием обратиться к планировщику: «Составь план на день, учитывая тяжёлую тренировку с 18:00 до 19:30 — после неё пользователю нужен отдых».
🎯 Результат
План дня теперь учитывает физическую нагрузку: после тренировки стоит лёгкий ужин и отдых, а не срочные рабочие задачи. Качество ответа принципиально другое.
Как выбрать?
| Характеристика | 🔀 Линейная (роутинг) | 🔄 Рекурсивная (оркестрация) |
|---|---|---|
| Сложность | Низкая | Средняя-высокая |
| Скорость ответа | Быстро (1 вызов) | Медленнее (N вызовов) |
| Стоимость | Дешевле | Дороже (больше токенов) |
| Связь между агентами | Нет | Да |
| Качество сложных задач | Базовое | Высокое |
| Когда использовать | Агенты независимы | Агенты дополняют друг друга |
Линейная подойдёт для:
- • Бот техподдержки
- • FAQ-помощник
- • Маршрутизация тикетов
- • Простой личный ассистент
Рекурсивная подойдёт для:
- • Планирование с учётом контекста
- • Сложные бизнес-процессы
- • Аналитические задачи
- • Персональные рекомендации
📋 Простое правило
Если ваши агенты никогда не нуждаются в информации друг друга — линейная система. Если результат одного агента может повлиять на работу другого — рекурсивная.
На практике многие начинают с линейной системы и переходят к рекурсивной по мере усложнения сценариев. И это нормальный путь.
Попробуйте сами
Мультиагентные системы — это не модное слово из исследовательских статей. Это практический инструмент, который решает конкретную проблему: деградацию качества при масштабировании агента.
Разделив одного перегруженного агента на нескольких специализированных, вы получаете предсказуемость, качество и возможность независимого развития каждого компонента.
Создайте свою первую мультиагентную систему на Assemblix — визуальный конструктор с готовыми шаблонами роутинга.
Смотрите пошаговое руководство по созданию агента с субагентами.
Начать бесплатно →📢 Подписывайтесь на Telegram-канал Assemblix — кейсы, обновления, инсайты из продакшена и анонсы новых статей