LangChain
LLM orchestration framework. Chains, agents, RAG, and hundreds of ready-made integrations. It wires the pieces of a RAG together (embedding model, vector database, LLM) without writing the code that matches one step's output format to the next one's input. The split with LangGraph fits in one sentence: LangChain to connect models and tools, LangGraph as soon as the path has to branch, retry a failed search or stop to ask a human. LangChain's own agents run on LangGraph, which is what gives them resume-after-pause and human intervention. The name comes from there: a chain runs tasks one after another (search, retrieve chunks, LLM answer), and that chaining is what LangGraph replaces with picking the next step at runtime (see [Instagram reel DeOtQ_MMdS-](https://www.instagram.com/reel/DeOtQ_MMdS-/)).
Strengths
- LCEL: composable chains with pipe operator, clean architecture
- LangGraph: stateful agents with loops, far beyond simple chains
- Pre-built integrations: OpenAI, Anthropic, Pinecone, Supabase, PostgreSQL
- LangSmith: native tracing and observability to debug LLM pipelines
Limitations
- Too thick abstraction, debugging a deep bug becomes a nightmare
- Frequent breaking changes between versions, painful migration
- Overhead for simple cases, a single API call doesn't need LangChain
Best for
- Complex RAG pipelines with multi-source retrieval
- LLM agents with memory, tools and conditional decisions (LangGraph)