ADK Agentic Pattern mit Memory & MCP

1. Lerninhalte

Willkommen bei der ADK Master Class – Ihr Einstieg in Multi-Agent-Systeme

Sie sind dabei, in die spannende Welt der KI-Agenten einzutauchen. Vergessen Sie einfache Chatbots, die nur Fragen beantworten. Wir nutzen Agent Development Kit (ADK), um hochentwickelte, autonome Systeme zu entwickeln, die in der Lage sind, komplexe Aufgaben zu bewältigen, indem sie Schlussfolgerungen ziehen, Pläne erstellen und Tools verwenden.

Coverversion

Am Ende dieser Anleitung können Sie:

  • Ersten KI-Agenten erstellen: Sie lernen, wie Sie einen voll funktionsfähigen Agenten erstellen, der die Bedürfnisse eines Nutzers verstehen, Tools wie die Google Suche verwenden und detaillierte, hilfreiche Antworten generieren kann.
  • Multi-Agent-Systeme erstellen: Lernen Sie das „Agent-as-a-Tool“-Muster 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: Gehen Sie über die einfache Delegierung hinaus und beherrschen Sie 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.
  • Agents mit Gedächtnis ausstatten: Sie erfahren, wie wichtig das Gesprächsgedächtnis ist, damit Ihre Agents Folgefragen beantworten, aus Feedback lernen und mehrstufige Aufgaben nahtlos verwalten können.
  • Mit MCP verbinden: Verbindung mit der MCP-Toolbox herstellen.

Los gehts! 🚀

2. GCP- und Gemini API-Schlüssel einrichten

GCP-Projekt und Gemini API-Schlüssel einrichten

Für unsere KI-Agents benötigen wir zwei Dinge: ein Google Cloud-Projekt als Grundlage und einen Gemini API-Schlüssel für den Zugriff auf die leistungsstarken Modelle von Google.

Schritt 1: Rechnungskonto aktivieren

  • Sie müssen Ihr Rechnungskonto mit einem Guthaben von 5 $ in Anspruch nehmen, da Sie es für die Bereitstellung benötigen. Melden Sie sich in Ihrem Gmail-Konto an.

Schritt 2: Neues GCP-Projekt erstellen

  • Rufen Sie die Google Cloud Console auf und erstellen Sie ein neues Projekt.

ein neues GCP-Konto erstellen

  • Rufen Sie die Google Cloud Console auf und erstellen Sie ein neues Projekt.
  • Öffnen Sie den linken Bereich, klicken Sie auf Billing und prüfen Sie, ob das Rechnungskonto mit diesem GCP-Konto verknüpft ist.

Rechnungskonto mit GCP-Konto verknüpfen

Wenn Sie diese Seite sehen, prüfen Sie das manage billing account, wählen Sie das Google Cloud-Probeabo aus und verknüpfen Sie es.

Schritt 3: Google Cloud-Projekt-ID finden

👉 Klicken Sie oben in der Google Cloud Console auf „Cloud Shell aktivieren“ (das Symbol oben im Cloud Shell-Bereich hat die Form eines Terminals), cloud-shell.png.

👉 Klicken Sie auf die Schaltfläche „Editor öffnen“ (sie sieht aus wie ein geöffneter Ordner mit einem Stift). Dadurch wird der Cloud Shell-Codeeditor im Fenster geöffnet. Auf der linken Seite sehen Sie einen Datei-Explorer. open-editor.png

👉 Google Cloud-Projekt-ID suchen:

  • Öffnen Sie die Google Cloud Console: Link
  • Wählen Sie oben auf der Seite im Drop-down-Menü das Projekt aus, das Sie für diesen Workshop verwenden möchten.
  • Ihre Projekt-ID wird im Dashboard auf der Karte „Projektinformationen“ angezeigt.

03-04-project-id.png

👉💻 Prüfen Sie im Terminal mit dem folgenden Befehl, ob Sie bereits authentifiziert sind und das Projekt auf Ihre Projekt-ID festgelegt ist:

gcloud auth list

👉💻 Bootstrap-Projekt von GitHub klonen:

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

👉💻 Führen Sie das Initialisierungsskript aus. Sie werden aufgefordert, Ihre Google Cloud-Projekt-ID einzugeben. Geben Sie die Google Cloud-Projekt-ID ein, die Sie im letzten Schritt ermittelt haben, wenn Sie vom setup_venv.sh-Script dazu aufgefordert werden.

cd ~/adk_tutorial
./setup_venv.sh

