Агентский Workflow: от одного агента к мультиагентным системам
Ключевые тезисы:
Think-Act-Observe (ReAct) — базовый цикл работы агента, делающий его итеративным.
Стратегии мышления (Chain of Thought, ReAct, Reasoning) выбираются в зависимости от сложности задачи и необходимости использования инструментов.
Мультиагентность решает проблемы масштаба и сложности через декомпозицию, специализацию и координацию.
Архитектуры мультиагентных систем (иерархическая, децентрализованная и др.) имеют разные компромиссы между предсказуемостью, отказоустойчивостью и сложностью.
Мультимодальные агенты (Vision, Voice) расширяют возможности взаимодействия с миром.
Ключевые риски: овер-инжиниринг, сложность отладки, накопление ошибок и игнорирование observability.
Think-Act-Observe: Цикл работы агента
Think-Act-Observe (ReAct) — это рабочий процесс, позволяющий агенту динамически корректировать свои действия на основе обратной связи.
Этапы цикла:
Think (Мыслить): LLM анализирует входные данные, формирует план и определяет следующие шаги.
Act (Действовать): Агент исполняет действие: вызывает инструмент, отвечает пользователю или делегирует задачу другому агенту. На этом этапе формируется вызов функции с аргументами.
Observe (Наблюдать): Агент получает обратную связь от среды (результат вызова инструмента, ошибка, ответ пользователя).- После этого шага цикл замыкается на Think, если задача не решена, или переходит к финальному ответу пользователю.
Стратегии мышления (Reasoning)
Выбор стратегии критически важен для качества и стоимости работы агента.
1. Chain of Thought (CoT)
- Как работает: Агенту в промте явно указывают "разбирай задачу пошагово". Мышление происходит внутри одной генерации.
- Плюсы:
Простота, скорость, дешевизна. - Минусы:
Нет инструментов, нет перепроверок. Ошибка на раннем шаге каскадно влияет на результат. - Использовать для: Простых задач без инструментов (математические операции, анализ текста).
2. ReAct (Reasoning + Acting)
- Как работает: Агент чередует рассуждения (Think) и действия (Act) с получением обратной связи (Observe) в нескольких итерациях.
- Плюсы:
Позволяет использовать инструменты, ошибки можно отловить и скорректировать. - Минусы:
Дороже и медленнее, чем CoT. - Использовать для:
90% случаев — агенты, которым нужны инструменты (поиск в БД, вызов API и т.д.).
3. Reasoning (как свойство модели)
- Как работает: Способность к рассуждению встроена в модель на уровне обучения (например, OpenAI o1). Модель сама решает, как и сколько "думать".
- Плюсы:
Высокое качество для сложных задач, не требует явного промтинга. - Минусы:
Дорого (оплачиваются "токены размышлений"), "чёрный ящик". - Использовать для: Сложных задач, где CoT не справляется, и готовы платить за качество.
Дерево решений:
- Нужны ли инструменты? Да → ReAct.
- Нет инструментов → Нужно глубокое многоэтапное планирование/саморефлексия и готовы платить? Да → Reasoning. Нет → Chain of Thought.
Фаза Action: Вызов инструментов
На этом этапе формируется корректный вызов функции. Форматы:
- JSON Agent: Генерация JSON-объекта с именем инструмента и аргументами. Требует надежного парсинга.
- Function Calling:
Нативный и надежный формат. Модель обучена генерировать вызовы функций как отдельные сообщения. - Code Agent: Генерация исполняемого Python-кода.
Критически важно запускать в изолированной среде (Docker, sandbox) с ограничением прав.
Ключевой механизм: Stop & Parse
- Проблема: LLM генерирует текст непрерывно и может "придумать" результат инструмента.
- Решение: После генерации Action явно передается сигнал стоп, генерация прекращается, и в рантайме парсится и вызывается реальный инструмент.
Структурированный вывод (Structured Output)
Позволяет агенту возвращать ответ не произвольным текстом, а в строго заданном формате (например, Pydantic-модель), что удобно для дальнейшей программной обработки или передачи другим агентам.
Мультиагентные системы
Используются, когда один агент не справляется из-за:
- Путаницы в большом контексте (>10-15 инструментов).
- Путаницы в подзадачах.
- Низкой надежности и сложности отладки.
Когда переходить к мультиагентности?
- Если инструментов больше 5-6 и ожидается рост сложности.
- Лучше заранее проработать такую архитектуру, чем мигрировать позже.
Принципы построения
Декомпозиция: Разбиение задачи на подзадачи.
Специализация: Каждый агент — эксперт в своей области.
Коммуникация: Обмен структурированными данными между агентами.
Координация: Согласованная работа для достижения общей цели.
Верификация: Дополнительная проверка результатов.
Обратная связь: Корректировка на основе данных от других агентов.
Паттерны взаимодействия агентов
Дебаты: Агенты спорят над одним решением, ищут слабые места.- Для: проверки фактов, этических дилемм.
- Минусы: медленно, дорого.
Коллаборация (наиболее частый): Агенты дополняют друг друга, у каждого своя подзадача. Есть агент-координатор для декомпозиции и сборки ответа.- Для: четких пайплайнов, задач с разными навыками.
- Паттерн Handoff: Координатор передает задачу специалисту вместе с контекстом.
Конкуренция: Несколько агентов независимо решают одну задачу, а агент-оценщик выбирает лучший результат.- Для: творческих задач, где нет единственного верного пути.
- Минусы: самый ресурсоемкий подход.
Архитектуры мультиагентных систем
| Архитектура | Как работает | Плюсы | Минусы | Когда использовать |
|---|---|---|---|---|
Иерархическая |
Агент-координатор раздает задачи специалистам. | Предсказуемость, легко дебажить. |
Единая точка отказа (координатор). |
Сложные задачи с известной декомпозицией. Чаще всего в продакшене. |
Децентрализованная |
Все агенты равноправны, общаются напрямую. | Высокая отказоустойчивость, масштабируемость, адаптивность. |
Сложная координация, непредсказуемость, риск зацикливания. |
Нужна отказоустойчивость или динамическая координация в непредсказуемой среде. |
Централизованная (Звезда) |
Роутер только перенаправляет запрос подходящему агенту-исполнителю. | Простота, легко дебажить, предсказуемость. |
Единая точка отказа, плохо масштабируется на сложные задачи. |
Простые, четко классифицируемые задачи, не требующие совместной работы агентов. |
Shared Message Pool |
Агенты общаются через общую шину (publish-subscribe). | Масштабируемость, асинхронность, гибкость. |
Средняя сложность отладки, непредсказуемый порядок обработки. |
Асинхронные сценарии, мониторинг событий, много независимых источников данных. |
Универсальной архитектуры нет. Выбор зависит от требований к предсказуемости, отказоустойчивости, простоте или асинхронности.
Протоколы и ограничения
- MCP (Model Context Protocol): для подключения агентов к инструментам.
- AIA (Agent Interaction Protocol): для взаимодействия агента с агентом.
Основные ограничения:
Ресурсоёмкость: Больше агентов → больше вызовов LLM → выше стоимость и задержка.
Накопление ошибок: Ошибка одного агента может распространиться по цепочке.
Сложность отладки: Критически важны полная трассировка, логи и инструменты observability.

Мультимодальные агенты (обзор)
Расширяют взаимодействие за пределы текста.
Vision-агенты: Анализируют изображения и видео (используют VLM).
Voice-агенты: Работают с голосом (Speech-to
Иерархическая
Децентрализованная
Shared Message Pool