LangGraph — оркестрация агентов как граф состояний

Обзор LangGraph 2026: возможности, тарифы, сравнение

Детальный обзор LangGraph — Stateful multi-actor приложения от создателей LangChain

💸 Официальный сайт

Попробовать LangGraph — оркестрация агентов как граф состояний

Переход на официальный сайт продукта.

Перейти →

Что такое LangGraph

LangGraph — это фреймворк для построения stateful (состояние-зависимых) мультиагентных приложений, разработанный командой LangChain. В отличие от традиционных цепочек LLM-вызовов (DAG), LangGraph моделирует логику приложения как граф, где узлы — это вызовы LLM, функций или инструментов, а рёбра — условные переходы между ними. Ключевое УТП: возможность создавать циклические графы с сохранением состояния между шагами, что критически важно для агентов, которые должны «думать», наблюдать за результатом своих действий и корректировать поведение. Фреймворк решает проблему «забывчивости» агентов, позволяя им хранить историю взаимодействий, промежуточные данные и контекст выполнения в гранулярном виде.

LangGraph построен на Python (основной SDK) и TypeScript (экспериментальная поддержка). Ядро фреймворка распространяется под лицензией MIT, что делает его полностью открытым для коммерческого использования. Платформа LangGraph Cloud (проприетарная) предоставляет managed-инфраструктуру для деплоя, мониторинга и масштабирования. Стек технологий: LangChain Core, Pydantic для валидации схем, Redis/PostgreSQL для персистентности состояния, и любой LLM-провайдер через интеграции LangChain.

Архитектура и принцип работы

Внутренняя архитектура LangGraph базируется на концепции «графа состояний» (StateGraph). Каждый экземпляр приложения имеет объект состояния (State), который проходит через последовательность узлов (Nodes). Узлы — это callable-объекты (функции, классы или цепочки LangChain), которые принимают текущее состояние и возвращают обновлённое. Рёбра (Edges) определяют, какой узел будет вызван следующим, на основе анализа текущего состояния (условные рёбра) или безусловно (прямые рёбра).

Воркфлоу выглядит так: пользователь отправляет запрос → инициализируется начальное состояние (State) → граф запускается из корневого узла (entry point) → каждый узел выполняется, модифицируя состояние → после выполнения узла срабатывает условное ребро, которое анализирует состояние и выбирает следующий узел → процесс повторяется, пока не будет достигнут терминальный узел (end point) → финальное состояние возвращается пользователю. Ключевая особенность — поддержка циклов: агент может повторять вызов LLM, если результат не удовлетворяет условиям, что невозможно в линейных цепочках LangChain.

Память реализована через механизм «чекпоинтов» (checkpoints): на каждом шаге графа состояние сериализуется и сохраняется в бэкенде (по умолчанию — in-memory, для продакшена — Redis или PostgreSQL). Это позволяет восстанавливать выполнение после сбоев, откатывать шаги и реализовывать «человек-в-цикле» (human-in-the-loop), когда выполнение приостанавливается для ручного подтверждения или коррекции.

Ключевые возможности

1. Циклические графы с условными переходами. В отличие от LangChain Expression Language (LCEL), который строит только направленные ациклические графы (DAG), LangGraph поддерживает циклы. Это позволяет реализовать паттерн «ReAct» (Reasoning + Acting): агент делает шаг рассуждения, выполняет действие, анализирует результат и, если нужно, повторяет цикл. Технически реализуется через условные рёбра, которые возвращают имя следующего узла на основе анализа состояния.

2. Персистентность состояния с чекпоинтами. Каждый шаг графа автоматически сохраняет состояние в бэкенде. Поддерживаются три режима: «always» (сохранять каждый шаг), «never» (только финальное состояние) и «on_error» (только при ошибке). Чекпоинты позволяют восстанавливать выполнение с любого шага, что критично для длительных агентских задач (например, многошаговый веб-скрапинг или анализ документов).

