ADK Agentic Pattern mit Memory & MCP

1. Lerninhalte

Willkommen zur ADK Master Class – Ihre Reise in die Welt der Multi-Agent-Systeme

Sie betreten die aufregende Welt der KI-Agenten. Vergessen Sie einfache Chatbots, die nur Fragen beantworten. Wir tauchen tief in das Agent Development Kit (ADK) ein, um hochentwickelte, autonome Systeme zu erstellen, die argumentieren, planen und Tools verwenden können, um komplexe Aufgaben zu erledigen.

Coverversion

Am Ende dieser Anleitung können Sie:

  • Ihren ersten KI-Agenten erstellen: Sie beginnen bei null und entwickeln einen voll funktionsfähigen Agenten, der die Bedürfnisse eines Nutzers verstehen, Tools wie die Google Suche verwenden und detaillierte, hilfreiche Antworten generieren kann.
  • Multi-Agent-Systeme erstellen: Sie lernen das Muster „Agent als Tool“ kennen, ein revolutionäres Konzept, bei dem Agenten Aufgaben an andere spezialisierte Agenten delegieren und so ein Team von KI-Experten bilden, die zusammenarbeiten.
  • Komplexe Workflows orchestrieren: Sie gehen über die einfache Delegierung hinaus und beherrschen erweiterte Muster wie Router, Sequenzielle Ketten, Schleifen und Parallele Ausführung, um robuste, effiziente und intelligente Anwendungen zu erstellen, die fast alle Anfragen verarbeiten können.
  • Ihren Agenten ein Gedächtnis geben: Sie verstehen die entscheidende Rolle des Konversationsgedächtnisses, mit dem Ihre Agenten Folgefragen beantworten, aus Feedback lernen und mehrstufige Aufgaben nahtlos verwalten können.
  • Verbindung mit MCP herstellen: Verbindung mit der MCP Toolbox herstellen.

Los geht's! 🚀

2. Einrichtung: API-Schlüssel abrufen

API-Schlüssel für Google AI Studio einrichten

Voraussetzungen:

  • Python 3.9 oder höher (python3 --version zum Prüfen)
  • Ein Google-Konto (zum Erstellen des AI Studio-Schlüssels)
  • Ein Terminal – sowohl Ihr lokaler Computer als auch Cloud Shell funktionieren
  • ~10 Minuten

Um unsere KI-Agenten zu nutzen, benötigen wir einen Gemini API-Schlüssel von Google AI Studio. Das ist der schnellste Weg, um loszulegen.

Schritt 1: Gemini API-Schlüssel von AI Studio abrufen (1 Minute)

  1. Öffnen Sie https://aistudio.google.com/app/apikey in einem neuen Browsertab.
  2. Melde dich mit deinem Google-Konto an.
  3. Klicken Sie oben rechts auf „API-Schlüssel erstellen“.
  4. Ein Dialogfeld mit einem Drop-down-Menü für das Projekt wird geöffnet:
  • Wenn Sie bereits ein Google-Projekt erstellt haben: Wählen Sie es aus und klicken Sie auf "API-Schlüssel in vorhandenem Projekt erstellen"
  • Wenn es nicht in der Liste ist: Klicken Sie auf "Projekt erstellen".

aistudio

  1. Kopieren Sie den angezeigten API-Schlüssel. Er beginnt mit AIza... und ist etwa 40 Zeichen lang.

✏️ Fügen Sie ihn an einem sicheren Ort ein – Sie benötigen ihn in Schritt 4 unten.

Schritt 2: Repository klonen (1 Minute)

👉💻 Öffnen Sie Ihr Terminal (oder Cloud Shell) und klonen Sie das Repository für die Anleitung:

git clone https://github.com/cuppibla/adk_tutorial.git
cd ~/adk_tutorial

Schritt 3: Virtuelle Umgebung erstellen und Abhängigkeiten installieren

👉💻 Erstellen und aktivieren Sie eine virtuelle Umgebung mit dem Namen .adk_env und installieren Sie dann die Abhängigkeiten:

python3 -m venv .adk_env
source .adk_env/bin/activate
pip install --upgrade pip
pip install -r requirements.txt

Am Anfang der Terminaleingabeaufforderung sollte (.adk_env) angezeigt werden.

