Observe, evaluate, and improve your LangGraph agents
Capture every StateGraph node and edge transition from your LangGraph agents — the compiled graph implements LangChain's own Runnable interface, so the same span structure follows every branch, loop, and checkpoint.
What Prefactor records from LangGraph
LangGraph + Prefactor
Observe for LangGraph
Prefactor observes your LangGraph agents in real time — every LLM call, tool invocation, and custom span captured as str
Open → EvaluateEvaluate for LangGraph
Prefactor evaluates your LangGraph agents — score outcome quality against the captured spans, track drift by comparing c
Open → ObserveAct for LangGraph
Prefactor acts on your LangGraph agents at runtime — block, throttle, sandbox, or escalate a tool call or data access be
Open →How the LangGraph integration works
- A compiled StateGraph implements LangChain's Runnable interface, so it fires the same callback events as any other LangChain object — every node and conditional edge is captured as a span, showing branches, loops, and state transitions end to end, not just the LLM calls inside them.
- LangGraph's own checkpointer (MemorySaver, PostgresSaver, or a custom one) is what makes pause/resume possible — a graph interrupted at a checkpoint can sit paused indefinitely, which is the same mechanism a human-in-the-loop hold uses: the graph doesn't need to be re-architected to support a pause, it already has one.
- Beyond auto-captured spans, use withSpan to record any custom step you define — an API call, a quality check, a business action.
LangGraph integration FAQ
Do I need a dedicated package for LangGraph?
You can instrument LangGraph today with the framework-agnostic prefactor-core SDK; a dedicated package can be added on request.
What does Prefactor capture from LangGraph?
Prefactor records graph node executions, conditional edge transitions, tool calls and LLM calls as structured, timestamped spans — so every LangGraph run is captured as trace data you can reconstruct, search and export end to end.
Does Prefactor add latency or change how LangGraph runs?
No. Observability capture is designed to stay off your agent's critical path, so it doesn't alter your LangGraph logic or your users' responses. The only part that acts inline is the optional runtime guardrails you enable per agent — by design, so a high-risk or low-confidence action can be held for human approval before it executes.
Can I evaluate agents built with LangGraph and catch regressions?
Yes. Once runs are captured, eval suites score quality and groundedness on real traffic, drift detection flags behaviour changes after deployment, and versioned eval history catches regressions before they ship — the observe → evaluate → improve loop applied to your LangGraph agents.
Related guides
See it on your LangGraph agents
Book a 15-minute setup and our team gets you tracing in production.