3. Human-in-the-loop (HITL). Встроенная поддержка паузы выполнения графа для ручного вмешательства. Разработчик может определить узлы, которые требуют подтверждения человека (например, перед отправкой email или выполнением финансовой транзакции). Выполнение приостанавливается, состояние сохраняется, и после ручного одобрения граф продолжает работу с того же места.

4. Параллельное выполнение узлов. LangGraph поддерживает fan-out/fan-in паттерны: один узел может породить несколько параллельных ветвей выполнения (например, одновременный запрос к трём разным API), а затем узел-агрегатор объединяет результаты. Реализовано через специальные рёбра типа «parallel» и встроенный пул потоков (thread pool).

5. Встроенная поддержка инструментов и функций. Любой узел может вызывать инструменты (API, базы данных, калькуляторы) через стандартный интерфейс LangChain Tool. Фреймворк автоматически обрабатывает ошибки вызова инструментов, повторные попытки (retry) и таймауты. Для каждого инструмента можно задать схему входных параметров через Pydantic.

6. LangGraph Cloud — managed-деплой. Проприетарная платформа для развёртывания графов в production. Включает: автоматическое масштабирование (горизонтальное до 1000+ инстансов), встроенный мониторинг (латентность каждого узла, частота вызовов, ошибки), A/B-тестирование разных версий графа, и интеграцию с LangSmith для трассировки и отладки. Цена — от $0.10 за 1000 вызовов узлов.

7. Композиция графов. Графы можно вкладывать друг в друга: один граф может быть узлом другого графа. Это позволяет строить иерархические мультиагентные системы, где каждый агент — это отдельный граф со своей логикой и состоянием. Например, supervisor-агент управляет подчинёнными агентами (research, coding, summarization), каждый из которых работает в своём графе.

Характеристики и тарифы

ХарактеристикаЗначение
Модель распространенияFreemium (ядро — open-source, облачная платформа — проприетарная)
Цена (Open-source)Бесплатно (лицензия MIT)
Цена (LangGraph Cloud)от $0.10/1000 вызовов узлов (Starter), Enterprise — $2000/мес
APIPython SDK, TypeScript SDK, REST API (только для Cloud)
ИнтеграцииLangChain Hub, LangSmith, OpenAI, Anthropic, Google, Hugging Face, Redis, PostgreSQL, SQLite
ЛицензияMIT (ядро), Proprietary (Cloud)
Языки программированияPython 3.9+, TypeScript (экспериментально)
ПоддержкаGitHub Issues, Discord, Enterprise SLA (платный)

Установка и первые шаги

Установка через pip. Для работы потребуется Python 3.9+ и ключ API от любого LLM-провайдера. Ниже — минимальный пример агента с циклом ReAct, который использует поисковый инструмент.

# Установка
pip install langgraph langchain-openai

# Пример: агент с циклом ReAct
from langgraph.graph import StateGraph, END
from typing import TypedDict, List
from langchain_openai import ChatOpenAI
from langchain_community.tools import DuckDuckGoSearchRun

class AgentState(TypedDict):
    messages: List[str]
    next_step: str

def call_model(state: AgentState):
    llm = ChatOpenAI(model="gpt-4")
    response = llm.invoke(state["messages"])
    return {"messages": state["messages"] + [response.content]}

def should_continue(state: AgentState):
    if "FINAL_ANSWER" in state["messages"][-1]:
        return "end"
    return "continue"

# Построение графа
graph = StateGraph(AgentState)
graph.add_node("agent", call_model)
graph.set_entry_point("agent")
graph.add_conditional_edges("agent", should_continue, {"continue": "agent", "end": END})

# Компиляция и запуск
app = graph.compile()
result = app.invoke({"messages": ["What is the capital of France?"]})
print(result["messages"][-1])

Сравнение с аналогами

