使用说明
Develop Multi AI Agent Applications with Gemini Agent ADK
Design, build and evaluate multi-agent LLM applications with Google's Agent Development Kit and Gemini.
| Course detail | Information |
|---|---|
| Course code | TGS-2024042961 |
| Programme | WSQ |
| Duration | 2 days / 16 training hours |
| Current courseware | v1.4 |
| Registration | View course details and register |
| Funding | Up to 70% course-fee funding for eligible learners (SME employees or the Mid-Career Enhanced Subsidy; up to 50% baseline). Eligibility, attendance, assessment and funding-validity terms apply. |
| Provider | Tertiary Infotech Academy Pte Ltd (UEN 201200696W) |
About the course
Courseware and hands-on lab repository for the WSQ course Develop Multi AI Agent Applications with Gemini Agent ADK, built on Google's open-source Agent Development Kit (ADK) and the Gemini model family.
Learning Outcomes
| Outcome | |
|---|---|
| LO1 | Analyze the range of LLM applications using Generative AI (GAI) and identify their industrial use cases |
| LO2 | Establish Google Gemini GAI designs and assess improvements on engineering processes |
| LO3 | Develop LLM applications and assess its feasibility |
| LO4 | Evaluate the performance effectiveness of Retrieval Augmented Generation (RAG) |
Course Topics
| Topic | Title | Labs |
|---|---|---|
| 1 | Overview of Agentic AI in Gemini ADK | 1–4 |
| 2 | Build A Multi Agent App with Gemini ADK | 5–12 |
| 3 | Build Agentic AI RAG in Gemini ADK | 13–15 |
| 4 | Build an Agentic AI App with Gemini Agent ADK and Streamlit | 16–18 |
Quick Start
Prerequisites: Python 3.13+, uv, and a free Gemini API key from Google AI Studio.
git clone https://github.com/tertiarycourses/TGS-2024042961-Develop-Multi-AI-Agent-Applications-with-Gemini-Agent-ADK.git
cd TGS-2024042961-Develop-Multi-AI-Agent-Applications-with-Gemini-Agent-ADK/labs
uv sync
Create a .env file in the labs/ folder:
GOOGLE_GENAI_USE_VERTEXAI=0
GOOGLE_API_KEY=your-google-api-key
OPENWEATHER_API_KEY=your-openweather-key # optional, tool labs
TAVILY_API_KEY=your-tavily-key # optional, search labs
Never commit your
.envfile or API keys. It is git-ignored in this repository.
Run any agent:
uv run adk run <agent_folder> # terminal chat
uv run adk web # browser IDE at http://localhost:8000
Labs
| # | Lab | Agent folder | Topic |
|---|---|---|---|
| 1 | Set Up the Gemini ADK Environment and Get an API Key | lab01 |
1 |
| 2 | Build Your First ADK Agent — A Retail Banking Assistant | lab02 |
1 |
| 3 | Give an Agent Tools — Live Weather and Web Search | lab03 |
1 |
| 4 | Swap the Model — Running an ADK Agent on a Non-Gemini LLM | lab04 |
1 |
| 5 | Give an Agent Memory — Sessions, State and the Runner | lab05 |
2 |
| 6 | Inspect the Agent Loop — Events, Tool Calls and Final Responses | lab06 |
2 |
| 7 | Multi-Agent Handoff — Joke Generator to Translator | lab07 |
2 |
| 8 | Hierarchical Multi-Agent System — The Tutor Agent | lab08 |
2 |
| 9 | Sequential Workflow Agent — Singapore Transport Route Planner | lab09 |
2 |
| 10 | Add a Guardrail — Blocking Unsafe Requests with a Callback | lab10 |
2 |
| 11 | Structured Output — Forcing Valid JSON with Pydantic | lab11 |
2 |
| 12 | Connect External Tools with MCP — StreamableHTTP and SSE | lab12 |
2 |
| 13 | Load, Split and Embed Documents into a Vector Store | lab13 |
3 |
| 14 | Build the Agentic RAG Agent — Retrieval as a Tool | lab14 |
3 |
| 15 | Evaluate RAG Performance — Retrieval Quality and Groundedness | lab15 |
3 |
| 16 | Declarative Agents — Configuring a Multi-Agent System in YAML | lab16 |
4 |
| 17 | Ship the Agent as a Web App with Streamlit | lab17 |
4 |
| 18 | Capstone — Design, Build and Assess Your Own Multi-Agent Application | lab18 |
4 |
Every lab is a self-contained folder holding its own agent script, data files and a
README.md lab sheet. See labs/LABS.md for the full index.
Core ADK Patterns
Define an agent
from google.adk.agents import Agent
root_agent = Agent(
model='gemini-2.0-flash',
name='root_agent',
description='A helpful assistant for user questions.',
instruction='Answer clearly and concisely.',
)
Add a tool — the docstring and type hints are the contract the model reads.
def get_weather(city: str) -> dict:
"""Retrieves the current weather for a specified city.
Args:
city (str): The name of the city.
Returns:
dict: status and result or error msg.
"""
return {"status": "success", "report": "..."}
agent = Agent(..., tools=[get_weather])
Multi-agent handoff
root_agent = Agent(
name='root_agent',
sub_agents=[math_tutor_agent, physics_tutor_agent, history_tutor_agent],
instruction='Route each question to the right specialist.',
)
Sequential workflow
from google.adk.agents import SequentialAgent
workflow = SequentialAgent(
name='workflow_agent',
sub_agents=[input_agent, research_agent, report_agent],
)
Guardrail — return None to allow, an LlmResponse to block.
def block_keyword_guardrail(callback_context, llm_request):
if "BLOCK" in last_user_message.upper():
return LlmResponse(content=types.Content(
role="model", parts=[types.Part(text="I cannot process this request.")]))
return None
agent = Agent(..., before_model_callback=block_keyword_guardrail)
Structured output — note an agent with output_schema cannot also use tools.
from pydantic import BaseModel
class Recipe(BaseModel):
title: str
ingredients: list[str]
cooking_time: int
agent = Agent(..., output_schema=Recipe)
Courseware
| Artifact | File |
|---|---|
| Trainer Slides | courseware/Develop Multi AI Agent Applications with Gemini Agent ADK-v1.4.pptx |
| Learner Slides (PDF) | courseware/Develop Multi AI Agent Applications with Gemini Agent ADK-v1.4.pdf |
| Lesson Plan | courseware/LP-Develop Multi AI Agent Applications with Gemini Agent ADK.docx |
| Learner Guide | courseware/LG-Develop Multi AI Agent Applications with Gemini Agent ADK.docx |
| Learner Guide (Markdown) | LG-Develop Multi AI Agent Applications with Gemini Agent ADK.md |
The Learner Guide carries the full step-by-step instructions for all 18 labs, plus reference sections on core ADK patterns, evaluating a RAG pipeline, and assessing the feasibility of an agent application. The deck includes the "Login to LMS and Download Course Material" slide showing the current LMS-TMS sign-in page.
The Trainer Slides (v1.4, 163 slides) teach each lab as a four-part unit — briefing → process map → procedure with the actual commands → verification with troubleshooting — alongside comparison matrices, decision maps, worked code examples and native charts. Slide transitions are deliberately restrained (content fades, section dividers push), with click-through reveals on the process maps so a stage can be discussed before the next appears.
Public/private distribution boundary: the assessment set (question papers and answer keys), the Facilitator Guide, the Assessment Plan and trainer reference material are confidential and are not published in this repository. Answer keys are never linked from the LMS.
Resources
- Google ADK Documentation
- Google AI Studio — free Gemini API keys
- Course page
- LMS / TMS
Support
Tertiary Infotech Academy Pte Ltd · UEN 201200696W Email: enquiry@tertiaryinfotech.com · Tel: +65 6100 0613 · tertiarycourses.com.sg
© 2026 Tertiary Infotech Academy Pte Ltd. All rights reserved.