zoff.tech

LangGraph

How we build production agent workflows on LangGraph: explicit state, tool calls, retries, human checkpoints, evals, and replayable runs.

LangGraph is useful when the AI workflow is not a single prompt but a stateful process: extract, retrieve, draft, review, route, retry, and stop when a human needs to decide.

We reach for it when the workflow itself has to be inspectable. If a buyer, engineer, or reviewer cannot answer "which step ran, which tool was called, why did it stop, and what state did it carry forward," the agent is too opaque for production.

Where LangGraph fits

  • Multi-step workflows with explicit state, retries, and human approval points.
  • Agent paths that need observability and repeatability more than clever autonomy.
  • Products where the graph itself becomes part of the eval: which path ran, which tool was called, which node failed.
  • Workflows where the right outcome depends on stopping, not continuing: SME approval, unsafe request, missing source, failed verifier, or irreversible side effect.

What we watch closely

  • Graph sprawl. If every exception becomes a new branch, the system gets harder to evaluate than the prompt it replaced.
  • Human checkpoints. Approval should be part of the graph design, not an afterthought bolted onto the UI.
  • Replayability. A graph that cannot replay a failed run with the same state is hard to debug and hard to trust.

Decisions we tend to make

  • Keep nodes boring: small inputs, small outputs, typed state, clear ownership.
  • Log graph state transitions in a way product and engineering can read together.
  • Make refusal and escalation paths as explicit as success paths.
  • Use the eval to decide when an agent is allowed to continue and when it must ask a person.

What we include in handover

  • The graph topology and state schema.
  • Node-level owners and failure modes.
  • Replay instructions for failed runs.
  • Eval cases that assert the correct path, not only the final answer.
  • Tool-call logs tied back to the user action that triggered them.

When we avoid it

LangGraph is not a prize for every AI feature. If the workflow is a single retrieval pass, a single classifier, or a simple drafting assistant, a graph can add ceremony without reducing risk. We use it when state, branching, retries, and human checkpoints are real product requirements.

Related work

BidGenie uses the pattern for document workflows with review gates. Microstax uses agent-ready runtime primitives where the environment itself has to be governed.