Журнал ·

Агент или workflow: как не построить лишнего агента

Чем агент отличается от workflow с LLM, какие паттерны закрывают большинство задач и что агент добавляет к стоимости, отладке и рискам.

Агент сам решает, какой шаг сделать следующим. Workflow выполняет шаги, порядок которых задан заранее, даже если внутри шагов работает LLM. Большинство прикладных задач решается workflow, и агент нужен только там, где последовательность действий нельзя расписать заранее.

Это не спор о модном слове. От выбора зависят стоимость каждого запроса, предсказуемость, отладка и то, что система может сломать, если ошибётся.

Чем они различаются на самом деле

В workflow управление держит код. Модель может классифицировать обращение, извлечь поля, написать ответ — но что происходит после её шага, решает программист.

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

Агент — это не «модель плюс инструменты». Чтобы такая система работала в production, ей нужны состояние, цикл управления, память, разрешения на инструменты, ограничители, оценка и наблюдаемость. Если половины из этого нет, получается демо, а не система.

Паттерны, которые закрывают большинство задач

Прежде чем строить агента, стоит проверить, не укладывается ли задача в один из workflow-паттернов:

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

В программе эти паттерны сначала пишутся «на голом коде», без фреймворков. Когда видишь, что маршрутизация — это классификация плюс if, пропадает желание брать для неё агентный фреймворк.

Когда агент оправдан

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

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

Обратные признаки — повод остаться на workflow:

  • вы можете нарисовать блок-схему процесса, и она помещается на экран;
  • ошибка стоит дорого, а результат нужно объяснять и воспроизводить;
  • важна предсказуемая стоимость запроса.

Часто правильный ответ — гибрид: workflow с одним «агентным» шагом там, где действительно нужна свобода.

Что агент добавляет к стоимости и рискам

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

Отладка. Ошибку workflow ищут в конкретном шаге. Ошибку агента — в траектории: почему на третьем шаге он выбрал не тот инструмент. Без трассировки всей траектории это гадание.

Оценка. Для workflow достаточно проверить результат. Для агента проверяют ещё и путь: дошёл ли до цели, какими инструментами, не сделал ли лишнего.

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

Частые вопросы

Если в workflow есть LLM, это уже агент? Нет. Модель внутри шага — это исполнитель. Агентом система становится, когда модель решает, что делать дальше.

Можно ли начать с агента, а потом упростить? Можно, но обычно дороже. Проще начать с workflow и дать модели свободу ровно в том месте, где фиксированные ветки перестали справляться, — и замерить, что это дало.

А нужен ли агенту MCP? Не обязательно. MCP — способ подключить инструменты; агент может вызывать их и напрямую. Когда MCP оправдан — в статье про MCP.

Где это в программе

Workflow-паттерны — модуль L5.5: три паттерна на «голом» коде. Агенты — уровень L7: агент как инженерная система, уровни автономии, граф состояний с бюджетами, подтверждение рискованных действий и оценка траекторий. На экзамене общего ядра нужно спроектировать агента под кейс и письменно обосновать, почему здесь агент, а не workflow — или наоборот.

Где это в программе

L5 Уровень

Middle

Строите приложение с гибридным поиском, инструментами и мультимодальным вводом; считаете стоимость 1 000 и 100 000 запросов; отлаживаете по трассе.

L7 Уровень

Senior II: агентные системы

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

Специализация D

AI Agent Engineer

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

Специализация E

AI Automation Engineer

Автоматизирует бизнес-процессы, встраивая LLM-шаги в детерминированные workflow.

Все статьи журнала

Диагностика уровня

С какого уровня начать?

Оставьте контакты — свяжемся, зададим несколько вопросов об опыте и целях и подскажем уровень входа: с нуля, с середины программы или через Fast Track для разработчиков.

Или напишите: hello@superint.ru