AutoGen vs LangGraph: куда переходить после AutoGen
AutoGen архивирован. Как устроены состояние, согласование и восстановление в LangGraph и что выбрать для миграции: LangGraph или Microsoft Agent Framework.
Опубликовано

AutoGen vs LangGraph — теперь вопрос миграции: по состоянию на 27 октября 2026 года в README Microsoft AutoGen указано, что проект архивирован и больше не поддерживается. Выбирайте LangGraph, если нужен явный контроль над рабочим процессом с состоянием. Microsoft Agent Framework подойдёт, если важнее сохранить преемственность со стеком агентов Microsoft. Существующий прототип на AutoGen пригодится при миграции, но брать его за основу нового промышленного решения — неудачный выбор. Текущий статус AutoGen.
AutoGen vs LangGraph: какой фреймворк выбрать?
Выбирайте LangGraph для новой системы, которая должна отслеживать ход работы, останавливаться на согласование и предсказуемо восстанавливаться после сбоев. LangGraph — среда оркестрации от LangChain. Она позволяет представить приложение как набор шагов, связанных через явно заданное состояние. Такой подход подходит для обработки обращений в поддержку: черновик ответа, результат проверки и разрешение на отправку должны оставаться отдельными сущностями даже после перезапуска обработчика.
Выбирайте Microsoft Agent Framework для миграции с AutoGen, если приложение тесно связано с экосистемой Microsoft, особенно если оно уже написано на .NET. Преемник AutoGen объединяет абстракции агентов и рабочие процессы. Переход внутри этой экосистемы всё равно потребует изменить оркестрацию и работу с состоянием: одной замены названия пакета недостаточно. Обзор фреймворка Microsoft.
Существующий прототип на AutoGen стоит оставить лишь как вспомогательный образец на время миграции. Сохраните ценные промпты, контракты инструментов и примеры. Не расширяйте задачи прототипа в расчёте на поддержку разработчиков, которой больше нет.
Выбор зависит от трёх вещей: кто поддерживает основу системы, где хранится состояние приложения и как возобновляется приостановленное задание. Эти выводы опираются на документацию, а не на тесты скорости или качества моделей. Упомянутые страницы разработчиков и документация проверены 27 октября 2026 года.
Технические подробности из таблицы описаны в руководстве по командам AutoGen, руководстве по состоянию AutoGen, документации Graph API LangGraph и документации по сохранению состояния LangGraph.
Текущий статус AutoGen: проект архивирован, поддержка прекращена
В README AutoGen, фреймворка Microsoft для совместной работы ИИ-агентов, теперь стоит предупреждение: «Проект архивирован и больше не поддерживается». Там же сказано, что Microsoft больше не исправляет ошибки и уязвимости, не добавляет функции и не оказывает поддержку. Действующим пользователям рекомендуют мигрировать. Рекомендация для тех, кто только выбирает инструмент, однозначна: «Новым пользователям следует начинать с Microsoft Agent Framework». README Microsoft AutoGen.
Предыдущие заявления Microsoft объясняют, почему разработчик может помнить другую политику. В публикации о запуске от 1 октября 2025 года говорилось: «Оба проекта продолжат получать поддержку, но основная часть вложений теперь направлена на Microsoft Agent Framework». Так на момент запуска описывалось будущее AutoGen и Semantic Kernel — более раннего фреймворка Microsoft для агентов и приложений с ИИ. Это заявление не отменяет нынешнего предупреждения AutoGen. Публикация Microsoft о запуске.
В публикации Microsoft к BUILD от 3 июня 2026 года также сказано: «Версия MAF 1.0 стала общедоступной 2 апреля 2026 года». GA означает general availability, то есть общедоступный выпуск. Поэтому описывать преемника лишь как предварительную версию, анонсированную при запуске, уже неверно. Обновление Microsoft к BUILD.
Если выбирать между AutoGen и LangGraph для нового проекта, побеждает LangGraph. Статус поддержки AutoGen решает эту часть вопроса ещё до обсуждения его диалогового API. Microsoft Agent Framework остаётся отдельным актуальным вариантом для миграции.
Диалог агентов или граф с состоянием
В AutoGen AgentChat работу удобно организовывать вокруг диалога; в LangGraph явно задаются состояние приложения и переходы между шагами. Координировать агентов умеют оба фреймворка. Существенное различие проявляется в том, что нужно определить при сбое или вмешательстве человека.
AutoGen: агенты по очереди отвечают и читают сообщения
AutoGen AgentChat — высокоуровневый API команд поверх событийной среды исполнения AutoGen Core. В RoundRobinGroupChat участники говорят по очереди и отправляют ответы всей группе. Агент-автор может предложить ответ, а агент-рецензент — оспорить его. В SelectorGroupChat следующего участника вместо этого выбирает модель. Шаблоны команд AutoGen.
Так удобно описывать уже понятный диалог. Сложности начинаются, когда история сообщений должна ещё и фиксировать ход бизнес-процесса. Слово «одобрено» может означать, что факты в черновике верны, что клиент дал согласие или что человек разрешил действие. Приложение должно различать эти значения до обращения к внешней системе.
Главное ограничение AutoGen — разрыв между полезным диалогом и бизнес-процессом, который можно возобновить, а теперь к нему добавилось и архивирование проекта. Дополнительные промпты не определяют, какой сохранённый результат считать актуальным и какое действие уже выполнено.
При этом утверждать, что AutoGen не умеет работать с графами, тоже неверно. Экспериментальный GraphFlow поддерживает последовательности, ветвления, параллельную работу и циклы. Важнее другое, менее очевидное ограничение: граф выполнения не определяет, какие сообщения видит агент. По умолчанию сообщения получают все участники, а фильтрация настраивается отдельно. Ребро «дальше действует рецензент» не задаёт границу доступа к данным. Документация GraphFlow.
Для разбора существующего диалогового прототипа удобнее AutoGen AgentChat. Абстракция команды позволяет компактно объяснить его устройство. Это повод разобраться в коде перед миграцией, но не основание развёртывать на нём новую систему.
LangGraph: приложение ведёт явную запись о ходе работы
LangGraph — низкоуровневая среда исполнения для рабочих процессов с состоянием. Узел выполняет работу, ребро задаёт следующий шаг, а состояние представляет собой структурированную запись, которую приложение передаёт между шагами. Узлы могут содержать вызовы модели или обычные функции. Обзор LangGraph.
При подготовке ответа поддержки в состоянии можно хранить идентификатор обращения, утверждённый исходный текст, текущий черновик, замечания рецензента и решение человека. Узел проверки обновляет замечания. Условное ребро возвращает не прошедший проверку ответ на доработку или направляет приемлемый черновик на согласование. Поля и правила определяются при проектировании приложения.
Редьюсер — это правило объединения обновления с существующим полем состояния. Например, текущий черновик можно заменять целиком, а замечания — накапливать. Если выбрать неверное правило, к исправленному ответу могут остаться привязаны устаревшие замечания. Обновление состояния и редьюсеры.
Цена подхода LangGraph — необходимость явно спроектировать процесс. Схема состояния, правила маршрутизации и поведение при сбоях остаются вашей ответственностью. Граф тоже может включать решения модели и циклы: сама схема не делает сгенерированный текст воспроизводимым или правильным.
В управлении состоянием бизнес-процесса выигрывает LangGraph. Он даёт запись, которую можно проверить напрямую, без попыток восстановить ход работы по переписке агентов.
LangGraph и LangChain: какой уровень нужен приложению?
LangChain — более высокоуровневый фреймворк для моделей, инструментов и циклов работы агентов; LangGraph обеспечивает оркестрацию под ним. LangGraph можно использовать без компонентов LangChain. Как устроен этот стек.
При миграции с AutoGen сначала определите, нужен ли приложению собственный рабочий процесс. Небольшому ассистенту, который вызывает инструмент и возвращает ответ, такая дополнительная структура может не понадобиться. Этот выбор подробно разобран в сравнении LangChain и LangGraph.
Одна задача с двумя агентами в обоих фреймворках
Сравните координацию на примере автора и рецензента, а отправку ответа вынесите за пределы обоих агентов. Возьмём ответ поддержки по заранее заданному обращению клиента и утверждённому фрагменту базы знаний. Автор предлагает ответ. Рецензент сверяет каждое утверждение с источником и либо запрашивает правки, либо принимает черновик. Разрешение на отправку отдельно даёт человек.
Это пример устройства системы, а не выполненный бенчмарк. Обе реализации получают одинаковые входные данные, промпты и критерии проверки. Ни одному агенту не выдают инструмент отправки. Так сравнение остаётся сосредоточено на главном: как фреймворк представляет работу и точки её остановки?
Эти схемы опираются на документированные шаблон команды AutoGen с взаимной проверкой, обратную связь между запусками, маршрутизацию LangGraph и прерывания.
Что нужно настроить в AutoGen
Создайте автора и рецензента с разными инструкциями и включите их в RoundRobinGroupChat. В официальном руководстве для остановки по слову в ответе агента используется TextMentionTermination. В нашем приложении такая остановка означает лишь завершение автоматической проверки, но никогда не разрешение на отправку. Проверьте результат и сохраните именно тот черновик, который оценивал рецензент.
Задайте приложению предел доработок. Если рецензент снова и снова находит неподтверждённые утверждения, передайте обращение человеку вместе с замечаниями. Неразрешённый диалог не должен превращаться в бесконечную попытку получить маркер успеха.
Дополнительная инженерная работа лежит за пределами диалога: нужно записать, какое обращение обрабатывается, сохранить результат проверки и состояние команды в безопасной точке остановки, а затем связать ответ человека с нужным черновиком. Руководство по состоянию даёт примитивы сериализации, а не готовые правила восстановления приложения.
Что нужно настроить в LangGraph
Определите поля приложения, например ticket_id, source_text, draft, review, approved и send_receipt. Соедините подготовку черновика с проверкой. Если проверка не пройдена, направляйте ответ на доработку, пока это допускают заданные правила; иначе останавливайтесь для ручной обработки. Успешная проверка переводит процесс на этап согласования с человеком.
Полезное правило реализации: любое изменение черновика должно аннулировать прежнее согласование. Иначе человек может одобрить один текст, а приложение впоследствии отправит другой. Это бизнес-инвариант — условие, которое приложение обязано соблюдать всегда, а не функция фреймворка.
Отправку следует выполнять отдельной обычной функцией после согласования. Эта функция записывает подтверждение внешней системы, связывая его с обращением и одобренным черновиком. Результат проверки агентом и разрешение человека остаются разными полями.
Когда в этой задаче важны отложенное согласование и восстановление, выигрывает LangGraph. AutoGen наглядно описывает обмен репликами, а граф прямее выражает запись о ходе работы и условия переходов. Если задача заканчивается неотправленным черновиком и её легко запустить заново, при миграции придётся решать меньше требований к рабочему процессу.
Контрольные точки и ожидание человека: что значит восстановить процесс?
Сохранить состояние диалога полезно, но это не то же самое, что обеспечить возобновление рабочего процесса. AutoGen поддерживает save_state() и load_state() для агентов и команд. Приложение может сохранять это состояние в файл или базу данных. Говорить, что у AutoGen «нет памяти», — значит неверно описывать возможности API. Управление состоянием AutoGen.
В LangGraph есть checkpointer — компонент, сохраняющий состояние графа для потока выполнения. Такой поток обозначает продолжающуюся работу над одной задачей. Отдельный store хранит данные приложения, которые должны быть доступны разным потокам. Первый механизм нужен для продолжения текущего обращения, второй — при необходимости — для общих долговременных данных. Основы сохранения состояния.
Выбор хранилища имеет значение. InMemorySaver и MemorySaver держат контрольные точки в оперативной памяти: после перезапуска процесса они исчезают. Прототип, который показывает прерывание с хранением в памяти, ещё не демонстрирует восстановление после перезапуска. Для этого нужно постоянное хранилище. Разбор проблем с сохранением состояния.