gcloud services enable  compute.googleapis.com \
                        artifactregistry.googleapis.com \
                        run.googleapis.com \
                        iam.googleapis.com \
                        aiplatform.googleapis.com \
                        cloudresourcemanager.googleapis.com

3. Workshop 1: Ihr erster Agent im ADK Web

So öffnen Sie ADK Web by Running:

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

Nachdem Sie die Befehle ausgeführt haben, sollte in Ihrem Terminal eine Ausgabe angezeigt werden, die darauf hinweist, dass der ADK-Webserver gestartet wurde. Sie sollte in etwa so aussehen:

+-----------------------------------------------------------------------------+
| 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)

👉 So greifen Sie über Ihren Browser auf die ADK Dev UI zu:

Wählen Sie in der Cloud Shell-Symbolleiste (normalerweise oben rechts) über das Symbol „Webvorschau“ (oft ein Auge oder ein Quadrat mit einem Pfeil) die Option „Port ändern“ aus. Legen Sie im Pop-up-Fenster den Port auf 8000 fest und klicken Sie auf Ändern und Vorschau. Cloud Shell öffnet dann einen neuen Browsertab oder ein neues Browserfenster mit der ADK Dev-Benutzeroberfläche.

webpreview

👉 Das Ritual ist abgeschlossen und der Agent wird jetzt ausgeführt. Die ADK Dev UI in Ihrem Browser ist Ihre direkte Verbindung zum Familiar.

Parallelen Workflow-Agent auswählen: Wählen Sie im Drop-down-Menü oben auf der Benutzeroberfläche den parallel_agent aus.

Sie können die single_agent hier auswählen: Bild mit der Spur einzelner Agenten

Hier können Sie den Ablauf nachvollziehen: 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

Parallel Agent

Parallelen Workflow-Agent auswählen: Wählen Sie im Drop-down-Menü oben auf der Benutzeroberfläche den parallel_agent aus.

👉 Test-Prompt:

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

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

Hier können Sie den Ablauf nachvollziehen: Tracing-Bild von parallelen Agents

Sequenzieller Agent

Sequenziellen Workflow-Agent auswählen: Wählen Sie im Drop-down-Menü oben auf der Benutzeroberfläche die Option sequential_agent aus.

👉 Test-Prompt:

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

Sie können die sequential_agent hier auswählen: Bild mit sequenziellen Agenten

Hier können Sie den Ablauf nachvollziehen: Tracing-Bild von sequential_agent

Loop-Agent

Loop-Workflow-Agent auswählen: Wählen Sie im Drop-down-Menü oben auf der Benutzeroberfläche den loop_agent aus.

👉 Test-Prompt:

Plan a trip from Sunnyvale to San Francisco today.

Sie können die loop_agent hier auswählen: Abbildung von Loop-Agents

Hier können Sie den Ablauf nachvollziehen: Abbildung von Loop-Agents

5. Sitzung 3: Benutzerdefinierter Agent

Wenn die ADK-Web-UI geöffnet ist, können Sie den Custom_Agent-Agent auswählen.

👉 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 die Custom_Agent hier auswählen: Tracing-Bild von Custom_Agent

Hier können Sie den Ablauf nachvollziehen: Tracing-Bild von Custom_Agent

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

Wenn die ADK-Web-UI geöffnet ist, können Sie das routing_agent auswählen.

👉 Test-Prompt:

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

Sie können die routing_agent hier auswählen: Abbildung von Routing-Agents

Hier können Sie den Ablauf nachvollziehen: Abbildung von Routing-Agents

7. Session 5: Agent als Tool

Wenn die ADK-Web-UI geöffnet ist, können Sie den Agent_as_tool-Agent auswählen.

👉 Test-Prompt:

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

Sie können die agent_as_tool hier auswählen: Bild von einem KI-Agenten als Tool

Hier können Sie den Ablauf nachvollziehen: Abbildung von Routing-Agents

8. Session 6: Agent mit Langzeitgedächtnis

👉💻 Testen Sie Ihr Langzeitgedächtnis, indem Sie den Ordner aufrufen und den Runner verwenden, um den Agent zu aktivieren:

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: Agenten mit MCP ausstatten

Schritt 1: Lokale Datenbank vorbereiten

👉💻 Führen Sie im Terminal den folgenden Befehl aus:

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

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

👉💻 Führen Sie im Terminal den folgenden Befehl aus:

cd ~/adk_tutorial/mcp_tool_box
export VERSION=0.16.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox

Nach dem Herunterladen können Sie die Datei ausführen.

chmod +x toolbox

Schritt 3

In einem Terminal führen Sie den folgenden Befehl aus:

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