LangGraph, CrewAI, AutoGen: как выбрать основу для рабочего агента
Разбираю три популярных фреймворка для агентов с позиции исполнителя: чем они реально различаются, как выбрать за один вечер и почему часть проектов вообще стоит собрать без фреймворка.
Когда мне присылают очередное сравнение фреймворков для агентов, я сначала смотрю на автора. Во многих таких обзорах в графе «победитель» внезапно оказывается платформа самого автора. Ниже — то, что я проверял руками на своих задачах, со стороны человека, который потом это же и поддерживает.
Начните с вопроса, который экономит месяц
Фреймворк оправдан, когда в задаче есть ветвление, повторы, состояние между шагами и несколько исполнителей, которые обмениваются результатами. Если сценарий описывается как «сходить в API, прогнать через модель, положить в базу» — это обычный скрипт. Оркестратор здесь добавит только слой, который придётся изучать и обновлять.
Живой пример из моего проекта. Я собирал систему для маркетинговых задач и по инерции заложил в стек n8n — ради скорости для соло-разработчика. Потом сел и выписал интеграции: TGStat, Telemetr.io, Telega.in, TeleTarget, рекламный кабинет VK, ОРД. Готовых нод под них нет ни одной. То есть HTTP-запросы я всё равно писал бы руками внутри Code-нод, а n8n оставался бы UI-обёрткой и лишним сервисом на VPS. В итоге стек стал проще: тонкий Python-оркестратор, состояние в Postgres, всё поднимается через Docker Compose. Тот же вопрос стоит задать себе и про LangGraph с компанией.
Что между ними реально различается
Маркетинговые описания у всех троих похожи. Различий, которые чувствуются на второй неделе разработки, всего три.
- Модель управления. Кто решает, какой шаг следующий: ваш код или сама модель.
- Где живёт состояние. Внутри процесса, в базе, в истории диалога.
- Что происходит при падении. Можно ли перезапустить один шаг или придётся гонять всю цепочку заново.
Всё остальное — вкусовщина и синтаксис.
LangGraph: граф, который вы контролируете
Вы явно описываете узлы и переходы между ними. Состояние живёт в объекте, который передаётся по графу, и его можно сохранять в чекпойнты — упавший прогон продолжается с нужного места. Это удобно для процессов с циклами, ретраями и человеком в контуре: согласование, доработка, повторная проверка.
Цена — многословность. Простая линейная задача превращается в десятки строк описания графа. Берите, когда логика сложная и предсказуемость важнее скорости старта.
CrewAI: роли и задачи
Здесь вы описываете агентов через роль, цель и набор инструментов, а работу — через задачи. Прототип собирается быстро, код читается почти как техзадание, и это хорошо заходит для демонстрации идеи заказчику.
Обратная сторона — часть поведения спрятана внутри абстракций. Когда агент начинает ходить по кругу или вызывать не тот инструмент, докопаться до причины сложнее, потому что решение принимает не ваш код. Хорош для быстрых прототипов и сценариев, где цена ошибки низкая.
AutoGen: разговор агентов
Модель работы — переписка между агентами, включая роль пользователя-прокси и агента, который исполняет код. Сильная сторона — исследовательские задачи, где заранее неизвестно число шагов.
Та же особенность мешает в продакшене: диалог может затянуться, а счёт за токены растёт вместе с историей сообщений. Если ставите AutoGen на поток, сразу закладывайте жёсткие лимиты на количество раундов и бюджет.
Как выбрать за один вечер
Я делаю так. Беру один самый неприятный сценарий из проекта — тот, где есть внешний API с лимитами, ретраи и ручное согласование. Дальше пишу его на каждом кандидате в минимальном виде и смотрю на четыре вещи:
- Сколько строк занял сценарий и понятны ли они через неделю.
- Что происходит, если на третьем шаге API вернул 429.
- Видно ли из логов, почему агент принял именно это решение.
- Сколько токенов ушло на один полный прогон.
Четвёртый пункт часто оказывается решающим. Разница между фреймворками по стоимости прогона бывает кратной, и это выясняется только на реальном сценарии.
Звёзды на GitHub ничего не значат
Отдельная привычка: перед тем как брать готовый шаблон, я проверяю репозиторий через GitHub API. Недавно смотрел популярную заготовку агента для холодных рассылок на LangGraph — 344 звезды, красивое описание. По факту: лицензии нет вообще, последний коммит датирован январём 2025 года, то есть репозиторий молчит больше полутора лет. Как учебный пример читается отлично. Класть такое в основу коммерческого проекта я бы не стал.
Проверяйте три поля: дату последнего коммита, наличие лицензии и то, совпадает ли заявленное в README с содержимым кода.
Что я советую по итогу
Сначала честно ответьте, нужна ли вам оркестрация вообще. Если нужна — берите LangGraph для процессов, которые пойдут в продакшен и должны переживать падения. CrewAI — чтобы за вечер показать работающий прототип. AutoGen — для исследовательских задач с непредсказуемым числом шагов.
И помните главное: фреймворк меняется за неделю, а описанная схема процесса живёт годами. Начинайте со схемы.
Автоматизация для бизнеса
Вторая сторона исследования: собираю под бизнес ИИ-агентов и автоматизации, которые работают и с клиентами, и с командой. Система остаётся у вас в работе и под вашим управлением.