Разработка ИИ-агентов и мультиагентных систем: когда нужен один агент, а когда несколько

Мультиагентная система — это несколько ИИ-агентов с разными ролями, инструментами и правами, которые передают друг другу состояние задачи. Чаще всего бизнесу хватает одного агента с понятным набором инструментов, и мы честно говорим об этом на обследовании. Второй и третий агент добавляем там, где это снимает конкретную проблему: разные права, разные модели, независимая проверка результата. Собираем в вашем контуре, качество измеряем на вашей выборке.

Начинаем с одного агента и добавляем остальных только по доказанной причинеLangGraph, LangChain или своя обвязка: выбираем под задачу, а не под модуПрава каждого агента, журнал шагов и исходники у вас с первого коммита

С чем приходят

Когда запрос звучит как «нужна мультиагентная система»

Один агент с длинной инструкцией сбоит

Промпт вырос до нескольких страниц, агент путает правила, забывает формат ответа и вызывает не тот инструмент. Иногда помогает разделение ролей, иногда хватает шагов в обычном коде.

Нужно разное разрешение на разные действия

Одна часть процесса читает письма и документы, другая записывает в 1С. Давать одному агенту оба набора прав опасно, и естественный выход здесь два исполнителя с отдельными учётными записями.

Результат нужно проверять отдельно от автора

Агент готовит ответ клиенту или расчёт, а второй, с другой инструкцией и без доступа к записи, проверяет его по правилам. Так проверка не зависит от уверенности первого.

Взяли фреймворк, а система не взлетела

Демонстрация на трёх агентах работала, на реальных заявках зацикливается и стоит дорого, а где ошибка, непонятно. Чинить надо архитектуру, а не промпты.

Выбор

Один агент или несколько: правило, по которому решаем

Короткий ответ: несколько агентов нужны, когда у частей задачи разные права, разные модели или проверка должна быть независимой. Сложность задачи сама по себе — не причина.

Агент — это модель, которой дали инструменты и цель. Если цель одна, инструменты однородны и права общие, один агент справляется и стоит дешевле: меньше обращений к модели, один журнал. Об этой схеме подробно написано на странице ИИ-агента для бизнеса, здесь мы говорим о моменте, когда одного становится мало.

Четыре причины добавить агента

  • Разные права. Агент, который читает входящие, не должен иметь права записи в учёт. Разделение ролей — это разделение учётных записей, и проверить его проще, чем «аккуратную инструкцию» одному агенту.
  • Разные модели. Разбор документа может делать небольшая быстрая модель, а рассуждение по сложному случаю — более крупная. Тогда это два шага с разными моделями, и удобно, когда у каждого свой агент и своя оценка качества.
  • Независимая проверка. Проверяющий с другой инструкцией и без права записи замечает то, что автор не видит. Он не гарантирует безошибочность, но ловит класс ошибок, который иначе доходит до клиента.
  • Параллельная работа. Если задача раскладывается на независимые части (например, три документа читаются одновременно), агенты ускоряют работу, а результаты собирает один координатор.

Сложность задачи, мода и желание «автономности» причинами не считаются. Поэтому мы сначала пробуем цепочку обычного кода и одного агента и добавляем остальных, только когда на ваших данных видно, что один не справляется.

Схемы

Четыре схемы оркестрации: как устроены, когда годятся и где ломаются

Схема выбирается после разбора процесса. Часто в одной системе встречаются две схемы сразу.

