Что это
LangGraph - библиотека для сценариев, в которых одного запроса к модели недостаточно. Вы описываете состояние, шаги и переходы: например, подготовить черновик, проверить его, дождаться решения человека и только затем выполнить действие.
Шаги могут быть обычными функциями или вызовами модели. LangChain для этого не обязателен. Сам граф не является нейросетью и не определяет безопасные действия за разработчика: правила переходов и разрешения задаются вашим кодом.
Для продолжения после паузы нужен checkpointer и идентификатор диалога thread_id. Хранилище в оперативной памяти подходит для учебного примера, но не переживет перезапуск. Для рабочего сценария отдельно выберите постоянное хранение, права доступа и способ защиты от повторных операций.
Ключевые параметры
- Категория: Платформы AI-агентов
- Сложность: Для разработчика
- Запуск: Около 30 минут
- Open-source: Да
- Данные: Не известно
- Чувствительные данные: Только с настройками
Доступные модели и версии
Сильные стороны
- StateGraph делает шаги и условия переходов явными в коде.
- Checkpointer позволяет сохранять состояние и продолжать конкретный диалог.
- interrupt и Command поддерживают паузу для решения человека.
- В одном графе можно сочетать обычные проверки, вызовы модели и разные роли.
Ограничения
- Рабочую логику, права действий и обработку ошибок должен написать разработчик.
- Хранение в памяти теряется при перезапуске; постоянный backend требует настройки.
- При продолжении после interrupt узел начинает выполняться заново; побочные эффекты до паузы могут повториться.
- Сохранение состояния само по себе не дает авторизацию, безошибочные ответы или гарантию однократного внешнего действия.
Как использовать
1. Подготовка. Создайте учебный сценарий «черновик - согласование - результат» без почты и платежей. Для первого теста черновик задайте фиксированным текстом: это проверка управления шагами, еще не ИИ-агент.
2. Настройка. Установите langgraph. Соберите StateGraph с полями draft и approved, шагом подготовки и узлом согласования. В согласовании вызовите interrupt с черновиком. Скомпилируйте граф с InMemorySaver и задайте отдельный thread_id в configurable.
3. Первый результат. Запустите graph.invoke с этим config. Получите __interrupt__, просмотрите черновик и продолжите тот же граф через Command(resume=True) с тем же thread_id. Запишите решение в approved и выводите результат только при одобрении.
4. Проверка. В новом диалоге повторите сценарий с Command(resume=False): ветка отказа не должна выполнять действие. Не размещайте внешнюю запись перед interrupt, поскольку узел запускается повторно. Перед рабочим запуском подключите постоянный checkpointer, авторизацию по диалогам и защиту от дублей; модель добавляйте после проверки переходов.
Доступ и оплата
- Модель оплаты: Open-source
- Бесплатный тариф: Да
- Работа в РФ: Нужно проверять
- VPN: Не известно
- Русский интерфейс: Не известно
- Русский язык: Не известно
Библиотека распространяется под MIT и запускается в вашем окружении. Облачные модели, постоянное хранилище и управляемое развертывание оплачиваются по своим условиям. Использование LangGraph не требует обязательной покупки LangSmith.
Когда не подходит
- Усложнить единственный простой вызов модели
- Считать InMemorySaver постоянной базой данных
- Повторять платежи или отправку писем без защиты от дублей
Альтернативы
LangChain удобнее для типового агентного цикла с меньшим объемом кода. CrewAI стоит сравнить для распределения ролей. Microsoft Agent Framework - другой вариант разработки агентных сценариев. Для короткой последовательности без состояния может хватить обычных функций.