← Университет

LangGraph: Детальное досье на систему агент-оркестрации

Краткое резюме

LangGraph — это open-source Python-фреймворк для построения статефул AI-агентов на основе ориентированных ациклических графов (DAG). Разработан командой LangChain, выпущен под лицензией MIT. В 2026 году это один из ведущих фреймворков для создания надёжных, продакшн-готовых агентов, которые требуют сохранения состояния, ветвления логики и контроля человека.

1. Что такое LangGraph

LangGraph — это низкоуровневая фреймворк оркестрации (low-level orchestration framework), а не высокоуровневая абстракция над LLM. Вместо того чтобы скрывать сложность работы с моделями, LangGraph предоставляет примитивы для явного контроля над поведением агентов.

Основное отличие от линейных цепочек (chains) в том, что LangGraph работает с циклическими графами — агент может возвращаться в предыдущие узлы, принимать условные решения и поддерживать состояние через несколько шагов выполнения.

Ключевая философия: "LLMs generate text. LangGraph governs behavior" — LLM генерируют текст, а LangGraph управляет поведением системы.

2. Архитектура и ключевые концепции

2.1 Три основных примитива

LangGraph построен на трёх фундаментальных компонентах:

State (Состояние)

class State(TypedDict): input: str chat_history: list decision: str approval_status: bool ```

Nodes (Узлы)

Edges (Рёбра)

2.2 Архитектура агента

Типичный LangGraph-агент состоит из двух основных компонентов:

  1. Decision-making LLM — использует ChatOpenAI или другую модель с привязанными инструментами (bind_tools())
  2. Tool Execution — ToolNode обрабатывает вызовы функций, возвращённые LLM

Цикл работает так: 1. Узел "Agent" вызывает LLM с текущим состоянием 2. LLM выбирает инструмент или отвечает 3. ToolNode выполняет выбранный инструмент 4. Результат добавляется в состояние 5. Граф повторяет цикл до завершения (пока LLM не скажет "stop")

2.3 Контрольные точки и персистентность

LangGraph автоматически создаёт checkpoint (контрольную точку) после каждого шага выполнения. Это позволяет: - Восстановиться после сбоев - Паузировать выполнение для одобрения человеком - Проверить историю выполнения - Перезапустить с конкретного момента

Согласно 2026 State of Agent Engineering report LangChain, над 60% инцидентов в продакшене аг-агентов связаны с ошибками управления состоянием. LangGraph решает эту проблему через checkpointing.

3. Как строятся субагенты и оркестрация

3.1 Субагенты (Sub-agents)

В LangGraph субагент — это просто узел, который сам является графом. Возможны два подхода:

Вложенные графы (Nested Graphs)

# Внешний граф вызывает внутренний граф как узел
super_graph = StateGraph(State)
super_graph.add_node("research_agent", research_subgraph.compile())
super_graph.add_node("decision_agent", decision_subgraph.compile())
super_graph.add_edge("research_agent", "decision_agent")

Иерархические системы

Можно создавать многоуровневую иерархию: - Главный координатор распределяет задачи - Специализированные агенты работают в параллели или последовательно - Результаты собираются и синтезируются

3.2 Параллельное выполнение и Send

LangGraph поддерживает отправку значений между узлами через Send примитив:

from langgraph.types import Send

def router_node(state: State):
    # Распределить работу нескольким субагентам параллельно
    return [
        Send("agent_1", {"query": state["query"]}),
        Send("agent_2", {"query": state["query"]})
    ]

Это позволяет: - Распараллелить независимые задачи - Дождаться результатов всех параллельных ветвей - Синтезировать результаты в едином узле

3.3 Контроль потока и条件ные переходы

Условные переходы используются для управления логикой:

def should_escalate(state: State) -> str:
    if state["urgency"] == "critical":
        return "escalate"
    elif state["complexity"] == "high":
        return "review"
    else:
        return "auto_resolve"

super_graph.add_conditional_edges(
    "initial_assessment",
    should_escalate,
    {
        "escalate": "human_review",
        "review": "expert_analysis",
        "auto_resolve": "end"
    }
)

4. Управление памятью в LangGraph

4.1 Типы памяти

LangGraph поддерживает две концепции памяти:

Working Memory (Рабочая память)

Long-term Memory (Долгосрочная память)

4.2 Checkpointer и хранение

LangGraph предлагает несколько типов checkpointer'ов:

DeltaChannel оптимизация: LangGraph использует дельта-обновления вместо полного сохранения состояния, что сокращает объём хранилища на 73 000x в некоторых сценариях.

4.3 Пример структуры состояния с памятью

from typing_extensions import TypedDict

class ConversationState(TypedDict):
    # Working memory
    current_query: str
    tool_calls: list

    # Long-term memory
    conversation_history: list  # полная история
    user_preferences: dict      # сохранённые предпочтения
    previous_decisions: list    # истории решений

5. Развёртывание на своём сервере

5.1 Варианты развёртывания

LangGraph предоставляет несколько вариантов развёртывания:

1. Open Source (Самостоятельное)

2. LangGraph Platform (Управляемый сервис LangChain)

3. Гибридные подходы

5.2 Развёртывание на собственном сервере (пошагово)

# 1. Установка зависимостей
pip install langgraph langchain langchain-openai

# 2. Настройка PostgreSQL
docker run -e POSTGRES_PASSWORD=mysecretpassword -d postgres

# 3. Создание приложения Flask/FastAPI
from langgraph.checkpoint.postgres import PostgresSaver
from flask import Flask
import psycopg

app = Flask(__name__)

# Подключение к PostgreSQL
conn = psycopg.connect("dbname=langgraph user=postgres")
checkpointer = PostgresSaver(conn)

# Компиляция графика с checkpointer'ом
graph = builder.compile(checkpointer=checkpointer)

@app.route("/invoke", methods=["POST"])
def invoke():
    input_data = request.json
    config = {"configurable": {"thread_id": input_data["thread_id"]}}
    result = graph.invoke(input_data, config=config)
    return result

5.3 Масштабирование

Для масштабирования: - Использование worker-процессов (Gunicorn, uWSGI) - Очереди задач (Celery + Redis) для асинхронного выполнения - Load-балансер (Nginx) спереди - PostgreSQL с репликацией для HA

6. Цена и модель затрат

6.1 Open Source (Бесплатно)

6.2 LangGraph Platform (Облако LangChain)

Developer (Бесплатно): - До 100 000 выполнений узлов в месяц - Идеально для прототипирования

Plus ($0.001 за выполнение узла): - Требует LangSmith Plus подписку ($39/пользователь/месяц) - Usage-based pricing за узлы - Standby fees за фоновые процессы - Может быстро накапливаться при масштабировании

Enterprise (Пользовательская цена): - Гибкие опции развёртывания - Выделенная поддержка - SLA гарантии

6.2 Примерный расчёт затрат

Для системы обработки 1 млн запросов в месяц: - Среднее число шагов: 5 узлов на запрос - Платёж за узлы: 5 млн × $0.001 = $5 000/месяц - LangSmith Plus (3 пользователя): 3 × $39 = $117/месяц - Итого: ~$5 117/месяц

Для сравнения, self-hosted на собственном сервере: - t3.medium EC2: $40/месяц - PostgreSQL RDS: $30/месяц - Итого: ~$70/месяц (но требует управления)

7. Сильные и слабые стороны

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

Детальный контроль: Граф-ориентированная архитектура даёт полный контроль над логикой
Персистентность состояния: Автоматическое checkpointing решает проблему потери состояния
Human-in-the-loop: Встроенная поддержка паузирования и одобрения человеком
Масштабируемость: DeltaChannel и оптимизированное хранилище позволяют работать с большим объёмом данных
Производительность: После отказа от LangChain зависимостей примерно в 5.76x быстрее конкурентов
Документация: Полная официальная документация и бесплатный LangChain Academy курс
Экосистема: 34 000+ звёзд на GitHub, активное сообщество
Наличие реальных кейсов: Klarna (80% сокращение времени резолюции), Uber, AppFolio

7.2 Слабые стороны

Кривая обучения: 2-3 дня до реальной продуктивности даже для опытных разработчиков
Python-ориентирован: JavaScript SDK значительно отстаёт по функциональности
Необходимый оверхед для простых систем: Усложняет разработку линейных workflows
Цена на масштабе: Usage-based pricing может быть дорогим при миллионах узлов
Привязка к LangChain: Плотная интеграция, что может быть проблемой при смене стека
Новизна: Некоторые функции ещё в экспериментальном статусе (2026)

8. Для кого это

Идеально подходит для:

НЕ подходит для:

Альтернативные фреймворки:

Фреймворк Описание Плюсы Минусы
CrewAI Более высокоуровневый, multi-agent Проще для начинающих, быстрее Менее гибкий, меньше контроля
AutoGen Microsoft, декларативный Большое сообщество Менее production-ready
Vellum Визуальный drag-and-drop Низкий барьер входа Дорого, меньше контроля
Pydantic AI Фокус на type-safety Простой API Молодой, меньше экосистемы

9. Свежесть проекта в 2026

LangGraph в 2026 году активно развивается и стабилен:

Проект живой и развивается, это не экспериментальная игрушка.

10. Примеры реальных систем на LangGraph

10.1 Klarna (Customer Service)

Результат: 80% сокращение времени резолюции обращений на 85 млн пользователей

Архитектура: - Главный координатор оценивает тип проблемы - Маршрутизирует на специализированные агенты (рефунды, отслеживание, техподдержка) - Human-in-the-loop для сложных случаев - Интеграция с историей платежей и заказов

10.2 Uber

Результат: ~21 000 часов разработчиков сэкономлено через "Lang Effect" фреймворк

Применение: - Внутренние агенты для автоматизации бизнес-процессов - Optimized dispatch логика - Мониторинг и управление инцидентами

10.3 AppFolio

Результат: 10+ часов еженедельной экономии per property manager, 2x улучшение точности решений

Система: - Агенты для управления недвижимостью - Автоматизированное расписание уборки - Уведомления арендаторам - Аналитика по занятости

10.4 Типичная система: Workflow с одобрением человеком

START 
  ↓
[Intake] → Parse request
  ↓
[Assessment] → Оценить срочность
  ↓
Conditional edge:
  - Routine → Auto-resolve → END
  - Complex → Expert review → Human approval
  - Critical → Escalate → Manager review → Action → END
  ↓
[Follow-up] → Уточнить, если нужно (loop)
  ↓
END

11. Интеграция с экосистемой LangChain

LangGraph плотно интегрируется с:

Однако LangGraph может работать независимо — не требует LangChain для базового использования.

Заключение

LangGraph в 2026 году — это де-факто стандарт для построения production-ready AI-агентов на Python. Она решает ключевую проблему управления состоянием в долгоживущих агентах и предоставляет инструменты для контроля, мониторинга и человеческого вмешательства.

Идеальна для команд, которым нужна надёжность и контроль, готовых потратить время на освоение. Менее подходит для прототипирования и простых систем, где выше скорость разработки, чем надёжность.

Будущее развития вероятно включит: - Улучшения в JavaScript/TypeScript SDK - Расширение market-place готовых агентов - Дальнейшие оптимизации по цене и скорости - Лучшую интеграцию с вариантами open-source LLM


Источники

  1. LangGraph Documentation - Official
  2. LangGraph Platform - LangChain
  3. LangGraph: Build Stateful AI Agents - Real Python
  4. LangGraph Explained 2026 Edition - Medium
  5. What Is LangGraph: State, Agents & Production Use Cases - Atlan
  6. LangGraph Pricing Guide - ZenML Blog
  7. LangGraph Review 2026 - ToolBrain
  8. How to Build LangGraph Agents - DataCamp
  9. GitHub - LangGraph
  10. Building AI Agents with LangGraph 2026 Edition - AI Advances