Schritt 4: 🔥 WICHTIG: API-Schlüssel hinzufügen

⚠️ Überspringen Sie diesen Schritt nicht! Erstellen Sie im Stammverzeichnis des Ordners adk_tutorial eine Datei .env. Diese eine Datei unterstützt jede Sitzung in diesem Codelab. Die ADK Web-Sitzungen (1–5) und die Befehlszeilensitzungen „Memory“ und MCP (6–7) lesen sie automatisch.

👉💻 Erstellen Sie die Datei .env mit Ihrem Schlüssel (ersetzen Sie your_actual_api_key_here durch den Schlüssel aus Schritt 1):

cat > .env <<'EOF'
GOOGLE_GENAI_USE_VERTEXAI=FALSE
GOOGLE_API_KEY=your_actual_api_key_here
EOF

Ihre Datei ~/adk_tutorial/.env sollte jetzt Folgendes enthalten:

GOOGLE_GENAI_USE_VERTEXAI=FALSE
GOOGLE_API_KEY=your_actual_api_key_here

🚨 WICHTIG: Ersetzen Sie your_actual_api_key_here durch Ihren tatsächlichen API-Schlüssel aus Schritt 1 (er beginnt mit AIza...).

✅ Checkpoint: Sie haben eine Datei .env unter ~/adk_tutorial/.env mit Ihrem Schlüssel AIza... und in der Terminaleingabeaufforderung wird (.adk_env) angezeigt. Sie können jetzt Agenten erstellen!

3. Sitzung 1: Ihr erster Agent in ADK Web

KI-Agent liest

Öffnen Sie ADK Web, indem Sie Folgendes ausführen:

cd ~/adk_tutorial
source .adk_env/bin/activate
adk web

Nach dem Ausführen der Befehle sollte in Ihrem Terminal eine Ausgabe angezeigt werden, die darauf hinweist, dass der ADK Web-Server gestartet wurde. Sie sieht in etwa so aus:

+-----------------------------------------------------------------------------+
| ADK Web Server started                                                      |
|                                                                             |
| For local testing, access at http://localhost:8000.                         |
+-----------------------------------------------------------------------------+


INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)

👉 Öffnen Sie als Nächstes Ihren Browser unter http://localhost:8000, um auf die ADK-Entwicklungsoberfläche zuzugreifen.

webpreview

👉 Ihr Beschwörungsritual ist abgeschlossen und der Agent wird jetzt ausgeführt. Die ADK-Entwicklungsoberfläche in Ihrem Browser ist Ihre direkte Verbindung zum Familiar.

Ersten Agenten auswählen Wählen Sie im Drop-down-Menü oben auf der Benutzeroberfläche a_single_agent aus.

Sie können a_single_agent hier auswählen: Tracing-Bild einzelner Agenten

Die Ablaufverfolgung sehen Sie hier: Tracing-Bild eines einzelnen Agenten

👉 Test-Prompt:

Plan a trip from Sunnyvale to San Francisco this weekend, I love food and art.

4. Sitzung 2: Workflow-Agent: Sequenzieller Agent, paralleler Agent, Schleifen-Agent

Paralleler Agent

Parallel Agent

Parallelen Workflow-Agenten auswählen Wählen Sie im Drop-down-Menü oben auf der Benutzeroberfläche b2_parallel_agent aus.

👉 Test-Prompt:

Plan my trip to San Francisco, I want to find some good concert, restaurant and museum.

Sie können b2_parallel_agent hier auswählen: Tracing-Bild von parallelen Agents

Die Ablaufverfolgung sehen Sie hier: Tracing-Bild von parallelen Agents

Sequenzieller Agent

Sequenzieller Agent

Sequenziellen Workflow-Agenten auswählen Wählen Sie im Drop-down-Menü oben auf der Benutzeroberfläche b1_sequential_agent aus.

👉 Test-Prompt:

Find a good sushi near Standford and tell me how to get there.

Sie können b1_sequential_agent hier auswählen: Bild mit Ablaufverfolgung sequenzieller Agenten

Die Ablaufverfolgung sehen Sie hier: Tracing-Bild von sequential_agent

Schleifen-Agent

Loop Agent

