LangGraph, аналоги (CrewAI, AutoGen, Pydantic AI, OpenAI Agents SDK) и дополнения (Langfuse, LangSmith, Phoenix). Что это, чем отличаются, когда какой брать.
Что это: open-source Python-фреймворк от LangChain для stateful, cyclic, multi-agent приложений. Представляет LLM-приложение как граф: каждый шаг — нода, связи — рёбра.[75][74]
Построен на идее state graph: состояние — это объект (типизированный dict / Pydantic-класс), который передаётся между нодами. Ноды делают работу, рёбра решают, куда идти дальше.[75]
Ключевые концепции (это надо уметь назвать):
Паттерн для начинающих: model → tool → back to model → stop when done. Это и есть агентный цикл, выраженный графом.[81]
Когда брать: ветвление, циклы, тулы, память, human-in-the-loop, долгие воркфлоу, durable execution.[81]
Когда НЕ брать: простой RAG «retrieve → generate» — LangGraph оверинжиниринг, хватит LangChain/прямых API. «Это как ехать на Формуле-1 в магазин за хлебом».[82]
Компании в проде (по словам авторов): Uber, Klarna, LinkedIn, JP Morgan, BlackRock; 1.0 стабильный с октября 2025; 90M+ месячных загрузок.[82]
Источники: доки, Real Python туториал.
| Фреймворк | Модель | Сила | Слабость |
|---|---|---|---|
| LangGraph | Граф: state + nodes + edges | Контроль над flow, checkpointing, HITL, отладка по шагам | Кривая обучения, для простого — overkill |
| CrewAI | «Команда»: agents + crews + flows | Быстрый старт, ролевые агенты, guardrails/memory/knowledge встроены | Меньше контроля под капотом, абстракции выше |
| AutoGen (Microsoft) | Event-driven: Core + AgentChat | Multi-agent, распределённые (gRPC), Docker exec | Сложнее, документация в движении |
| Pydantic AI | Типизированный агент + capabilities | Typed end-to-end (выходы, DI, тулы), OTel-инструментация, durable execution на Temporal | Новое, экосистема меньше |
| OpenAI Agents SDK | Агент + тулы + guardrails + handoffs | Мало примитивов, tracing встроен, sessions | Привязан к философии OpenAI |
«Ship multi-agent systems with confidence»: дизайн агентов, оркестрация «команд» (crews), flows со start/listen/router, guardrails, memory, knowledge, observability. Плюс enterprise-консоль, триггеры (Gmail, Slack, Salesforce), RBAC.[76]
Хорош, когда надо быстро собрать ролевых агентов («исследователь», «писатель», «ревьюер») без глубокого контроля flow.
Три уровня: Core (event-driven, масштабируемые multi-agent системы), AgentChat (конверсационные агенты на Core), Studio (UI-прототипирование без кода). Extensions: MCP-серверы, Assistant API, Docker-исполнение кода, gRPC для распределённых агентов.[77]
Сила — серьёзные распределённые multi-agent системы; слабость — порог входа выше.
«How Python does AI»: типизированный агентный цикл, где любой выход — Pydantic-модель (валидируется на каждом прогоне), dependency injection, типизированные тулы. Модель меняется строкой. OpenTelemetry-инструментация из коробки, durable execution на Temporal/DBOS/Prefect, HITL approval встроен. Пример в доках — банковский support-агент с блокировкой карты и risk-уровнем.[78]
Сила — типы и надёжность; банковский кейс у них прямо в доках, что удобно для Plata.
Минимум примитивов: Agent, agents-as-tools/handoffs, guardrails. Встроенные tracing, sessions, HITL. Уже разобран в уроке 0007.[34]
LangChain — для линейных/реактивных цепочек: «данные из БД → чистка → LLM → ответ». Это workflow из документа Anthropic.[79]
LangGraph — для графов с состоянием: ветвления, циклы, ретраи, память, HITL. Это уже «агент» в смысле Anthropic.[79]
Фраза: «LangChain — линейные цепочки, LangGraph — графы с циклами и состоянием. Простой QA — LangChain, агент с тулами и ретраями — LangGraph».[79]
Фреймворк строит агента, но кто показывает, что он делает? Отдельный слой — observability и eval.
Self-hosted open-source (есть cloud): трейсы LLM-вызовов, тул-коллов, ретривалов; датасеты, eval, мониторинг прода, алерты. Интеграции с LangChain/LangGraph, OpenAI, Anthropic. Для команд с требованиями к данным (банк) — self-host на своём железе.[67]
Коммерческая платформа от LangChain: трейсинг + offline/online eval, датасеты, сравнение промптов, глубоко интегрирована с LangGraph (один из авторов LangGraph-туториалов ведёт через LangSmith tracing).[80] Если строишь на LangGraph — LangSmith самый гладкий путь.[66]
Open-source (Phoenix) + enterprise (AX): трейсы на OpenTelemetry, eval, датасеты, эксперименты. Self-host, observability-first.[45]
Прокси-слой перед LLM API: логирование запросов/ответов, стоимость, латентность, ретраи, rate limiting, без изменения кода (проксируешь base_url). Быстрый старт для команд, которым нужен «просто лог запросов» без тяжелого eval-стека.[85]
Уже в глоссарии: Braintrust — eval-first платформа, Promptfoo — open-source CLI для сравнения промптов и red-teaming.[44][59]
«Фреймворк выбираю по сложности flow: простой RAG — прямые API или LangChain; агент с тулами, циклами и HITL — LangGraph (или Pydantic AI, если важна типизация). Оркестрацию не прячу в чёрный ящик — мне нужно видеть граф и отлаживать по шагам. Observability: OpenTelemetry-трейсы с первого дня, Langfuse self-host из-за данных банка, Phoenix как альтернатива; eval — Promptfoo/Braintrust в CI, промпт как код с версиями».
LangGraph — это фреймворк для?
Что делает checkpointer в LangGraph?
Банку с требованиями к данным подойдёт?