Фреймворки ИИ-агентов: LangGraph vs OpenAI Agents SDK
Автоматический перевод
Эта статья была автоматически переведена с оригинальной английской версии.
Эти фреймворки помогают создавать приложения, в которых модель выбирает инструменты и использует их. Практическое различие между ними — то, чем каждый фреймворк управляет вокруг этого цикла: состоянием, retrieval, передачей управления, трейсингом или деплоем. Используйте фреймворк, если приложению нужны такие возможности. Если шаги уже известны заранее, начните с обычного кода рабочего процесса.
Начните с агентов LangChain, если нужен цикл взаимодействия модели с инструментами на базе LangGraph. Используйте LangGraph напрямую, когда важно самостоятельно определить, как каждый шаг сохраняет состояние, ожидает одобрения и возобновляется после остановки.
Выбирайте по сохранению состояния, восстановлению, поддержке retrieval и трудозатратам на деплой и поддержку приложения.
Таблица рекомендаций
| Потребность | С чего начать | Почему |
|---|---|---|
| Высокоуровневый API для агента | Агенты LangChain | В документации LangGraph этот слой рекомендуется, когда низкоуровневая оркестрация не нужна. |
| Агент с состоянием для продакшена | LangGraph | Его рантайм предоставляет доступ к состоянию графа, персистентности, прерываниям и низкоуровневой оркестрации. |
| Компактный цикл взаимодействия модели с инструментами | OpenAI Agents SDK | Инструменты, гардрейлы, сессии, трейсинг и передача управления используют общий API. Поддерживаются и другие провайдеры моделей. |
| Агент для работы с документами и RAG | LlamaIndex | Загрузка данных, индексы, retrieval, движки запросов, инструменты и агентные рабочие процессы находятся в одной экосистеме. |
| Мультиагентный рабочий процесс с ролями | CrewAI | Агенты, команды, потоки, знания, память и observability хорошо подходят для автоматизации на основе ролей. |
| Корпоративный агент для Microsoft | Microsoft Agent Framework | Это текущее направление развития единого SDK агентов от Microsoft, объединяющее идеи Semantic Kernel и AutoGen. |
| Небольшой ориентированный на код агент | SmolAgents | Небольшой API, агенты, выполняющие код, агенты, вызывающие инструменты, и простая проверка. |
Как выбирать
Начните с потока управления: как агент переходит между шагами и обрабатывает сбои.
Если у агента есть чёткие состояния, ретраи, одобрения, чекпоинты и возобновляемые запуски, используйте LangGraph. Например, для запуска, ожидающего одобрения, нужно сохранить состояние, чтобы продолжить работу после ответа пользователя. Для обычного цикла взаимодействия модели с инструментами может быть достаточно высокоуровневых агентов LangChain. Используйте граф напрямую, когда нужно контролировать возобновление остановленного запуска.
OpenAI Agents SDK подходит для компактного цикла на Python с инструментами и передачей управления. Он поддерживает и других провайдеров, поэтому модель OpenAI не обязательна. Проверьте поддержку инструментов и structured output у выбранной модели, а также то, куда трейсинг отправляет данные.
Если агент в основном работает с документами, индексами, retrieval и движками запросов, начните с LlamaIndex. Его готовые компоненты retrieval могут избавить вас от необходимости писать эти части самостоятельно. Прежде чем заменять агентный цикл, проверьте, находит ли retrieval нужные подтверждения и выявляют ли ваши тесты отсутствующие или неподтверждённые ответы.
CrewAI полезен, если реальный процесс действительно состоит из ролей: исследователь, аналитик, ревьюер, автор, оператор. Он менее убедителен, когда роли придумывают только ради использования мультиагентной абстракции. Название роли не определяет, что произойдёт при сбое агента.
Восстановление требует отдельного теста. Остановите запуск после того, как инструмент изменит файл или отправит запрос, а затем проверьте, что произойдёт при возобновлении. Одной сохранённой истории чата недостаточно, чтобы понять, повторит ли приложение это побочное действие. Проверьте чекпоинты, поведение при повторном воспроизведении и обработку повторных действий в конфигурации, которую планируете деплоить.
Для любого фреймворка выясните, что остаётся вашей ответственностью: хранилище, учётные данные, ретраи, деплой и эвалуация. Возможности retrieval в LlamaIndex сами по себе не оправдывают выбор этого фреймворка для несвязанной с retrieval оркестрации рабочих процессов. Роли CrewAI по-прежнему требуют явного состояния и обработки ошибок. Сопоставьте требования интеграции Microsoft с остальным стеком и учитывайте, что вокруг небольшого эксперимента со SmolAgents вам, вероятно, придётся самостоятельно реализовать значительную часть рантайма.
Когда не следует использовать фреймворк для агентов
Не начинайте с фреймворка для агентов, если задачу решает типизированный рабочий процесс, поисковый эндпоинт или движок правил. Агенты полезны, когда системе нужно выбрать следующий шаг после получения промежуточных результатов. Они плохо подходят для фиксированного ETL, детерминированных процессов одобрения, биллинговых процессов и любых задач, в которых все ветвления известны заранее.
Не создавайте мультиагентную систему, пока один агент не будет работать надёжно. Разделение нестабильного рабочего процесса между несколькими агентами добавляет ошибки координации и латентность.
Трейсы показывают, какие шаги выполнились. Эвалуация проверяет, правильно ли эти шаги решили задачу в пределах разрешений и бюджета.
Порядок реализации
- Для известных шагов используйте обычный рабочий процесс. Используйте одного агента с узким набором инструментов, когда модель должна выбрать следующий шаг.
- Добавьте трейсы и небольшой регрессионный датасет до добавления памяти.
- Используйте LangGraph напрямую, когда нужен явный контроль над сохранённым состоянием, одобрениями и возобновлением запусков.
- Протестируйте OpenAI Agents SDK, если цикл должен оставаться компактным; проверьте поддержку нужных возможностей у выбранного провайдера.
- Добавляйте агентов с ролями только тогда, когда зоны ответственности действительно можно разделить.
Дополнительные материалы
- Циклы ризонинга ИИ-агентов — о ReAct, ReWOO и подходе plan-and-execute.
- Архитектура памяти ИИ-агентов — о чекпоинтах, векторной памяти и памяти документов.
- Рантайм для долгоживущих ИИ-агентов — о сессиях, сэндбоксах, чекпоинтах, трейсах и вариантах деплоя.