КритерийLangGraphCrewAIAutoGen (Microsoft)
Ключевая фичаГрафы с циклами и чекпоинтамиРолевые агенты с делегированием задачМультиагентные диалоги с контекстом
ЦенаБесплатно (OSS) / от $0.10/1000 узлов (Cloud)Бесплатно (OSS) / $19/мес (Cloud)Бесплатно (OSS) / Azure pricing (Cloud)
Open SourceДа (MIT)Да (MIT)Да (MIT)
СложностьВысокая (требует понимания графов и состояний)Средняя (концепция ролей интуитивна)Средняя (основан на диалогах)
Поддержка цикловНативная (условные рёбра)Через рекурсивные вызовы (ограниченно)Через циклы в диалогах (сложно)
Human-in-the-loopВстроенная (пауза графа)Через кастомные инструментыЧерез кастомные обработчики
ПерсистентностьЧекпоинты (Redis/PostgreSQL)Только в облачной версииЧерез Azure Cosmos DB

Ближайшие конкуренты — CrewAI и AutoGen от Microsoft. CrewAI проще в освоении (ролевая модель агентов), но не поддерживает сложные графы с циклами и чекпоинтами. AutoGen силён в мультиагентных диалогах, но его архитектура менее гибкая для построения stateful-приложений с ветвлением. LangGraph выигрывает в гибкости и контроле над потоком выполнения, но требует больше кода и понимания теории графов. Для простых сценариев (2-3 агента с линейным взаимодействием) CrewAI может быть быстрее; для сложных production-систем с отказоустойчивостью и HITL — LangGraph.

Плюсы и минусы

Сильные стороны

  • Графовая модель выполнения: поддержка циклов, условных переходов и параллельных ветвей — единственный фреймворк, который позволяет моделировать произвольные потоки управления, а не только линейные цепочки.
  • Персистентность с чекпоинтами: автоматическое сохранение состояния на каждом шаге гарантирует отказоустойчивость и возможность восстановления после сбоев. Для длительных задач (часы выполнения) это критично.
  • Human-in-the-loop: встроенная поддержка паузы и ручного подтверждения — редкость для open-source фреймворков. Позволяет внедрять агентов в регулируемые сферы (финансы, медицина).
  • Экосистема LangChain: полная совместимость с LangChain Hub (шаблоны), LangSmith (трассировка) и 700+ интеграций с LLM, инструментами и базами данных.
  • Масштабирование через Cloud: managed-платформа решает проблемы деплоя, мониторинга и горизонтального масштабирования, которые обычно возникают при переходе от прототипа к production.

Ограничения

  • Крутая кривая обучения: требуется понимание концепций графов, состояний и чекпоинтов. Для простых задач (один LLM-вызов) LangGraph избыточен — проще использовать LCEL.
  • Отсутствие встроенного UI: в отличие от платформ типа Relevance AI или Voiceflow, LangGraph не предоставляет визуального редактора графов. Всё пишется кодом, что замедляет прототипирование для нетехнических пользователей.
  • Зависимость от LangChain: фреймворк жёстко привязан к экосистеме LangChain. Если вы используете другой фреймворк (например, LlamaIndex), интеграция потребует дополнительных усилий.

Итог: вердикт Qantcore

★ Рейтинг: 4.3 / 5

LangGraph — лучший выбор для команд, которые строят production-grade мультиагентные системы со сложной логикой, отказоустойчивостью и необходимостью человеческого контроля. Фреймворк идеально подходит для сценариев: автоматизация бизнес-процессов с HITL (одобрение счетов, модерация контента), многошаговый анализ данных (юридические документы, медицинские записи), и сложные RAG-системы с итеративным уточнением запросов.

Кому стоит выбрать LangGraph: инженерам, которые уже используют LangChain и хотят перейти от простых цепочек к агентам; командам, которым нужна отказоустойчивость и возможность восстановления после сбоев; проектам с требованиями к аудиту и человеческому контролю.

Кому стоит посмотреть альтернативы: если вам нужен быстрый прототип с минимальным кодом — используйте CrewAI; если вы строите систему на основе диалогов между агентами — AutoGen; если вам нужен визуальный редактор и low-code — Relevance AI. LangGraph — это мощный, но требовательный инструмент для тех, кто готов инвестировать в архитектуру.