AI agent SDKs compared: choose your orchestration layer
Pick the SDK whose control model matches your workflow. The OpenAI Agents SDK keeps a small set of primitives; Pydantic AI centers typed inputs, outputs and tools; Google ADK spans five languages and adds graph workflows; LangGraph gives explicit state and durable execution; Microsoft Agent Framework is Microsoft's successor to AutoGen. Build the same small workflow in two of them before you commit.
Documentation checked . Compare workflows
Choose by workflow
Documented workflow links lead to primary sources. Fit and pilot questions are editorial recommendations. On small screens, scroll the table horizontally to read every column.
| Tool and source | Documented workflow | Consider when | Verify in your pilot |
|---|---|---|---|
| OpenAI Agents SDK | A small set of Python primitives: agents with instructions and tools, handoffs or agents as tools, guardrails, and built-in tracing. | You want a light agent loop with delegation and input or output checks, and little framework code to learn. | Where traces go by default and how to turn tracing off; tracing is unavailable to organizations under OpenAI's Zero Data Retention policy. |
| Pydantic AI | A typed Python agent framework that switches model providers by name, with tools, dependency injection and OpenTelemetry instrumentation. | Your team wants type-checked structured outputs and tool arguments, and freedom to change model providers. | Which pieces live in separate packages, such as Pydantic Graph and Pydantic Evals, and whether its traces reach the backend you chose. |
| Google ADK | An open-source toolkit for agents, tools and graph workflows that mix deterministic code with model reasoning, in Python, TypeScript, Go, Java and Kotlin. | You need the same agent model in more than one language, or you build on Gemini and Google Cloud. | Feature parity across the language SDKs, and behavior with non-Gemini models; the repository describes ADK as optimized for Gemini and model-agnostic. |
| LangGraph | A low-level orchestration runtime for long-running, stateful agents, with durable execution, streaming, human-in-the-loop steps and persistence. | You need explicit state and transitions, and want to mix hand-coded steps with model-driven ones. | How much graph code your team will maintain, and which persistence backend restores a run after a restart. |
| Microsoft Agent Framework | Agents, a harness agent with built-in capabilities, graph-based workflows and integrations; AutoGen's repository directs new users here. | You build in .NET or Python on Microsoft's stack, or you are moving an AutoGen project. | Which language SDKs are previews; the documentation lists the Go SDK as a public preview with some features unavailable. |
Decide how much control flow you want to own
Agent SDKs differ most in who decides the next step. In some, the model chooses the next tool or hands the conversation to another agent, and the SDK runs that loop. In others, you write the graph of steps and the model fills in one node at a time. Most of these SDKs now support both styles, so ask which one a given SDK makes easy and which one it only permits.
The AI agent frameworks explainer compares LangGraph, CrewAI and AutoGen by orchestration model. This guide covers a different shortlist of SDKs a team might pick for a new project. The documented workflows in the table come from the linked primary documentation, checked October 24, 2026. The fit questions and the pilot are our editorial recommendations. The five options are not a complete inventory or a ranking, and this guide reports no measured performance.
Compare the primitives, not the demos
OpenAI Agents SDK: the documentation describes a deliberately small set of primitives: agents with instructions and tools, agents used as tools or handoffs for delegation, and guardrails that validate input and output. The SDK runs the tool-calling loop for you. The tracing page says tracing is on by default, can be disabled with an environment variable or per run, and is unavailable to organizations using OpenAI’s APIs under a Zero Data Retention policy. Check where those traces are sent before you run it against customer data.
Pydantic AI: the overview describes a Python agent framework built around type safety. You declare the output type and tool signatures, and the framework validates model responses against them. Models are swapped by name across providers, and instrumentation follows OpenTelemetry, so the traces are not tied to Pydantic’s own Logfire product. Pydantic Graph, for typed control flow, and Pydantic Evals ship as separate libraries.
Google ADK: adk.dev describes an open-source toolkit with SDKs for Python, TypeScript, Go, Java and Kotlin. Its graph workflows combine deterministic code with model reasoning, and the site describes building, debugging and deploying agents with the same toolkit. The Python repository says ADK is optimized for Gemini and the Google ecosystem but is model-agnostic and deployment-agnostic. Test the model you plan to use rather than assuming parity.
LangGraph: the LangGraph overview describes a low-level orchestration runtime for long-running, stateful agents. It lists durable execution, streaming, human-in-the-loop steps and persistence, and it can be used without LangChain. You write more of the control flow yourself, and you get explicit state you can inspect, checkpoint and resume.
Microsoft Agent Framework: the overview describes agents, a harness agent with built-in capabilities, graph-based workflows, model clients, sessions, middleware and MCP clients. The AutoGen repository now tells new users to start with Microsoft Agent Framework and points existing users to a migration guide. The same overview marks the Go SDK as a public preview with some features unavailable, so check the language you plan to use.
We left two names off the shortlist. CrewAI is covered in the frameworks explainer linked above. Inngest, a current presenting sponsor of the show, sells durable execution for agent workflows; we did not include it so the comparison carries no sponsor relationship.
Build one workflow twice
Suggested pilot, not a reported benchmark: pick a real workflow with at least one tool call, one decision and one step that waits on a person. Build it in two SDKs from the shortlist, using the same model, tools and test inputs.
| Pilot step | What to check |
|---|---|
| The model returns malformed output | Whether the SDK validates it, retries it or passes it to your code unchanged |
| A tool fails halfway through a run | Whether the run can resume from saved state or has to start over |
| A person must approve one step | How the run pauses, where its state lives while it waits and how it resumes |
| You switch to a second model provider | How much code changes, and which features stop working |
| Two agents share one task | Whether delegation is a handoff, a tool call or a graph edge, and how the trace shows it |
| You read the trace of a failed run | Whether you can see each model call, tool call and decision without adding instrumentation |
Count the code you wrote outside the SDK to make each step work. Glue code you have to maintain is a larger long-term cost than the first day of setup. For the trace step, the LLM observability tools comparison covers where those spans can go.
Plan for what the SDK will not own
None of these SDKs removes the need for evaluation, access control on tools or a plan for long-running state. Check the release cadence and the deprecation policy of each SDK you shortlist. AutoGen’s own repository now points new users elsewhere, which shows how quickly the field moves. Keep your tools, prompts and evaluation cases in code you own, so moving to another SDK means rewriting orchestration and not the whole application.
Where the interviews fit
LlamaIndex co-founder Jerry Liu described the value of a framework as core abstractions that make it easier to build certain things. Lyzr’s Siva Surendira argued that teams building something deep and highly complex should skip frameworks and build from scratch. Read both as the guests’ positions, not as findings about the SDKs above. Episode 21 was sponsored by Galileo while Conor worked there; later in that episode Conor mentions Galileo’s agent leaderboard.
The conversations behind the decision
These guest perspectives explain the engineering problem. The linked documentation above supports the current product descriptions.
That's where there's kind of value in a framework layer because the framework provides you know the core abstractions to make it easier to build certain things
Anything deep and highly complex. It's super complex. Go ahead and build your own thing from scratch.