Схема
Как устроена
Когда годится
Где ломается
СхемаЦепочка с кодомшаги заданы заранее
Как устроенаШаги известны: разобрать, найти, сформировать, записать. Модель вызывается на отдельных шагах, порядок задаёт обычный код.
Когда годитсяПроцесс с жёстким порядком, повторяемый ежедневно, где важна воспроизводимость
Где ломаетсяКогда на входе встречаются случаи, которых цепочка не предусматривает: они падают в ручную очередь, и её надо учитывать в плане
СхемаОдин агент с инструментамимодель сама выбирает шаги
Как устроенаМодель по цели выбирает, какой инструмент вызвать и в каком порядке, в рамках лимита шагов.
Когда годитсяПорядок шагов зависит от входа, а права у всех инструментов общие
Где ломаетсяАгент ходит по кругу, вызывает лишнее, раздувает расход; нужны лимиты шагов и остановка по условию
СхемаКоординатор и специалистыодин распределяет, остальные делают
Как устроенаКоординатор читает задачу и передаёт её специалисту: по договорам, по счетам, по обращениям. У каждого свой набор инструментов и прав.
Когда годитсяВходящий поток смешанный, а виды обработки различаются по правам и инструментам
Где ломаетсяКоординатор ошибается в выборе специалиста, и вся обработка идёт не туда; нужен порог уверенности и ручная очередь
СхемаАвтор и проверяющийвторой агент смотрит результат первого
Как устроенаПервый агент готовит результат, второй проверяет его по записанным правилам и не имеет права записи.
Когда годитсяРезультат уходит наружу или в учёт, а ошибка дорога: ответ клиенту, расчёт, запись в 1С
Где ломаетсяПроверяющий одобряет всё подряд или спорит с правильным; это выясняется только на размеченной выборке
Цена решения

Что умножается, когда агентов становится больше

Три вещи растут быстрее, чем кажется на демонстрации: стоимость обращений, задержка и вероятность ошибки в цепочке.

Ошибки накапливаются по цепочке

Если каждый шаг верен в девяти случаях из десяти, то цепочка из пяти шагов верна примерно в шести из десяти: девять десятых умножаются пять раз. Цифры здесь иллюстрация, не обещание: реальную долю ошибок на каждом шаге мы измеряем на выборке заказчика. Вывод практический: чем длиннее цепочка, тем жёстче должны быть проверки на стыках, а шаги, которые можно сделать обычным кодом, лучше делать кодом.

Расход и задержка

Каждое обращение к модели занимает время и считается либо в оплате внешнего интерфейса, либо в загрузке ваших видеокарт, если модель стоит у вас. Три агента, обменивающихся сообщениями, обращаются к модели много раз на одну заявку. Мы заранее считаем среднее и худшее число обращений и ставим лимит: после него задача уходит человеку.

Отладка

Каждый шаг пишет в журнал вход, выход, вызванный инструмент и причину остановки, иначе система превращается в чёрный ящик. Подробнее о журнале и откате действий — в статье «ИИ-агент: права, подтверждение действий и откат».

Устройство

Что закладываем в каждого агента

Узкая роль и короткая инструкция

Агент отвечает за один вид работы. Инструкция умещается на экран, формат ответа задан схемой, есть вариант «не знаю, передаю человеку».

Свои инструменты и права

Список инструментов у каждого агента свой, учётная запись отдельная, права минимальные. Запись в учёт идёт через проверяемый код, а не напрямую от модели.

Общее состояние задачи

Состояние хранится вне модели: что получено, что решено, что ждёт подтверждения. Задачу можно остановить, продолжить или откатить, перезапуск не дублирует сделанное.

Лимиты и остановка

Предельное число шагов, предельное время и расход на задачу. Если лимит исчерпан или агенты не сошлись, задача уходит человеку вместе с историей шагов.

Инструменты

LangChain, LangGraph или своя обвязка: на чём собирать агентов

Выбор делаем на обследовании, по требованиям контура и по тому, кто будет сопровождать систему.

LangChain и LangGraph — открытые библиотеки для сборки приложений на языковых моделях. Первая даёт готовые обёртки для моделей, инструментов и работы с документами. Вторая описывает работу агентов как граф: узлы — шаги, рёбра — переходы, состояние хранится явно, можно ставить точки остановки для подтверждения человеком. Для схем «координатор и специалисты» и «автор и проверяющий» граф с явным состоянием удобен, потому что порядок переходов видно в коде, а не в тексте инструкции.