Для отложенной проверки interrupt() в LangGraph приостанавливает выполнение до получения внешних данных. Возобновление выполняется через Command(resume=...) с тем же thread_id, который использовался при остановке. Идентификатор связывает поступившее решение с сохранённой работой. Поведение прерываний LangGraph.
UserProxyAgent в AutoGen может запросить обратную связь человека во время запуска. Но документация предупреждает: ожидающая команда блокируется в состоянии, которое нельзя сохранить или возобновить. Если человек может вернуться позднее, в документации предлагается другой путь: завершить запуск, сохранить состояние, а затем продолжить работу с обратной связью в новом запуске. Обратная связь человека в AutoGen.
В примере с поддержкой защитите отправку идентификатором запроса, которым управляет приложение, и сохранённым подтверждением отправки. Поместите операцию после согласования и спроектируйте её так, чтобы повторные запросы обрабатывались безопасно. Само расположение этапа согласования не придаёт транзакционных гарантий отдельному почтовому сервису.
Для отложенного согласования с надёжным сохранением состояния выигрывает LangGraph — при условии, что настроено постоянное хранилище и продумано повторное выполнение. Ни контрольная точка, ни история чата не доказывают, что внешнее действие произошло ровно один раз.
Куда мигрировать: на LangGraph или Microsoft Agent Framework?
Сначала определите, чем приложение должно управлять самостоятельно, затем оцените объём переработки для каждого варианта. Уход с AutoGen не означает автоматический выбор LangGraph.
AutoGen и LangGraph: что делать с существующим прототипом?
Выбирайте LangGraph, если основная проблема прототипа — неоднозначное состояние: непонятно, какой результат актуален, откуда продолжать задание после сбоя или одобрил ли человек текущую версию. Прежде чем переносить промпты, превратите эти неопределённости в явные поля и переходы.
Смысл перехода в том, чтобы выполнение этих требований можно было проверить. Если просто поместить прежнюю переписку внутрь графа, оставив все важные решения в сообщениях, появится новая зависимость, но эксплуатация почти не улучшится.
Если роли агентов в прототипе не отличаются инструментами, контекстом или обязанностями по проверке, упростите их при миграции. В руководстве по мультиагентным системам разобрано, когда лучше обойтись одним агентом.
Microsoft Agent Framework: сохранить преемственность в экосистеме
Microsoft Agent Framework — прямой преемник AutoGen и Semantic Kernel от Microsoft. Он предоставляет агентов и рабочие процессы, связывающие агентов с обычными функциями. Это более подходящий первый кандидат, если приложение и команда эксплуатации уже зависят от стека агентов Microsoft или .NET. Речь об удобстве интеграции, а не о том, что LangGraph не способен реализовать тот же бизнес-процесс. Обзор Agent Framework.
Актуальное руководство сопоставляет AssistantAgent с Agent, объясняет продолжение диалога через AgentSession и заменяет координацию команд шаблонами рабочих процессов. Такие процессы дают типизированные потоки данных, запросы к человеку и контрольные точки. Поведение итераций вызова инструментов тоже отличается, поэтому при миграции воспроизведите свои последовательности работы с инструментами. Руководство по миграции с AutoGen.
Явно указанное ограничение миграции — собственные распределённые среды исполнения. Сейчас руководство описывает композицию Agent Framework как однопроцессную, а распределённое выполнение — как запланированное. Если прототип на AutoGen использует распределённую среду Core, не предполагайте, что перенос агентов сохранит топологию развёртывания. Отдельно проверьте это требование для конкретной среды исполнения и выбранного варианта размещения. Это ограничение из руководства по миграции, а не общее утверждение обо всех сервисах размещения Microsoft.
Для перехода на преемника внутри экосистемы Microsoft выигрывает Microsoft Agent Framework. Его главное ограничение — совместимость: знакомые концепции агентов не гарантируют одинаковой маршрутизации сообщений, поведения сессий или топологии выполнения. LangGraph выигрывает, когда цель перехода — осознанно перестроить систему вокруг явно заданного состояния приложения.

