LangChain и LangGraph

Суть

LangChain — высокоуровневый framework для агентов и интеграций. LangGraph — отдельный низкоуровневый runtime для долгоживущей stateful-оркестрации; его можно использовать без LangChain.

Карта экосистемы

КомпонентРоль
LangChainModels, tools, middleware, structured output и готовый agent loop
LangGraphState, nodes, edges, persistence, durable execution, streaming и human-in-the-loop
Deep AgentsБолее готовый agent harness поверх экосистемы
LangSmithОтдельная платформа tracing, evals, testing и deployment

Это не взаимозаменяемые названия. create_agent удобен для типового tool-calling агента; собственный LangGraph нужен, когда порядок, состояние и точки управления являются частью бизнес-логики.

Когда выбирать

LangChain, если нужны готовые интеграции, middleware и быстрый старт с agent loop.

LangGraph, если нужны:

  • явный граф с ветвлениями и циклами;
  • checkpoints, пауза, возобновление и human approval;
  • долгие stateful workflows;
  • смешение детерминированных шагов и агентных узлов.

Обойтись SDK провайдера, если workflow короткий и собственный цикл остаётся понятнее абстракций.

Риски и границы

  • Экосистема меняется быстро: старые материалы про LLMChain, AgentExecutor и прежние prebuilt API могут быть неактуальны.
  • Persistence не делает tools идемпотентными: повтор внешнего действия надо предотвращать отдельно.
  • LangSmith — не обязательное условие использования open-source LangChain/LangGraph.
  • Широкая интеграция ускоряет прототип, но повышает площадь зависимостей и миграций.

Практика

Держи доменные tools и схемы данных независимыми от фреймворка. Тестируй node/tool отдельно, а граф — через сценарии с сохранённым состоянием, ошибкой и повторным запуском.

Официальные источники

Связанные заметки