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 takes deliberate setup either way.