A fixed path
A pipeline with a known order. langchain.com barely mentions this anymore, but it is still the right tool when you already know the steps.
LangChain, LangGraph, Deep Agents, LangSmith
Take one job and run it as a chain, a LangChain agent, a Deep Agent, or a LangGraph. See where each one fits, and where it stops.
The stack
Select a layer. The description stays until you pick another.
create_deep_agent adds a filesystem, skills, subagents, and planning on top of the agent loop.
The open-source stack
A pipeline with a known order. langchain.com barely mentions this anymore, but it is still the right tool when you already know the steps.
create_agentLangChain's create_agent: a model in a loop with tools. Built on LangGraph, without making you draw the graph.
create_deep_agentDeep Agents: the same loop, plus a filesystem, skills, subagents, and planning, already wired up.
LangGraph is the runtime underneath: durable runs, streaming, human-in-the-loop. Learn LangGraph is the graph practice.
The comparison
Not rivals — layers. Pick by the shape of the job, not the name on the box.
| Chain | create_agent | Deep Agents | LangGraph | |
|---|---|---|---|---|
| The shape | A fixed path | A loop | A harness on the loop | A graph you draw |
| Who picks the next step | You, in advance | The model | The model, with a plan | Your edges |
| Work that comes back | Never | Retries until tools settle | Long tasks, subagents | Cycles you define |
| Waiting for a person | No | Middleware | Via the graph underneath | Interrupts and checkpoints |
| Reach for it when | Steps are known | One job, some tools | Research, coding sessions | Approvals, branches, multi-agent |
Where to start
Glossary
LangChain's site uses these as product names. Here they are just the machines.
FAQ
No. The studio is simulated. Nothing calls a model.
No. A community resource from En Dash. The product names are real; the runs are not.
When the steps are known and the work never comes back. The PDF one-pager is a chain. The rental that waits for a person is a graph.
They are layers, not rivals. LangChain is the framework: integrations, tools, create_agent. LangGraph is the runtime it runs on. Start with create_agent; write LangGraph directly when the job needs branches, pauses, or state you can replay.
No. create_agent runs on the LangGraph engine, so every LangChain agent is already a small graph. Dropping to LangGraph syntax just means drawing the loop yourself.
A harness on top of the agent loop: planning, a filesystem, subagents. The architecture behind tools like Claude Code and deep research. Overkill for a Tuesday ticket; right for work that runs long enough to need a plan.