ADK Agentic Pattern mit Memory & MCP

1. Lerninhalte

Willkommen zur ADK-Masterclass – Ihre Reise in die Welt der Multi-Agenten-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 dieses Tutorials können Sie:

  • Ihren ersten KI-Agenten erstellen: Sie beginnen bei Null und erstellen 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-Agenten-Systeme erstellen: Sie lernen das Muster "Agent-as-a-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 bearbeiten 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. GCP und Gemini API-Schlüssel einrichten

GCP-Projekt und Gemini API-Schlüssel einrichten

Für unsere KI-Agenten 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

Für dieses Codelab benötigen Sie ein Rechnungskonto mit Guthaben. Verwenden Sie das Guthaben aus dem Banner oben in diesem Codelab, um zu beginnen. Wenn Sie bereits mit einem Rechnungskonto verbunden sind, können Sie diesen Schritt überspringen.

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 die linke Seitenleiste, 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 diese Seite angezeigt wird, prüfen Sie manage billing account und wählen Sie die Google Cloud-Testversion aus, die mit dem Konto verknüpft ist.

Schritt 3: Google Cloud-Projekt-ID finden

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

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

👉 So finden Sie Ihre Google Cloud-Projekt-ID:

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

👉💻 Klonen Sie das Bootstrap-Projekt von GitHub:

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 gefunden haben, wenn Sie vom Skript setup_venv.sh 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. Sitzung 1: Ihr erster Agent in ADK Web

Öffnen Sie ADK Web mit folgendem Befehl:

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

Nachdem Sie die Befehle ausgeführt haben, sollte im Terminal eine Ausgabe angezeigt werden, die darauf hinweist, dass der ADK Web Server 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-Entwicklungsoberfläche zu:

Wählen Sie in der Cloud Shell-Symbolleiste (normalerweise oben rechts) das Symbol „Webvorschau“ aus (oft ein Auge oder ein Quadrat mit einem Pfeil) und wählen Sie „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-Entwicklungsoberfläche.

webpreview

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

Wählen Sie den Agenten für den parallelen Workflow aus. Wählen Sie im Drop-down-Menü oben auf der Benutzeroberfläche parallel_agent aus.

Hier können Sie single_agent auswählen: Tracing-Bild einzelner Agenten

Hier sehen Sie das Tracing: 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

Wählen Sie den Agenten für den parallelen Workflow aus. Wählen Sie im Drop-down-Menü oben auf der Benutzeroberfläche parallel_agent aus.

👉 Test-Prompt:

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

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

Hier sehen Sie das Tracing: Tracing-Bild von parallelen Agents

Sequenzieller Agent

Wählen Sie den Agenten für den sequenziellen Workflow aus. Wählen Sie im Drop-down-Menü oben auf der Benutzeroberfläche sequential_agent aus.

👉 Test-Prompt:

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

Hier können Sie sequential_agent auswählen: Bild mit Ablaufverfolgung sequenzieller Agenten

Hier sehen Sie das Tracing: Tracing-Bild von sequential_agent

Schleifen-Agent

Wählen Sie den Agenten für den Schleifen-Workflow aus. Wählen Sie im Drop-down-Menü oben auf der Benutzeroberfläche loop_agent aus.

👉 Test-Prompt:

Plan a trip from Sunnyvale to San Francisco today.

Hier können Sie loop_agent auswählen: Tracing-Bild von Loop-Agenten

Hier sehen Sie das Tracing: Tracing-Bild von Loop-Agenten

5. Sitzung 3: Benutzerdefinierter Agent

Sobald die ADK-Webbenutzeroberfläche geöffnet ist, können Sie den Agenten Custom_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.

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

Hier sehen Sie das Tracing: Tracing-Bild von Custom_Agent

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

Sobald die ADK-Webbenutzeroberfläche geöffnet ist, können Sie den routing_agent auswählen.

👉 Test-Prompt:

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

Hier können Sie routing_agent auswählen: Tracing-Bild von Routing-Agents

Hier sehen Sie das Tracing: Abbildung von Routing-Agents

7. Sitzung 5: Agent als Tool

Sobald die ADK-Webbenutzeroberfläche geöffnet ist, können Sie den Agenten Agent_as_tool auswählen.

👉 Test-Prompt:

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

Hier können Sie agent_as_tool auswählen: Tracing-Bild von Agent als Tool

Hier sehen Sie das Tracing: Abbildung von Routing-Agents

8. Sitzung 6: Agent mit Langzeitspeicher

👉💻 Testen Sie den Langzeitspeicher, 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

👉💻 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/mcp-toolbox-for-databases/v$VERSION/linux/amd64/toolbox

Warten Sie, bis der Download abgeschlossen ist, und führen Sie dann den folgenden Befehl aus:

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

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

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