Во что обойдётся переход и кому не стоит спешить
Основные затраты на миграцию — восстановить поведение системы, преобразовать состояние и проверить работу в эксплуатации. Промпты и реализации инструментов могут пригодиться повторно, но правила их запуска, передачи контекста и сохранения данных нужно изучить. Оценивайте работу по переносу законченной бизнес-операции, а не по числу переименованных импортов.
Начните с ответа поддержки. У него есть наблюдаемый вход, черновик как отдельный результат, решение рецензента, согласование человеком и итоговое подтверждение отправки. Для миграции это более подходящий законченный фрагмент, чем перенос сразу всех агентов в надежде, что итоговый ответ будет выглядеть знакомо.
Зафиксируйте текущее поведение
Сохраните характерные входные данные, утверждённые исходные материалы, промпты, схемы инструментов, результаты и примеры сбоев. Запишите версии моделей и зависимостей. Включите случай, когда рецензент отклоняет ответ, и случай, когда требуется уточнение у человека. Эти примеры станут основой приёмки новой реализации.
Экспортируйте записи приложения отдельно
Сохраните идентификаторы обращений, черновики, замечания, решения людей и подтверждения внешних действий в формате, который контролирует приложение. Оставьте историю диалогов для контекста, но не считайте сериализованное состояние фреймворка переносимой записью бизнес-процесса. Явно опишите соответствие полей для всех данных, которые понадобятся для продолжения обработки.
Заново соберите минимальный законченный процесс
В LangGraph определите схему состояния и маршруты. В Microsoft Agent Framework сопоставьте агентов, сессии и исполнителей рабочего процесса по актуальному руководству. Сохраните неизменными входные данные задачи и критерии оценки, чтобы отличить изменения оркестрации от изменений модели или промпта.
Проверьте поведение в точках возможного сбоя
Остановите обработчик, пока задание ждёт согласования. Возобновите его после перезапуска, отклоните черновик, повторите запрос на возобновление и смоделируйте сбой внешнего действия. Проверьте сохранённую запись приложения и итоговое подтверждение. Правдоподобный заключительный абзац ещё не доказывает, что рабочий процесс восстановился правильно.
Решите, как завершатся уже запущенные задания
Определите, закончат ли незавершённые задания работу в старой реализации или для них будет явно преобразовано состояние. Сохраните идентификаторы и связи между согласованиями и черновиками. Не передавайте старую контрольную точку в несовместимый новый процесс без явного преобразования.
После внедрения LangGraph нужно учитывать и его собственные ограничения миграции. Документация Graph API предостерегает от переименования или удаления узлов, которые нужны прерванным потокам выполнения. В будущих развёртываниях тоже рассматривайте определения процессов и сохранённое состояние как границу совместимости. Ограничения миграции графов.
Не спешите полностью переписывать изолированный исследовательский прототип, если его полезные результаты уже сохранены и его планируют вывести из эксплуатации. Извлеките выводы и перенесите только тот сценарий, который будет использоваться дальше. Для действующего приложения на AutoGen контролируемый переход лучше непроверенной замены. Но архивирование проекта — повод запланировать этот переход, а не продолжать наращивать зависимость от старого решения.
Если нужен более широкий выбор, в сравнении фреймворков для ИИ-агентов рассмотрены другие отправные точки. Если среди кандидатов остался CrewAI, обратитесь к сравнению LangGraph и CrewAI.
Следующий шаг: возьмите одну повторяющуюся задачу, перечислите записи, которые должны пережить перезапуск, и определите, кто вправе разрешить итоговое действие. Выберите фреймворк, который яснее всего выражает эти требования, и проверьте этот законченный фрагмент процесса, прежде чем переносить остальное.
Частые вопросы
В чём основные различия AutoGen и LangChain?
AutoGen AgentChat организует совместную работу агентов через команды и сообщения. LangChain предоставляет абстракции моделей, инструментов и агентов, а LangGraph служит лежащей в его основе средой оркестрации. Для собственного рабочего процесса с состоянием прямее сравнивать с LangGraph. Архивирование AutoGen также влияет на выбор для новых проектов.
Стоит ли изучать LangChain в 2026 году?
Да, если его абстракции моделей и инструментов подходят вашему приложению. Если нужно задать состояние и переходы рабочего процесса, изучайте непосредственно LangGraph. Для миграции прототипа с AutoGen не обязательно внедрять каждый уровень стека.
CrewAI лучше LangGraph?
Универсального победителя нет. Если решающими требованиями стали явно заданное состояние, границы восстановления и собственная логика согласования, сначала стоит оценить LangGraph. Перед выбором сравните CrewAI на той же законченной задаче: само предпочтение фреймворка не говорит о качестве её выполнения.
Что такое AutoGen?
В этом сравнении AutoGen — фреймворк Microsoft для мультиагентных приложений из репозитория microsoft/autogen. Здесь рассматривается командный API AgentChat; лежащая под ним среда Core и экспериментальный GraphFlow отдельно оговариваются там, где это существенно.
AutoGen больше не поддерживается?
В актуальном README Microsoft использует более сильную формулировку — «архивирован» — и указывает, что проект больше не поддерживается. Новым пользователям рекомендуют Microsoft Agent Framework, а действующим — миграцию. Ориентируйтесь на эту текущую формулировку, а не на предположение, что проект всё ещё находится на стадии сопровождения.
AutoGen и Microsoft Agent Framework — одно и то же?
Нет. Microsoft Agent Framework — преемник, а его руководство по миграции описывает изменения API агентов, сессий, инструментов и рабочих процессов. При переходе нужно проверять поведение приложения: это не просто новое название установленного пакета AutoGen.
Какой фреймворк для ИИ-агентов лучше выбрать?
В описанных здесь условиях выбирайте LangGraph, если решающую роль играют явное состояние приложения и управление рабочим процессом. Выбирайте Microsoft Agent Framework, если важнее переход на преемника Microsoft и уже используемая экосистема. Сам по себе фреймворк не определяет, нужны ли задаче несколько агентов.
Чем AutoGen отличается от Semantic Kernel?
В публикации Microsoft о запуске вклад AutoGen описывается как экспериментальная мультиагентная оркестрация, а вклад Semantic Kernel — как SDK-основа для корпоративных приложений. Microsoft Agent Framework объединяет эти направления. Планируя миграцию с AutoGen, оценивайте актуального преемника, а не сводите выбор к этому историческому разделению.
Какой фреймворк лучше для мультиагентных систем?
Лучше подходит тот, с которым требуемое поведение становится понятным, а систему можно поддерживать. Для разобранного процесса поддержки рекомендуется LangGraph: проверка, разрешение человека и отправка должны быть отдельными состояниями. Microsoft Agent Framework — альтернатива, если важнее преемственность с прежним решением.
Перед миграцией используйте чек-лист аудита бизнес-процессов с ИИ, чтобы определить задачу, границу согласования и ответственного за её выполнение.
- Опубликовано
- Категория
- Build
- Язык