Когда берём библиотеку

  • Нужен граф с ветвлениями, возвратами и остановкой на подтверждении, и писать его с нуля нет смысла.
  • Команда заказчика знает библиотеку или готова её изучить, и это снимает вопрос сопровождения.

Когда берём собственную обвязку

  • Схема простая: цепочка с кодом и один агент. Тогда сотня строк своего кода понятнее, чем зависимость, API которой меняется между версиями.
  • Требования контура запрещают часть зависимостей или внешние обращения, которые библиотека делает по умолчанию.

В любом варианте работу с моделью прячем за собственным интерфейсом. Тогда смена модели или библиотеки не потребует переписывать бизнес-логику. Облачный сервис трассировки производителя библиотеки для данных ограниченного доступа чаще не подходит по требованиям заказчика, поэтому трассы пишем в ваш журнал. Подробнее о выборе между частной моделью и внешним интерфейсом — в статье «Своя LLM или ChatGPT API».

Проверка

Как проверяем мультиагентную систему: четыре уровня

Проверять только итог недостаточно: если итог плохой, не видно, какой агент подвёл.

Уровень
Что проверяем
Как
Критерий приёмки
УровеньОдин агент
Что проверяемРоль отдельно, без остальной системы
КакРазмеченные примеры именно для его шага
Критерий приёмкиПорог по вашей выборке, согласованный до начала работ
УровеньМаршрутизация
Что проверяемВыбор специалиста
КакНабор обращений с известным правильным адресатом, включая неясные
Критерий приёмкиДоля верных выборов и доля неясных, ушедших человеку
УровеньТраектория
Что проверяемПуть по шагам
КакЖурнал: вызванные инструменты, число обращений, причина остановки
Критерий приёмкиНет зацикливания, лимиты соблюдены, лишних вызовов нет
УровеньСквозной прогон
Что проверяемРезультат целиком
КакВыборка прошлых задач, сравнение с решением человека, теневой режим на потоке
Критерий приёмкиСогласованные пороги и отсутствие опасных действий без подтверждения
Что делаем

Из чего состоит работа и сколько она стоит

Цены совпадают со страницей тарифов. Точная цена называется у обследования; остановиться можно после любой ступени.

Обследование: процесс и выбор схемы

Разбираем один-два процесса, права, данные и ограничения контура, решаем, нужен ли второй агент. На выходе схема, критерии приёмки и вилка бюджета. Вычитается из первого этапа, если продолжаете с нами.

200 000 ₽ · 2–3 недели

Обследование: несколько систем

Процесс затрагивает 1С, CRM, почту и склад: схема обменов, матрица прав и источников данных.

350 000 ₽ · 3–4 недели

Лёгкий пилот: один агент

Один агент с инструментами на чтение и черновики, оценка на вашей выборке, журнал шагов. Часто этого достаточно.

150 000–400 000 ₽ · 2–8 недель

Тяжёлый пилот: несколько агентов с действиями

Координатор и специалисты или автор и проверяющий, запись в боевые системы с подтверждением, регламент эксплуатации.

400 000–1 200 000 ₽ · 2–3 месяца

Вывод в эксплуатацию

Опытная эксплуатация, мониторинг расхода и качества, обучение людей, передача исходников и инструкций.

от 1 500 000 ₽ этапами по 300 000–700 000 ₽ · от 3 месяцев

Сопровождение

Мониторинг журнала и расхода, обращения, разбор инцидентов; плановые доработки с пакета на 60 000 ₽. Сверх пакета — 5 000 ₽ в час.

20 000 / 60 000 / 120 000 ₽ в месяц
Процесс

Как идёт работа

2–4 недели — Обследование

Процесс «как есть», действия и права, примеры из вашего потока, выбор схемы и критерии приёмки.

