Build the same AI agent three ways — in the Anthropic (Claude), Google (Gemini), and OpenAI (GPT) SDKs, side by side — and learn the shared shape underneath all of them.
The premise: every module teaches one agent concept and builds it three ways at once. You see exactly where the providers agree, where they differ, and why — so switching SDKs becomes a config change, not a rewrite.
The running example: Acme Support, a customer-service agent for a fictional online store. Each module adds one real capability — a tool, structured output, memory, retrieval, multi-agent routing — and builds it in all three SDKs.
Every example is complete and runnable, in both Python and Node.js, with model IDs and package names verified against current official docs.
Install all three SDKs, wire up keys, and send the same "hello" to each. Meet the universal agent pipeline.
Give Acme its first tool and write the tool-use loop by hand in all three SDKs. The engine under every framework.
Force each SDK to return a typed, schema-validated OrderStatus object — guaranteed JSON, not prose.
Add product search and refunds. Many tools, parallel calls, and loop-until-done across the three SDKs.
Stateless history vs. chat sessions vs. server-stored state — three takes on remembering the customer.
Ground Acme's answers in a help-doc knowledge base with embeddings and retrieval, three ways.
A triage agent routes to Orders and Refunds specialists — via subagents, the Agents SDK, and Google ADK.
Streaming, retries, cost, and each provider's agent framework as the graduation. Ship Acme Support.