Коротко
Главная проблема агентных систем — не нехватка ролей, а избыток свободы и плохо заданных границ. Разбираем, когда хватит одного агента, зачем нужен граф и что обязательно контролировать в production.
Многие агентные приложения становятся дороже и медленнее не потому, что задача сложная, а потому что в них добавляют лишних агентов. Практический вопрос звучит не «сколько ролей создать», а «что новый агент даст системе: информацию, права или независимую проверку». Если ничего — это просто ещё один вызов модели.
Модель становится агентом не из-за названия вроде Researcher или Critic. Нужна связка: модель, цикл работы, инструменты, состояние и ограничения. Агент должен уметь выбрать действие, получить результат, изменить план и понять, когда остановиться.
Поэтому мультиагентность — это не количество моделей и не имитация офиса из «аналитика», «редактора» и «контролёра». Роли имеют смысл только при реальном разделении контекста, инструментов, полномочий или ответственности. Два разных агента могут быть полезнее шестнадцати одинаковых, но это не универсальная формула, а результат отдельного эксперимента.
Если следующий шаг зависит от результата инструмента, подходит цикл ReAct: модель действует, наблюдает последствия и выбирает продолжение. Если шаги известны заранее, надёжнее обычный workflow, где код управляет процессом, а LLM решает только неоднозначные задачи.
Именно здесь появляется важное инженерное разделение. Код должен проверять обязательные поля, сохранять результаты, повторять операции после сетевых ошибок, запрашивать подтверждение и не допускать повторного платежа. Модель можно оставить для выбора стратегии поиска, разбиения задачи или оценки черновика.
Разговор нескольких агентов удобен для прототипа и задач с неопределённым маршрутом: исследования, сравнения гипотез, независимой проверки. Но в production важнее видеть не только, кто кому что сказал, а где находится процесс, что уже сделано и какой переход разрешён дальше.
Граф с состояниями, ветвлениями, циклами и паузами делает эту структуру явной: задача получена → построен план → собраны источники → проверена полнота → подготовлен черновик → выполнена критика → получено подтверждение человека. Модель сохраняет гибкость, но действует внутри разрешённой схемы.
Полноценная система состоит из нескольких слоёв: Agent SDK, workflow или graph runtime, рабочая среда, память, наблюдаемость, evals и безопасность. SDK вроде OpenAI Agents SDK или Google ADK помогают собрать цикл и подключить инструменты. LangGraph, Mastra Workflows или XState добавляют управляемую структуру процесса. Готовые решения вроде Claude Agent SDK и Codex SDK закрывают более узкий сценарий — coding agent.
Это также означает, что «взяли фреймворк» не равно «получили надёжного агента». Среда выполнения, команды, структура репозитория, тесты и обратная связь влияют на результат не меньше, чем сама модель.
У агентных подходов есть цена. ReAct расходует больше времени и токенов, а несколько агентов добавляют задержку и стоимость координации. Self-Refine и Reflexion способны не исправить, а закрепить ошибочный вывод. Поиск по нескольким вариантам полезен лишь тогда, когда варианты можно надёжно оценить.
Разговорная архитектура легко превращается в «театр агентов»: одинаковые роли получают одинаковые данные и повторяют одни и те же ошибки. Граф задаёт возможные переходы, но сам по себе не гарантирует durable execution — восстановление после сбоя или долгого ожидания. И ни один фреймворк не закрывает весь стек, поэтому безопасность, аудит, evals и наблюдаемость всё равно остаются отдельными инженерными задачами.
Хорошая отправная точка обычно скромнее, чем обещают демонстрации: один агент, ограниченный набор инструментов и явный workflow. Какую часть своей задачи вы бы всё-таки оставили модели, а какую без колебаний зафиксировали бы обычным кодом? Источник: Все статьи подряд / Искусственный интеллект / Хабр