Перед пилотом — Эталонная выборка

Собираем с вашими специалистами набор реальных задач с известным правильным исходом, в том числе трудных. Только на нём потом измеряется качество.

2–8 недель — Пилот с одним агентом

Сначала один агент на чтение и черновики. Второго добавляем, только если ошибки лежат в разделении ролей.

2–3 месяца — Тяжёлый пилот

Несколько агентов, действия в системах с подтверждением, теневой режим на живом потоке. Версию показываем раз в две недели.

От 3 месяцев — Опытная эксплуатация и приёмка

Лимиты расхода, журнал, аварийный выключатель, регламент. Приёмка по записанным критериям.

Дальше — сопровождение или остановка

Обновление моделей и библиотек, разбор спорных случаев по журналу, новые роли по этапам.

Риски

Где мультиагентные проекты ломаются

Агентов больше, чем причин

Нарисовали шесть ролей, потому что так выглядит красиво. На выборке выясняется, что три из них передают друг другу одно и то же. Лишние роли убираем по результатам тестов.

Общая память без границ

Агенты читают общую историю, и недоверенный текст из письма попадает в инструкцию соседнего агента с правами записи. Данные и инструкции разделяем, а выводы модели считаем недоверенным вводом.

Нет остановки и нет владельца

Два агента бесконечно уточняют друг у друга ответ и тратят расход, а на вопрос «кто отвечает за решение» нет ответа. Нужны лимиты, передача человеку и названный владелец процесса.

Контроль

Что остаётся у вас и чего мы не делаем

Остаётся у вас

  • Исходный код в вашем репозитории с первого коммита.
  • Модель, веса и данные на ваших серверах; развёртывание описано инструкцией.
  • Описание ролей, прав и схемы переходов в проверяемом виде, журнал шагов.
  • Эталонная выборка и скрипты оценки: качество можно перепроверить без нас.
  • Право остановиться после любой ступени: сделанное остаётся у вас по акту.

Мы этого не делаем

  • Не обещаем полную автономность: действия с последствиями идут через подтверждение человека.
  • Не пускаем агентов в боевые системы с правами администратора и без журнала.
  • Не внедряем систему целиком в масштабе предприятия за десятки миллионов: мы делаем один контур или участок.
  • Не имеем лицензии ФСТЭК и не проводим аттестацию. Дежурства 24/7 у нас нет.
  • Не берём работы дешевле 150 000 ₽.
Граница

Мультиагентная система, одиночный агент или LLM-приложение: где проходит граница

Если процесс сводится к «получить, разобрать, внести» с общими правами, это ИИ-агент для бизнеса: один агент, права, подтверждения и откат. Если нужен ассистент по базе знаний или ИИ-функция внутри вашего продукта, смотрите разработку LLM-приложений. Как устроены такие приложения вокруг модели, описано в статье «Архитектура LLM-приложения».

Если работа в основном решается правилами, а модель нужна для разбора неструктурированного входа, выбирайте гибрид: код исполняет, модель размечает. Критерии собраны в статье «RPA или ИИ-агент». Для продаж есть отдельная страница: ИИ-агент для автоматизации продаж.

Инструменты

На чём собираем

Модели и оркестрация
  • Открытые языковые модели на ваших серверах; внешний интерфейс — только если данные это допускают
  • LangGraph или LangChain, либо собственная обвязка на Python
  • Схемы входа и выхода агентов, проверка формата до записи
  • Эталонные наборы и скрипты оценки в репозитории
Данные, права и развёртывание
  • PostgreSQL для состояния задач и журнала, очередь на PostgreSQL или RabbitMQ
  • Векторный поиск (pgvector, Qdrant), если агентам нужна база знаний
  • Отдельные учётные записи агентов, секреты в вашем хранилище
  • Docker, Nginx, GitLab CI, мониторинг расхода и задержки
Материалы

Материалы по теме

