HARNESSES AND BROKERS / ORCHESTRATION FRAMEWORK
LangGraph
LangGraph is not an agent you install and talk to. It is a library for building your own harness, where the agent loop is an explicit graph you define, and where state is saved at each step so runs can pause, resume, and be inspected.
Technology
What it is
LangGraph is a low-level orchestration framework for building, managing, and deploying long-running, stateful agents. It is published by LangChain under the MIT license, with a Python package and an equivalent JavaScript and TypeScript library. It integrates with other LangChain products and can be used without them.
The loop as a graph
In LangGraph the agent loop is a graph you define. A StateGraph holds a state schema; nodes are functions that do work and return state updates; edges decide which node runs next. Conditional edges route based on the current state, which is how a graph expresses the decisions a hand-written loop would bury in if-statements. A graph is compiled before it runs.
Making the loop explicit is the main architectural benefit. The control flow, the stopping conditions, and the places a person can intervene are all visible in the graph definition rather than implied by prompt wording.
State and checkpoints
State is shared across nodes, with reducer functions deciding how updates merge. When a graph is compiled with a checkpointer, LangGraph saves state at each step boundary, so a thread can be resumed later. The project describes this as durable execution: agents persist through failures and resume where they stopped.
Saved state per step is also a record. It is what makes it possible to answer what the agent knew at the point it made a decision, which is the core of the inspectable and auditable tests.
Human-in-the-loop interrupts
A node can call interrupt() to pause the run and wait for a person. The run resumes with a value supplied by the caller, which becomes the result of the interrupt inside the node. Because state is checkpointed, the pause can last as long as the approval takes.
This is approval enforced by the program, not requested in a prompt: the graph cannot proceed past the interrupt until someone resumes it.
Fan-out and multi-agent patterns
Conditional edges can return Send objects, each targeting a node with its own state, so the number of parallel branches can be decided at run time. Map-reduce style work and supervisor-and-worker multi-agent designs are built from this and from subgraphs.
LangChain, LangSmith, and deployment
LangChain's LangSmith is the recommended tool for tracing, evaluation, and observability, and LangSmith Deployment is the managed option for running long-running workflows. The project also points to Deep Agents, a higher-level package built on LangGraph, for teams that want a ready-made agent rather than a graph from scratch. The library itself does not require any of these.
Framework or harness
The harnesses on this site are mostly finished agents. LangGraph is what you use when none of them fit and you need to build one: a support agent with a specific approval step, a data pipeline agent with fixed stages, a supervisor that delegates to specialized workers. You take on the harness responsibilities the harness layer article lists, and you get exact control over each one.
Where it fits in an open stack
LangGraph sits in the execution layer as a toolkit for building harnesses and simple brokers. It is model-agnostic through its integrations, can call tools including MCP servers through adapters, and leaves storage of checkpoints to backends you choose.
Gotchas worth knowing
- You own the harness work. Context selection, retries, tool design, and stopping rules are yours to build.
- Checkpoint storage is a data store. It holds prompts, tool results, and user data. Govern and retain it accordingly.
- Graphs grow. A graph with many conditional edges becomes hard to reason about; subgraphs keep it manageable.
- Managed services are separate choices. Tracing and deployment products are optional; decide on them as you would any vendor.
How it scores on openness
- Replaceable. Strong. Model-agnostic through integrations, and checkpoint backends are pluggable.
- Inspectable. Strong. MIT source, an explicit graph, and per-step saved state.
- Portable. Moderate. Graph definitions are code tied to the library; the state and tools they use can be portable.
- Bounded. Strong where you build it: interrupts and explicit edges enforce approvals in code.
- Grounded. Depends on the tools and data you connect.
- Auditable. Strong when checkpoints are kept in storage you own and retained long enough.
What it is not
LangGraph is not a ready-made agent or a model. It is not a protocol; graphs built with it do not interoperate with other frameworks unless you expose them through one, such as MCP or A2A.
Openness scorecard for LangGraph
The notes above describe the tool. The score belongs to your deployment of it, because configuration, permissions, and where records are kept decide most of the result. Score each test 0 (absent), 1 (partial), or 2 (demonstrated) for the way you run LangGraph, out of 12.
| Test | Question | What a 2 looks like | Evidence to collect |
|---|---|---|---|
| Replaceable | Can one component be swapped without rebuilding the system? | A major component has been swapped, and the work was measured in days, not months. | Which component did you last swap, and how long did it take? |
| Inspectable | Can a builder understand what runs and why? | The exact context, tool calls, and results for each step are exported to storage you own. | Where do traces live, what do they contain, and how long are they kept? |
| Portable | Can identity, skills, context, and work move? | Identity, skills, and work are files in open formats and have been loaded into a second tool. | What have you exported and reloaded somewhere else? |
| Bounded | Are authority and approval requirements explicit? | Tool scopes, delegated user identity, and approvals are enforced outside the model and tested adversarially. | What stops the agent from taking an action its user could not take? |
| Grounded | Do agents share durable data and semantic meaning? | Agents query governed metrics over versioned tables and cite the definition and data version. | Which semantic definitions and tables do agents use? |
| Auditable | Can people reconstruct decisions and outcomes? | Runs, approvals, and data versions are recorded long enough to reconstruct any decision. | Could you reconstruct an agent decision from three months ago? |
Score your LangGraph setup on the interactive scorecard. It runs in your browser, and you can download the result as JSON or print it.
Where to learn more
Primary sources first. Documentation and specifications move faster than any summary, so treat the links below as the authority and this page as orientation.
- LangGraph on GitHub ↗Source, the MIT license, and the core benefits as the project states them.
- LangGraph Graph API ↗StateGraph, state and reducers, nodes, edges, conditional edges, and Send.
- LangGraph.js ↗The JavaScript and TypeScript equivalent of the library.