# What's the difference between the OpenAI Agents SDK and LangGraph?

LangGraph structures an agent as a graph with a checkpointed state you can rewind to any step; the OpenAI Agents SDK structures it as agents passing a conversation through handoffs, with no per-step checkpoint. In LangGraph, nodes are functions, edges pick the next one, and one state object carries through the whole run, checkpointed after every step so a failed run can rewind to that point and resume with its exact context. The Agents SDK's handoffs pass the conversation itself between agents, and a Session carries history between turns, but there's nothing to rewind to mid-run and replay with modified state.

That difference decides how each fails and how you debug it. A LangGraph regression can be pinned to one node, since every step is named and the graph itself is a diff you can read. An OpenAI Agents SDK regression is pinned to a handoff instead, since that's where control and context actually move between agents. Neither framework exports OpenTelemetry natively: LangGraph goes through LangSmith's OTLP export, and the Agents SDK needs a custom trace processor, so [reaching a vendor-neutral backend](/answers/langgraph-evals/how-do-i-trace-a-langgraph-agent) takes deliberate setup either way.

---

Source: https://tessary.ai/answers/openai-agents-sdk-evals/whats-the-difference-between-the-openai-agents-sdk-and-langgraph
More on Openai agents sdk evals: https://tessary.ai/answers/openai-agents-sdk-evals
From Tessary, agent reliability for AI agents in production: https://tessary.ai