Статья

Мультиагентные системы: когда хватает одного агента

Как понять, что второй агент нужен: признаки, схемы и цена каждого шага.

  • Признаки
  • Схемы
  • Цена шага
Читать →
Статья

ИИ-агент: права, подтверждение действий и откат

Матрица действий, отдельная учётная запись агента, журнал и аварийный выключатель.

  • Матрица действий
  • Подтверждение
  • Откат
Читать →
Заявка

Разберём, хватит ли вам одного агента

Сорок минут созвона: какой процесс, какие системы, какие действия агент должен совершать и кто отвечает за результат. По итогам скажем, нужна ли мультиагентная схема и с какой ступени начинать.

Спасибо, заявка отправлена. Ответим в течение рабочего дня.

Не удалось отправить. Напишите в телеграм или позвоните.

Вопросы

Частые вопросы: мультиагентные ИИ-системы

Сколько стоит разработка мультиагентной системы?

Обследование стоит 200 000 ₽ (один-два процесса, 2–3 недели) или 350 000 ₽ (несколько систем, 3–4 недели) и вычитается из первого этапа. Лёгкий пилот с одним агентом стоит 150 000–400 000 ₽, тяжёлый пилот с несколькими агентами и действиями в боевых системах 400 000–1 200 000 ₽ за два-три месяца. Вывод в эксплуатацию начинается от 1 500 000 ₽ этапами по 300 000–700 000 ₽. Точную сумму называем после обследования.

Чем мультиагентная система отличается от одного агента?

У неё несколько агентов с разными ролями, инструментами и правами, которые передают друг другу состояние задачи. Нужна она, когда у частей работы разные права или модели либо когда результат должен проверять независимый агент. В остальных случаях один агент дешевле и надёжнее: меньше обращений к модели, короче цепочка, проще журнал.

Можно ли собрать агентов на LangChain или LangGraph?

Да. LangGraph удобен для схем с ветвлениями и остановкой на подтверждении человеком, LangChain даёт готовые обёртки. Для простой цепочки обычно проще собственная обвязка. Решаем на обследовании, проверяем лицензии зависимостей и закрепляем версии, а модель прячем за собственным интерфейсом.

Где будут работать модели и хранятся данные?

Основной вариант: открытая модель на ваших серверах. Внешний интерфейс возможен для данных, которые это допускают; для данных ограниченного доступа он чаще не подходит по требованиям заказчика. Персональные данные граждан России обычно должны храниться на серверах в России.

Как измеряется качество и что считается готовым результатом?

Мы вместе с вашими специалистами собираем выборку реальных задач с известным правильным исходом и до начала работ записываем пороги приёмки. Проверяем каждого агента отдельно, маршрутизацию, путь по шагам и результат целиком. Цифры качества заранее не обещаем: они зависят от ваших данных.

Что если агенты зациклятся или ошибутся?

У каждой задачи есть лимит шагов, времени и расхода, после него она уходит человеку с историей. Действия с последствиями идут через подтверждение, каждый шаг пишется в журнал, аварийный выключатель останавливает агентов.

Кому принадлежит код и что останется после проекта?

Исходный код лежит в вашем репозитории с первого коммита, настройки и скрипты оценки передаются по акту. Открытые компоненты остаются под своими лицензиями, их список входит в документацию.

Как устроено сопровождение?

Три пакета: 20 000, 60 000 или 120 000 ₽ в месяц, до 4, 12 или 25 часов. В часы входят мониторинг журнала и расхода, разбор инцидентов и плановые доработки с пакета на 60 000 ₽. Сверх пакета 5 000 ₽ в час по согласованию до начала. Круглосуточного дежурства нет.

Вы работаете только в Ростове-на-Дону?

Мы в Ростове-на-Дону, работаем с заказчиками по всей России: удалённо и в вашем контуре. Доступ к системам и обследование согласуем на старте с вашей службой безопасности.