๐ Google ADK Training: From Zero to Hero ๐
Welcome! This repository contains a comprehensive, multi-module training course for the Google Agent Development Kit (ADK). Through a series of hands-on modules, you will learn the core and advanced concepts of the ADK to build, test, deploy, and observe your own AI agents.
๐ฏ Our Philosophy: From Zero to Heroโ
This course was born from a specific need: to create a complete learning path that takes a developer from the foundational concepts of AI agents to building complex, production-ready systems. The goal is to transform you from "Zero" to "Hero" in the world of AI Agent development with the Google ADK, providing not just the theory, but the hands-on practice required to become confident and proficient.
โ๏ธ About the Authorโ
This course was created and is maintained by Maurizio Ipsale, a Google Cloud Authorized Trainer and Google Developer Expert (GDE) in AI and Cloud. This project stems from a passion for empowering developers with the skills needed to build the next generation of AI agents.
๐ง Project Status ๐งโ
Current Version: v1.0.3
This training course is complete and production-ready, covering the full ADK 2.0 curriculum across 40 modules โ from your first agent to distributed, enterprise-grade multi-agent systems with full AgentOps observability.
We continue to refine and expand the material as the ADK evolves. Your feedback and contributions are highly encouraged! If you find an issue or have a suggestion, please open an issue on GitHub.
What's new in v1.0.3: ADK 2.4-2.6 coverage completed, plus a full empirical re-validation pass (every change below was actually run, not just reasoned about) that surfaced several pre-existing bugs unrelated to prior updates โ
Coverage:
- Module 18: a "Going Further" section on using a
@nodedirectly as anAgenttool, paired withRequestInput/ResumabilityConfigfor human-in-the-loop pause-and-resume. - Module 26: noted
BasePlugin's notification-onlyon_agent_error_callback/on_run_error_callback, and added an explicit run/test step. - Module 28: noted
to_mcp_serveras the agent-level counterpart to Module 27's tool-level MCP server. - Module 39.5: pointed to
GkeCodeExecutor/AgentEngineSandboxCodeExecutoras production-safe alternatives toUnsafeLocalCodeExecutor.
Bugs found and fixed via empirical re-validation (student simulations that actually run the code):
- Module 9 & 12: fixed
adk run agent.py(needs a directory, not a file) in both modules. - Module 21: fixed a nonexistent tool (
GoogleSearchAgentToolโgoogle_search), a missing dependency, and a wrong agent-card URL that silently blocked the entire A2A lab. - Module 24: fixed
adk eval's missing__init__.py/PYTHONPATHrequirement and corrected both bonus sections' JSON formats and CLI commands. - Module 27: fixed a missing
mcpinstall (the extra is required, not optional). - Module 28: fixed a CWD-dependent path and a directory-naming mismatch that broke the lab when run as documented.
- Module 33: fixed a broken YAML indentation that caused
kubectlto silently discard the Deployment'sspec. - Removed a handful of stale
adk createCLI prompts referenced across several modules.
What's new in v1.0.2: a second pass, this time against ADK 2.6.0 โ
- Module 12: noted
ManagedAgent's newinstructionparameter. - Module 24: added hands-on "Custom Metric" and "Dynamic User Simulation" bonus sections, closing a gap where the theory mentioned both but the lab never demonstrated them.
- Module 26: introduced
ReflectAndRetryModelPluginandReflectAndRetryToolPluginas concrete, production-ready examples of the plugin pattern.
What's new in v1.0.1: a pass against the latest official ADK documentation, keeping the course current as the framework evolves โ
- Module 12: a "Looking Ahead" note on the new (Preview)
ManagedAgent. - Module 21: fixed the A2A lab to opt into ADK's reliability-fixed executor (
use_legacy=False), avoiding known streaming-mode message-duplication bugs. - Module 27: a new bonus section connecting to a remote MCP server (
StreamableHTTPConnectionParams) via the public GitHub MCP server, in addition to the existing local/Stdio example. - Module 28: aligned MCP naming (
McpToolset) with the current official SDK. - Module 33: a bonus callout showing the automated
adk deploy gkeshortcut alongside the manual walkthrough. - Module 39.5: noted the Skills feature's experimental status and added a "Going Further" section on the (Preview) Skill Registry.
โฑ๏ธ Time Estimationโ
This comprehensive training course is designed for both self-service and instructor-led delivery. The estimates below provide a realistic guide for pacing, considering the technical depth and hands-on nature of the labs.
- ๐งโ๐ป Self-Service (SS) Duration: This estimate reflects the time a motivated individual learner would take to read the theory, complete the labs, and account for a 25% troubleshooting/review factor.
- ๐จโ๐ซ Instructor-Led Training (ILT) Duration: This estimate is tailored for a classroom environment (up to 16 participants) with a net delivery time of 6 hours per day. It includes a 75% buffer for instructor guidance, Q&A, and assisting students during labs, plus a 5-minute transition buffer between modules.
โฑ๏ธ Course Outlineโ
๐ฑ Part 1: Foundations (Modules 1-7)โ
This part covers the absolute basics of AI agents and the ADK, getting your environment set up and guiding you through building and running your first agents, including multimodal capabilities.
- ๐ Module 1: Introduction to AI Agents & Google ADK (๐งโ๐ป 35 min / ๐จโ๐ซ 55 min)
- ๐ Module 2: Setting Up Your Development Environment (๐งโ๐ป 40 min / ๐จโ๐ซ 60 min)
- ๐ Module 3: Your First Agent: The "Echo" Agent (๐งโ๐ป 35 min / ๐จโ๐ซ 55 min)
- ๐ Module 4: Core Agent Concepts:
LlmAgentDeep Dive (๐งโ๐ป 30 min / ๐จโ๐ซ 50 min) - ๐ Module 4.5: Professional Model Configuration & Resiliency (๐งโ๐ป 30 min / ๐จโ๐ซ 45 min)
- ๐ Module 5: Running and Interacting with Agents (๐งโ๐ป 30 min / ๐จโ ๐ซ 50 min)
- ๐ Module 6: Running an Agent Programmatically (๐งโ๐ป 35 min / ๐จโ๐ซ 55 min)
- ๐ Module 7: Multimodal and Images ๐ธ (๐งโ๐ป 40 min / ๐จโ๐ซ 60 min)
๐ ๏ธ Part 2: Tools & Capabilities (Modules 8-14)โ
This part focuses on giving your agents "superpowers" by connecting them to tools, from built-in capabilities to custom functions and third-party libraries.
- ๐งฐ Module 8: Introduction to Tools (๐งโ๐ป 35 min / ๐จโ๐ซ 55 min)
- ๐งฐ Module 9: Intro to Custom Function Tools (๐งโ๐ป 45 min / ๐จโ๐ซ 70 min)
- ๐งฐ Module 10: Stateful Tools & ToolContext (๐งโ๐ป 40 min / ๐จโ๐ซ 65 min)
- ๐งฐ Module 11: OpenAPI Tools (๐งโ๐ป 35 min / ๐จโ๐ซ 55 min)
- ๐งฐ Module 12: Built-in Tools and Grounding (๐งโ๐ป 30 min / ๐จโ๐ซ 45 min)
- ๐งฐ Module 13: Advanced Interactions: Actions & HITL (๐งโ๐ป 40 min / ๐จโ๐ซ 65 min)
- ๐งฐ Module 13.5: Extending ADK - Custom Persistence with Firestore (๐งโ๐ป 30 min / ๐จโ๐ซ 45 min)
- ๐งฐ Module 14: Third-Party Tools (๐งโ๐ป 30 min / ๐จโ๐ซ 40 min)
๐ค๐ค Part 3: Multi-Agent Systems (Modules 15-21)โ
Learn how to go beyond single agents and build complex systems where multiple agents collaborate to solve complex problems using ADK 2.0 Graph-based Workflows.
- ๐ค Module 15: Introduction to Multi-Agent Systems (๐งโ๐ป 15 min / ๐จโ๐ซ 30 min)
- ๐ค Module 16: Static Orchestration (๐งโ๐ป 40 min / ๐จโ๐ซ 60 min)
- ๐ค Module 17: Structured Routing (๐งโ๐ป 30 min / ๐จโ๐ซ 45 min)
- ๐ค Module 18: Dynamic Orchestration (๐งโ๐ป 40 min / ๐จโ๐ซ 65 min)
- ๐ค Module 19: Collaborative Teams (๐งโ๐ป 45 min / ๐จโ๐ซ 75 min)
- ๐ค Module 20: Cyclic Workflows (๐งโ๐ป 40 min / ๐จโ๐ซ 65 min)
- ๐ค Module 21: Distributed Graphs (๐งโ๐ป 50 min / ๐จโ๐ซ 70 min)
- ๐ Module 21.5: MAS Knowledge Milestone (๐งโ๐ป 15 min / ๐จโ๐ซ 30 min)
๐ญ Part 4: Production Readiness (Modules 22-26)โ
This part covers the essential features for making your agents robust, observable, and reliable in a production environment.
- ๐ง Module 22: State and Memory (๐งโ๐ป 35 min / ๐จโ๐ซ 55 min)
- ๐ฆ Module 23: Artifacts (๐งโ๐ป 40 min / ๐จโ๐ซ 65 min)
- ๐งช Module 24: Evaluation (๐งโ๐ป 50 min / ๐จโ๐ซ 75 min)
- ๐ Module 25: Observability (๐งโ๐ป 35 min / ๐จโ๐ซ 55 min)
- ๐ฆบ Module 25.5: Responsible AI (RAI) & Safety Plugins (๐งโ๐ป 35 min / ๐จโ๐ซ 55 min)
- ๐ก๏ธ Module 26: Callbacks (๐งโ๐ป 40 min / ๐จโ๐ซ 65 min)
๐ Part 5: Advanced Integrations & UI (Modules 27-30)โ
This section covers advanced tooling with the Model Context Protocol (MCP) and strategies for integrating your agents with user interfaces.
- ๐ Module 27: Introduction to MCP (๐งโ๐ป 40 min / ๐จโ๐ซ 65 min)
- ๐ Module 28: Building MCP Tools (๐งโ๐ป 40 min / ๐จโ๐ซ 65 min)
- ๐ผ๏ธ Module 29: UI Integration Intro (๐งโ๐ป 35 min / ๐จโ๐ซ 55 min)
- ๐ผ๏ธ Module 30: Custom Streaming Client (๐งโ๐ป 45 min / ๐จโ๐ซ 65 min)
โ๏ธ Part 6: Deployment & Enterprise (Modules 31-36)โ
Learn how to deploy your agents and their components to various scalable cloud environments, including enterprise-grade platforms.
- ๐ Module 31: Production Deployment Strategies (๐งโ๐ป 15 min / ๐จโ๐ซ 25 min)
- ๐ Module 32: Deployment to Cloud Run (๐งโ๐ป 35 min / ๐จโ๐ซ 50 min)
- ๐ Module 33: Deployment to GKE (๐งโ๐ป 60 min / ๐จโ๐ซ 95 min)
- ๐ Module 34: Deploying an MCP Server to Cloud Run (๐งโ๐ป 70 min / ๐จโ๐ซ 105 min)
- ๐ Module 35: Deployment to Agent Runtime (๐งโ๐ป 60 min / ๐จโ๐ซ 90 min)
- ๐ Module 36: Gemini Enterprise (๐งโ๐ป 15 min / ๐จโ๐ซ 25 min)
๐ Part 7: Capstone Project & Best Practices (Modules 37-40)โ
Apply everything you've learned in a final capstone project, review essential best practices for building production-ready agents, and explore advanced extensibility patterns like plugins and skills before tackling a full enterprise-grade capstone.
- โจ Module 37: Advanced Personalized Shopping Agent (๐งโ๐ป 85 min / ๐จโ๐ซ 120 min)
- โจ Module 38: Best Practices (๐งโ๐ป 35 min / ๐จโ๐ซ 50 min)
- ๐ Module 39: ADK Plugins (๐งโ๐ป 35 min / ๐จโ๐ซ 50 min)
- ๐ Module 39.5: Agent Skills (๐งโ๐ป 35 min / ๐จโ๐ซ 50 min)
- ๐ฏ Module 40: Advanced Capstone - Aegis Incident Response & AgentOps (๐งโ๐ป 100 min / ๐จโ๐ซ 140 min)
Detailed Timetablesโ
For a detailed breakdown of the time required for each module, please see the following timetables:
- ๐งโ๐ป Self-Service (SS) Detailed Timetable
- ๐จโ๐ซ Instructor-Led Classroom (ILC) Detailed Timetable
๐ Course Variantsโ
While this repository contains the full, comprehensive "From Zero to Hero" track, we also offer shorter, focused delivery variants for different training needs:
- Variant A: 1-Day Workshop (ILC): A high-impact, 6-hour workshop focused on building your first tool-powered agent.
- Variant B: Standard 2-Day ILT: A comprehensive 2-day course covering all foundational and key intermediate skills.
โถ๏ธ Getting Startedโ
Before you begin, please ensure you have the following prerequisites installed:
- Git
- Python 3.11+
- A Google Cloud Project with billing enabled
- The Google Cloud CLI (
gcloud)
To get started with the course:
- Clone the repository:
git clone https://github.com/mauripsale/doc-adk-training.git - Navigate to the directory:
cd training - Begin with Module 1 and proceed through the modules in order. Each lab builds upon the concepts and code from the previous one.
Happy building!
๐ค Contributingโ
Contributions are welcome! If you find an issue, have a suggestion for a new module, or want to improve the existing content, please see our Contributing Guidelines to get started.
๐ Licensingโ
The documentation and textual content of this training course are licensed under the Creative Commons Attribution 4.0 International License (CC BY 4.0).
Software components, such as the code in the sample-agents directory, are licensed under the Apache License, Version 2.0. Please see the LICENSE file within those directories for full details.
๐ Acknowledgementsโ
This training course was initially inspired by the ADK Training Hub created by Raphael Mansuy. The course has since evolved its own structure and challenge-lab-based pedagogy, with all content originally written and adapted โ but we gratefully acknowledge his early influence.