LangChain
An open-source agent framework with standard interfaces to models, tools and agent loops.
Its create_agent gives a configurable harness: prompt, tools and middleware around the model loop. Start here for most agents.
AI & agents
LangChain is the agent framework, LangGraph is the orchestration runtime underneath it, and LangSmith is the platform that traces, evaluates and deploys what you build with either.
An open-source agent framework with standard interfaces to models, tools and agent loops.
Its create_agent gives a configurable harness: prompt, tools and middleware around the model loop. Start here for most agents.
A low-level orchestration framework and runtime for long-running, stateful agents.
It models work as a graph of nodes and edges with durable execution, streaming, human-in-the-loop and persistence. LangChain's create_agent runs on it.
A platform for tracing, evaluation, prompts and deployment across frameworks.
It records every run, scores quality with datasets and evaluators, and hosts agents. It works with LangChain, LangGraph or neither.
| Aspect | LangChain | LangGraph | LangSmith |
|---|---|---|---|
| Role | Agent framework | Orchestration runtime | Observability & evaluation platform |
| Level | High-level | Low-level | Platform / service |
| Typical code | create_agent(model, tools) | StateGraph, nodes, edges | Tracing env vars, evaluate() |
| Open source | Yes | Yes | SDKs yes; platform is a service |
| Use when | Building a standard agent fast | Custom control flow, durability, approvals | Debugging, testing and monitoring LLM apps |
LangChain is the agent framework with standard interfaces to models, tools and agent loops; LangGraph is the low-level orchestration runtime for long-running, stateful agents; LangSmith is the platform for tracing, evaluation, prompts and deployment across frameworks.
No. LangGraph can orchestrate any Python or TypeScript code, including direct SDK calls to model providers. The docs often use LangChain components for models and tools because it is convenient, but LangGraph does not require it.
LangChain v1's create_agent is built on LangGraph, so an agent created with it already runs on the LangGraph runtime and gets its persistence and streaming. You start high-level with create_agent and drop down to a custom LangGraph graph when you need more control.
When you need fine-grained control of the control flow: custom branches and loops, deterministic steps mixed with LLM steps, durable execution for long-running work, human approval at specific points, or multi-agent graphs. For a standard tool-calling agent, create_agent is simpler.
No. LangSmith traces, evaluates and monitors LLM applications built with any framework or none, through its SDK, the traceable decorator, wrappers for provider clients and OpenTelemetry. It integrates most deeply with LangChain and LangGraph, which trace automatically when the environment variables are set.
LangChain and LangGraph are open-source libraries for Python and TypeScript. LangSmith is a platform: its SDKs are open source, but the tracing, evaluation and deployment service is a hosted product, with self-hosted options for enterprises.
LangGraph saves checkpoints of the graph state at each step to a checkpointer, so a run can pause, survive a crash or deploy and resume from the last checkpoint. A plain chain or loop has no saved state between steps, so a failure means starting over.
LangGraph provides interrupt() to pause a graph and Command(resume=...) to continue it on the same thread. LangChain exposes the same capability for create_agent through human-in-the-loop middleware that pauses tool calls for approval, which runs on LangGraph underneath.
In LangChain's create_agent, state is the agent's message list plus any custom fields, persisted by a checkpointer when you add one. In LangGraph, you define the state schema and reducers yourself and checkpointers store it per thread. LangSmith does not hold application state; it stores traces, datasets and feedback.
LangChain is high-level: prebuilt agent loops, middleware and integrations. LangGraph is low-level: you describe nodes, edges and state, and it runs them reliably. LangSmith sits outside the code as a platform that observes and evaluates whatever you built.
Practise every comparison in your dashboard.
Start learning