Schleifen-Workflow-Agenten auswählen Wählen Sie im Drop-down-Menü oben auf der Benutzeroberfläche b3_loop_agent aus.

👉 Test-Prompt:

Plan a trip from Sunnyvale to San Francisco today.

Sie können b3_loop_agent hier auswählen: Bild von Loop-Agenten

Die Ablaufverfolgung sehen Sie hier: Bild von Loop-Agenten

5. Sitzung 3: Benutzerdefinierter Agent

Wenn die ADK Web-Benutzeroberfläche geöffnet ist, wählen Sie im Drop-down-Menü c_custom_agent aus.

👉 Test-Prompt:

Plan a trip from Sunnyvale to San Francisco this weekend, I love food and art. Make sure within budget of 100 dollars.

Sie können c_custom_agent hier auswählen: Tracing-Bild von Custom_Agent

Die Ablaufverfolgung sehen Sie hier: Tracing-Bild von Custom_Agent

6. Sitzung 4: Orchestrator-Muster – Routing-Agent

Router-Agent

Wenn die ADK Web-Benutzeroberfläche geöffnet ist, wählen Sie im Drop-down-Menü d_routing_agent aus.

👉 Test-Prompt:

Plan a trip from Sunnyvale to San Francisco this weekend, I love concert, restaurant and museum.

Sie können d_routing_agent hier auswählen: Bild von Routing-Agents

Die Ablaufverfolgung sehen Sie hier: Bild von Routing-Agents

7. Sitzung 5: Agent als Tool

Wenn die ADK Web-Benutzeroberfläche geöffnet ist, wählen Sie im Drop-down-Menü e_agent_as_tool aus.

👉 Test-Prompt:

Plan a trip from Sunnyvale to San Francisco this weekend, I love concert, restaurant and museum.

Sie können e_agent_as_tool hier auswählen: Tracing-Bild von Agent als Tool

Die Ablaufverfolgung sehen Sie hier: Bild von Routing-Agents

8. Sitzung 6: Agent mit Langzeitgedächtnis

👉💻 Testen Sie Ihr Langzeitgedächtnis, indem Sie zum Ordner wechseln und den Runner verwenden, um den Agenten zu starten:

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/f_agent_with_memory
python main.py

👉 Test-Prompt:

I like Art and Italian food.

Beenden Sie dann die Sitzung, indem Sie Strg+C drücken. Starten Sie die Sitzung neu:

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/f_agent_with_memory
python main.py

👉 Test-Prompt:

Plan a trip to San Francisco based on my preference.

9. Sitzung 7: Agent mit MCP unterstützen

Schritt 1: Lokale Datenbank vorbereiten

👉💻 Erstellen Sie im Stammverzeichnis des Repositorys die Beispieldatenbank:

cd ~/adk_tutorial
source .adk_env/bin/activate
chmod +x setup_trip_database.py
./setup_trip_database.py

Dadurch wird destinations.db in ~/adk_tutorial/ erstellt.

Schritt 2: MCP Toolbox-Server installieren und ausführen

👉💻 Laden Sie die Binärdatei der MCP Toolbox für Ihr Betriebssystem herunter:

cd ~/adk_tutorial/mcp_tool_box
export VERSION=0.16.0

# Choose the line that matches your machine:
export OS=linux/amd64      # Cloud Shell or Linux (x86_64)
# export OS=darwin/arm64   # macOS Apple Silicon (M1/M2/M3)
# export OS=darwin/amd64   # macOS Intel

curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/$OS/toolbox

Sobald der Download abgeschlossen ist, führen Sie Folgendes aus:

chmod +x toolbox

Schritt 3

Führen Sie in einem Terminal den folgenden Befehl aus (lassen Sie ihn ausgeführt – der Agent stellt unter http://127.0.0.1:7001 eine Verbindung her):

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/mcp_tool_box
./toolbox --tools-file "trip_tools.yaml" --port 7001

Führen Sie in einem anderen Terminal den folgenden Befehl aus:

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/g_agents_mcp
python main.py

👉 Test-Prompts (verwenden Sie die Städte, die in der Beispieldatenbank vorhanden sind: Paris, Rom, New York oder Tokio):

What are the top-rated things to do in Tokyo?
Show me the museums in Rome.
What can I do in New York for under 25 dollars?