reviews
LangGraph, state machines for agents that run longer than a request
7.6 · Correct for agents that must survive a restart, needless ceremony for agents that do not.
Durable state and real human-in-the-loop pauses, sold at a high floor that the documentation is honest enough to admit.
The LangChain and LangGraph documentation, read on 31 July 2026. We did not build a production graph for this review, so proof_of_use is empty.
Where it earned the 7.6
It treats an agent as what an agent actually is, a state machine with a model inside some of the nodes, and it refuses to hide that from you. Nodes are functions, edges are control flow, state is a typed object you own and can print. Because the structure is explicit, you can mix deterministic code with model calls without pretending the model decides everything, which is how the deployments that survive contact with a client are really built. The checkpointer is the feature worth the price of admission: state persists, so a run that dies at step nine resumes at step nine rather than replaying a chain of paid calls from the beginning. Interrupts make human approval a first-class pause in the graph instead of a queue you invented on a Friday, which turns a compliance requirement into an edge. Streaming exposes intermediate steps, which is the difference between a demo that looks alive and one that looks frozen.
Where it lost the 2.4
The documentation says it out loud, that LangGraph is very low-level, and recommends starting with a higher-level abstraction first. That honesty is welcome and it is also the review: the floor is high. A three-step agent becomes a graph definition, a state schema, a checkpointer and a reducer argument you will get wrong the first time and debug for an hour. The surrounding ecosystem moves underneath you, with package boundaries and documentation locations having shifted more than once, so tutorials rot quickly and a confidently stale answer costs an afternoon. Persistence is a database you now run, monitor and prune, and nothing tells you when the checkpoint tables have quietly become large. Debugging a graph without a tracing tool attached is genuinely unpleasant, which means the true cost of adoption includes a second tool you also have to introduce.
Who should spend the hour
Spend an hour on it if your agent runs for minutes rather than seconds, has to survive a process restart, or needs a person to approve a step before it proceeds. Skip it if a plain loop around a tool-calling model has not failed you yet, because it probably will not fail you this quarter either, and a graph is a great deal of ceremony for three steps and one branch.
What to use instead
The Claude Agent SDK if you are on one provider and want the harness handed over. A plain loop if the agent is short.
No affiliate relationship.