ADK-Crashkurs – Vom Anfänger zum Experten

1. Lerninhalte

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

Sie stehen kurz davor, in die faszinierende Welt der KI-Agents einzutauchen. Vergessen Sie einfache Chatbots, die nur Fragen beantworten. Wir arbeiten intensiv an der Agent Development Kit (ADK), um hochentwickelte, autonome Systeme zu entwickeln, die komplexe Aufgaben bewältigen können, indem sie Schlussfolgerungen ziehen, planen und Tools verwenden.

Kurs-Roadmap

Am Ende dieser Anleitung können Sie:

  • Ersten KI-Agenten erstellen: Erstellen Sie einen voll funktionsfähigen Agenten, der die Bedürfnisse eines Nutzers verstehen, Tools wie die Google Suche verwenden und detaillierte, hilfreiche Antworten generieren kann.
  • Benutzerdefinierte Tools beherrschen: Schöpfen Sie das volle Potenzial von KI-Agenten aus, indem Sie sie mit Ihren eigenen benutzerdefinierten Funktionen und APIs verbinden. Sie bringen Ihrem Agent bei, Echtzeitdaten wie aktuelle Wettervorhersagen abzurufen.
  • Multi-Agenten-Systeme erstellen: Lernen Sie das Agent-als-Tool-Muster kennen, ein revolutionäres Konzept, bei dem Agents Aufgaben an andere spezialisierte Agents delegieren und so ein Team von KI-Experten bilden, die zusammenarbeiten.
  • Komplexe Workflows orchestrieren: Gehen Sie über die einfache Delegation 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: Hier erfahren Sie, wie wichtig das Gesprächsgedächtnis ist, damit Ihre Agents Folgefragen beantworten, aus Feedback lernen und mehrstufige Aufgaben nahtlos verwalten können.

Los geht's! 🚀

2. Einrichtung: API-Schlüssel abrufen

API-Schlüssel in Google AI Studio einrichten

Für unsere KI-Agents 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 aus 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 rechts oben auf API-Schlüssel erstellen.
  4. Ein Dialogfeld mit einem Drop-down-Menü für Projekte wird geöffnet:
    • Wenn Sie bereits ein Google-Projekt erstellt haben:Wählen Sie es aus und klicken Sie auf API-Schlüssel in bestehendem Projekt erstellen.
    • Wenn NICHT in der Liste:Klicken Sie auf Projekt erstellen.

aistudio

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

✏️ An einem sicheren Ort einfügen: Sie benötigen den API-Schlüssel für die Colab-Notebooks und die ADK Web-Einrichtung (im Anhang).

Schritt 2: API-Schlüssel zu Colab hinzufügen (1 Minute)

Jedes Notebook enthält eine Einrichtungszelle, in der Ihr API-Schlüssel geladen wird. Sie haben zwei Möglichkeiten. Wählen Sie die gewünschte Option aus:

Option A: Colab-Secrets (empfohlen – Schlüssel bleibt verborgen)

  1. Klicken Sie im Colab-Notebook in der linken Seitenleiste auf das Schlüsselsymbol 🔑.
  2. Klicken Sie auf Neues Secret hinzufügen.
  3. Legen Sie als Name GOOGLE_API_KEY fest.
  4. Fügen Sie Ihren API-Schlüssel (aus Schritt 1) in das Feld Wert ein.
  5. Stellen Sie den Schalter Notebook-Zugriff auf EIN.

Colab-Secrets

Wenn Sie die Einrichtungszelle ausführen, wird der Schlüssel automatisch abgerufen:

 API key loaded from Colab Secrets.

Option B: Einfügen, wenn Sie dazu aufgefordert werden (schnell und einfach)

Wenn Sie Colab Secrets überspringen und direkt codelab1 und codelab2 ausführen, werden Sie im Notebook aufgefordert, ein Passwort einzugeben:

🔑 Enter your Google AI Studio API key: ••••••••

Fügen Sie Ihren API-Schlüssel ein und drücken Sie die Eingabetaste. Der Schlüssel wird nicht auf dem Bildschirm angezeigt.

✅ API key entered manually.

Nachdem die Zelle mit dem API-Schlüssel ausgeführt wurde, wird in der nächsten Zelle die Umgebung konfiguriert:

✅ API key configured (starts with 'AIzaSy...')
✅ Using Google AI Studio (not Vertex AI).

✅ Checkpoint:Sie sehen beide ✅-Meldungen oben im Notebook. Ihr API-Schlüssel ist konfiguriert und Sie können jetzt Agents erstellen.

3. Sitzung 1: Ersten KI-Agenten mit Runner erstellen

roadmap1

Beginnen wir mit den Grundlagen. Hier erstellen wir unseren ersten einfachen Agenten, den day_trip_agent. Dieser Agent soll einen Tagesreiseplan auf Grundlage der Anfrage eines Nutzers erstellen, einschließlich Budgetüberlegungen. In diesem Beispiel werden die drei Kernkomponenten jeder Agent-Interaktion im ADK vorgestellt:

  • KI-Agent: Das Herzstück des Dienstes. Er wird durch seine Anweisungen (seine Persönlichkeit und Mission), das KI-Modell, das er verwendet (z. B. Gemini), und die Tools definiert, auf die er zugreifen kann.
  • Sitzung: Der Speicher der Unterhaltung. Darin wird der Verlauf der Interaktionen (Nutzernachrichten und Agent-Antworten) gespeichert, um einen fortlaufenden Dialog zu ermöglichen.
  • Runner: Die Engine, die die Aufgabe ausführt. Sie nimmt den Agenten und die Sitzung entgegen, verarbeitet die neue Nutzeranfrage und orchestriert die Schritte zum Generieren einer Antwort.

➡️ Wo finde ich das im Notebook?

👉 Das entspricht den Zellen unter Teil 1: Ihr erster Agent – Der Tagesausflugs-Genie 🧞.🌟

KI-Agent liest

  • Agent-Definition: Suchen Sie nach der Funktion create_day_trip_agent(). Hier wird der Agent definiert. Beachten Sie den detaillierten Anweisungsstring. Das ist der Prompt, der dem KI-Agenten vorgibt, wie er sich verhalten soll. Außerdem erhält Bard sein erstes Tool: die Google Suche.
  • Hilfsfunktion: Hier wird die Hilfsfunktion run_agent_query() definiert. Wir verwenden dieses Tool im gesamten Notebook, um das Ausführen von Abfragen zu vereinfachen.
  • Testlauf: Die Funktion run_day_trip_genie() simuliert einen Nutzer, der nach einem „günstigen“ und „entspannten“ Tagesausflug fragt. Der Agent verwendet seine Anweisungen und das Google Suche-Tool, um geeignete Orte zu finden und eine Reiseroute im Markdown-Format zu erstellen.

➡️ Aktion: Untersuchen Sie den Anleitungsprompt für day_trip_agent. Sehen Sie, wie die Anfrage nach einer „günstigen“ Reise in der Testanfrage direkt mit der Richtlinie des Agenten „Budgetbewusst“ zusammenhängt.

4. Sitzung 2: Benutzerdefinierte Tools 🛠️

roadmap2

Die Google Suche ist zwar ein leistungsstarkes Tool, aber das wahre Potenzial von KI-Agents wird erst ausgeschöpft, wenn Sie sie mit Ihren eigenen Datenquellen, APIs oder benutzerdefinierter Logik verbinden. In diesem Abschnitt erstellen wir ein benutzerdefiniertes Tool aus einer einfachen Python-Funktion.

Der wichtigste Teil eines Funktionstools ist sein Docstring. Das ADK parst den Docstring automatisch, um zu verstehen, was das Tool macht, welche Parameter es akzeptiert (Args) und was es zurückgibt (Returns). Das Large Language Model (LLM) liest diese Beschreibung, um zu entscheiden, wann und wie das Tool verwendet werden soll.

➡️ Wo finde ich das im Notebook?

👉 Dies entspricht den Zellen unter 2.1 Das Simple FunctionTool: Eine Echtzeit-Wetter-API aufrufen. 🌟

adk tools

  • Tooldefinition: Die Funktion get_live_weather_forecast(location: str) ist das Herzstück unseres benutzerdefinierten Tools. Es nimmt einen Städtenamen entgegen, ruft die öffentliche National Weather Service API auf und gibt ein Dictionary mit der Temperatur und der Vorhersage zurück.
  • Agent-Definition: Der weather_agent wird erstellt und mit unserem neuen Tool ausgestattet, indem tools=[get_live_weather_forecast] bei der Initialisierung übergeben wird. In den Anweisungen des KI-Agenten wird explizit darauf hingewiesen, dass dieses Tool verwendet werden soll, bevor Outdoor-Aktivitäten vorgeschlagen werden.
  • Testlauf: Die Anfrage „Ich möchte in der Nähe des Bodensees wandern gehen. Wie ist das Wetter?“ löst direkt aus, dass der Agent das Tool get_live_weather_forecast verwendet, da dies in den Anweisungen erforderlich ist.

➡️ Aktion: Lesen Sie den Docstring für die Funktion get_live_weather_forecast und die Anleitung für weather_agent. Beachten Sie die direkte Beziehung zwischen den beiden.

5. Session 3: Agent als Tool 🧑🍳

roadmap3

Warum einen einzelnen, monolithischen Agenten erstellen, wenn Sie ein Team von Spezialisten erstellen können? Das Agent-as-a-Tool-Muster ist eine leistungsstarke Methode zum Erstellen komplexer Systeme, in denen ein primärer Agent, der oft als Orchestrator oder Router bezeichnet wird, Aufgaben an andere, fokussiertere Agents delegiert.

Mit diesem Muster können Sie modulare, wiederverwendbare Agents erstellen. Sie können beispielsweise einen KI-Agenten haben, der sich mit Datenbankabfragen auskennt, einen anderen, der sich mit kreativem Schreiben auskennt, und einen dritten, der als freundlicher Concierge fungiert. Die Aufgabe des Orchestrators besteht darin, die Anfrage des Nutzers zu verstehen und an den richtigen Spezialisten weiterzuleiten.

➡️ Wo finde ich das im Notebook?

👉 Das entspricht den Zellen unter 2.2 Der KI-Agent als Tool: Einen Spezialisten konsultieren 🧑🍳.🌟

Fahrtdaten

In diesem Beispiel wird ein komplexes, mehrschichtiges Agentsystem erstellt:

  • Die Spezialisten
      :
    • food_critic_agent: Ein hochspezialisierter Agent, der nur Restaurantvorschläge macht.
    • db_agent: Ein Mock-Agent, der vorgibt, eine Datenbank nach Hotelinformationen abzufragen.
    • concierge_agent: Ein Agent auf mittlerer Ebene, der als höflicher Concierge fungiert. Wichtig ist, dass food_critic_agent ein eigenes Tool ist.
  • Orchestrator (trip_data_concierge_agent): Dies ist der Agent der obersten Ebene, mit dem der Nutzer interagiert. Die Anleitung macht ihn zu einem „Master-Reiseplaner“. Er hat zwei Tools, mit denen die anderen KI-Agents aufgerufen werden:
    • call_db_agent: Eine Funktion, die db_agent aufruft.
    • call_concierge_agent: Eine Funktion, die concierge_agent aufruft.
  • Der Ablauf: Der Testlauf in run_trip_data_concierge() demonstriert die vollständige Delegierungskette.
    • Ein Nutzer fragt den Orchestrator nach einem Hotel und einem nahe gelegenen Restaurant.
    • Der Orchestrator wird angewiesen, zuerst das Tool call_db_agent zu verwenden, um Hoteldaten abzurufen.
    • Der Orchestrator verwendet dann das call_concierge_agent-Tool, um eine Empfehlung zu erhalten.
    • Die concierge_agent verwendet nach Erhalt der Anfrage ihr eigenes Tool, die food_critic_agent, um eine Restaurantidee zu erhalten.

Die Antwort des Restaurantkritikers wird an den Concierge zurückgegeben, der sie höflich formatiert und an den Orchestrator zurücksendet, der sie schließlich dem Nutzer präsentiert.

➡️ Aktion: Verfolgen Sie den Ausführungsablauf im Testlauf unter run_trip_data_concierge(). Beobachten Sie, wie die TOOL CALLED-Ausdrucke die Delegationskette vom Orchestrator bis zu den Spezialisten zeigen. Dies ist eine sequenzielle Befehlskette.

6. Session 4: Gemerkte Informationen von KI-Agenten 🧠

roadmap4

Ein wirklich intelligenter Agent muss mehr können, als nur auf einmalige Anfragen zu reagieren. Sie muss sich an die Unterhaltung erinnern, den Kontext verstehen und sich an Feedback anpassen. Dies wird durch eine ordnungsgemäße Sitzungsverwaltung erreicht. Ein „Loop-Agent“ ist ein Agent, der sich in einer kontinuierlichen Konversationsschleife befindet, die durch seinen Speicher unterstützt wird.

Wenn Sie dasselbe Sitzungsobjekt für mehrere aufeinanderfolgende Anfragen verwenden, kann der Agent den gesamten Verlauf der Unterhaltung „sehen“. So kann es Folgefragen beantworten, sich auf Grundlage von Feedback selbst korrigieren und mehrstufige Aufgaben planen.

➡️ Wo finde ich das im Notebook?

👉 Das entspricht den Zellen unter Teil 3: Agent mit Memory – Der adaptive Planer 🗺️. 🌟

Arbeitsspeicher des KI-Agenten

  • Agent-Definition: Die Funktion create_multi_day_trip_agent() definiert einen Agenten, der eine Reise schrittweise plant. Die Anleitung betont, dass der Kontext berücksichtigt, Feedback verarbeitet und der Tag einzeln geplant werden soll.

Szenario 3a: Agent MIT Memory (✅)

Dieser Test wird in der Funktion run_adaptive_memory_demonstration() ausgeführt.

  • Es wird ein einzelnes trip_session erstellt und für drei aufeinanderfolgende Züge wiederverwendet.
  • 1. Turn: Der Nutzer initiiert einen 2‑Tages-Reiseplan.
  • 2. Aufforderung: Der Nutzer gibt Feedback („Ich bin kein großer Fan von Schlössern“). Da der Kundenservicemitarbeiter sich an Runde 1 erinnert, weiß er, welcher Teil des Plans geändert werden muss, und kann eine Alternative anbieten.
  • 3. Zug: Der Nutzer bestätigt die Änderung und fragt nach dem nächsten Schritt. Der Agent erinnert sich an alles und plant Tag 2.

Szenario 3b: Agent OHNE Memory (❌)

Dieser Test wird in der Funktion run_memory_failure_demonstration() ausgeführt.

Dies zeigt, wie wichtig die Sitzungsverwaltung ist, da hier ein Fehler absichtlich gemacht wird. Für jede Antwort wird eine neue Sitzung erstellt.

  • Runde 1: Der Nutzer startet die Fahrt in session_one. Der Agent antwortet richtig.
  • Runde 2: Der Nutzer bittet darum, Tag 2 zu planen, aber die Anfrage wird in einer brandneuen Sitzung 2 gesendet. Da diese neue Sitzung keinen Verlauf hat, ist der Agent verwirrt. Es hat Amnesie! Es weiß nicht, welche Reise geplant wird.

Aktion: Vergleiche die Antworten des Kundenservicemitarbeiters in run_adaptive_memory_demonstration() und run_memory_failure_demonstration(). Das ist das wichtigste Konzept im Notebook: Für eine fortlaufende Unterhaltung ist eine fortlaufende Sitzung erforderlich.

7. Session 5: Der Router-Agent 🚏

roadmap5

Ein einzelner Kundenservicemitarbeiter kann nur eine begrenzte Anzahl von Anfragen bearbeiten. Für wirklich komplexe Nutzeranfragen benötigen wir ein Team von spezialisierten Kundenservicemitarbeitern. Woher wissen wir aber, welcher Agent für eine bestimmte Anfrage verwendet werden soll? Hier kommt der Router-Agent ins Spiel.

Der Router-Agent fungiert als „Master“-Agent oder Disponent. Seine einzige Aufgabe besteht darin, eine eingehende Nutzeranfrage zu analysieren und zu entscheiden, welcher Spezialisten-Agent (oder Workflow von Agents) am besten für die Aufgabe geeignet ist. Er beantwortet die Anfrage nicht selbst, sondern leitet sie einfach an den richtigen Downstream-Agenten weiter.

Eine Anfrage zu „bestes Sushi“ sollte beispielsweise an einen foodie_agent weitergeleitet werden, während eine Frage zu „Konzerte an diesem Wochenende“ von einem weekend_guide_agent beantwortet werden sollte.

➡️ Wo finde ich das im Notebook?

👉 Dieses Konzept ist für das gesamte Notebook von zentraler Bedeutung, wird aber zuerst in Teil 1: Multi-Agent Mayhem – Sequenzielle Workflows 🧠→🤖→🤖 🌟 eingeführt.

Router-Agent

  • Agentendefinitionen: In der Codezelle werden mehrere spezialisierte Agents (day_trip_agent, foodie_agent, transportation_agent) und vor allem der router_agent definiert. Achten Sie genau auf den Anweisungsprompt für den „router_agent“. Er wird explizit angewiesen, nur den Namen des besten Agenten für die Aufgabe zurückzugeben.
  • Ausführungslogik: Die Funktion „run_sequential_app“ zeigt, wie zuerst der Router-Agent aufgerufen wird, um eine Entscheidung (chosen_route) zu erhalten, und diese Entscheidung dann in einem if/elif-Block verwendet wird, um den entsprechenden Spezialisten-Agent auszuführen.

8. Session 6: SequentialAgent ⛓️

roadmap6

Für einige Aufgaben sind mehrere Schritte in einer bestimmten Reihenfolge erforderlich. Zum Beispiel: „Suche das beste Sushi-Restaurant in Palo Alto und sage mir dann, wie ich dorthin komme.“ Der Prozess besteht aus zwei Schritten: Zuerst muss das Restaurant gefunden und dann eine Wegbeschreibung abgerufen werden.

Das ADK bietet mit dem SequentialAgent eine einfache und leistungsstarke Möglichkeit, dies zu verwalten. Dies ist ein spezieller Workflow-Agent, der eine Liste von untergeordneten Agenten in einer vordefinierten Reihenfolge ausführt.

Der Zauber liegt im gemeinsamen Status. Die Ausgabe eines Agents in der Sequenz kann automatisch in einem gemeinsamen Status-Dictionary gespeichert und dann als Eingabe für den nächsten Agent verwendet werden. So ist kein komplexer manueller Code erforderlich, um Informationen zwischen den Schritten zu übergeben.

➡️ Wo finde ich das im Notebook?

👉 Das wird in Teil 2 (The ADK Way): Multi-Agent Mayhem with SequentialAgent 🧠→⛓️→🤖 behandelt. 🌟

Sequenzieller Agent

  • Agent-Refactoring:In der ersten Codezelle dieses Abschnitts sehen Sie die wichtigsten Änderungen an foodie_agent und transportation_agent:
    • foodie_agent hat jetzt eine output_key="destination". Damit wird dem ADK mitgeteilt, dass die endgültige Antwort in einer Variablen namens destination im freigegebenen Status gespeichert werden soll.
    • transportation_agent hat jetzt den Platzhalter {destination} in seinem Anweisungsprompt. Das ADK fügt den Wert aus dem freigegebenen Status automatisch in diesen Platzhalter ein.
  • Workflow definieren: Der find_and_navigate_agent wird als SequentialAgent definiert, wobei die untergeordneten Agents auf [foodie_agent, transportation_agent] festgelegt sind, damit sie in genau dieser Reihenfolge ausgeführt werden.
  • Vereinfachte Ausführung: Sehen Sie sich die Funktion run_sequential_app in diesem Abschnitt an. Die komplexe if/elif-Logik ist verschwunden. Die find_and_navigate_agent wird jetzt als einzelne, aufrufbare Einheit behandelt und das ADK übernimmt die internen sequenziellen Schritte automatisch.

9. Sitzung 7: LoopAgent 🔁

roadmap7

Nicht alle Probleme lassen sich mit einer einfachen Lösung beheben. Manchmal müssen wir eine Lösung vorschlagen, sie kritisieren und verfeinern, bis sie einer bestimmten Einschränkung entspricht.

Dafür bietet das ADK die LoopAgent. Dieser Workflow-Agent führt eine Sequenz von Sub-Agents wiederholt aus, bis eine bestimmte Bedingung erfüllt ist. Das ist ideal für die Entwicklung von „perfektionistischen“ Agenten, die ihre eigene Arbeit planen, kritisieren und verbessern können.

Das Diagramm zeigt, wie Planner Agent zuerst einen Plan erstellt. Dann geben wir die LoopAgent ein. Die Critic Agent prüft den Plan. Wenn sie fehlerhaft ist, erstellt die Refiner Agent eine neue Version und der Vorgang wird wiederholt. Wenn der Plan gut ist, ruft Refiner Agent das Tool exit_loop auf und der endgültige, validierte Plan wird zurückgegeben.

Loop Agent

➡️ Wo finde ich das im Notebook?

👉 Das wird unter Iterative Ideen mit LoopAgent 🧠→🔁→🤖 beschrieben. 🌟

  • Die Core Agents: Der Workflow verwendet planner_agent, critic_agent und refiner_agent.
  • Schleifendefinition: refinement_loop ist als LoopAgent definiert, der critic_agent, refiner_agent und sets max_iterations=3 orchestriert.
  • Die Exit-Bedingung: Die Schleife wird beendet, wenn critic_agent den Plan genehmigt. Daraufhin ruft refiner_agent das benutzerdefinierte Tool exit_loop auf.

10. Session 8: ParallelAgent ⚡️

roadmap8

Effizienz ist entscheidend. Wenn ein Nutzer mehrere, nicht zusammenhängende Informationen gleichzeitig anfordert, wäre es langsam, diese Suchanfragen einzeln auszuführen.

Die Lösung ist ParallelAgent. Dieser Workflow-Agent führt eine Liste von Sub-Agents gleichzeitig aus. Sobald alle parallelen Aufgaben abgeschlossen sind, können ihre Ergebnisse zusammengeführt und in einer einzigen, umfassenden Antwort zusammengefasst werden.

In diesem Diagramm wird gezeigt, wie die ParallelAgent eine einzelne Anfrage entgegennimmt und die Arbeit in drei parallele Pfade aufteilt. museum_finder, concert_finder und restaurant_finder werden gleichzeitig ausgeführt. Sobald alle drei abgeschlossen sind, werden ihre individuellen Ergebnisse (im freigegebenen Status gespeichert) zusammengeführt und an den endgültigen Synthesis Agent übergeben, der sie zu einer Antwort kombiniert.

➡️ Wo finde ich das im Notebook?

👉 Dieser Workflow wird im Abschnitt Parallele Verarbeitung mit ParallelAgent 🧠→⚡️→🤖🤖🤖 beschrieben. 🌟

Parallel Agent

  • Spezialisierte Agents: Es sind drei spezialisierte Agents definiert, die jeweils einen eindeutigen „output_key“ haben (z.B. „museum_result“).
  • Der parallele Workflow: Der parallel_research_agent wird als ParallelAgent definiert, wobei die drei Finder-Agents als seine sub_agents aufgeführt sind.
  • Syntheseschritt: Nach dem parallelen Schritt erfasst ein finaler „synthesis_agent“ alle Ergebnisse aus dem gemeinsamen Status mithilfe von Platzhaltern ({museum_result}, {concert_result} usw.), um eine übersichtliche Zusammenfassung zu erstellen.

11. Anhang: ADK Web – 🍎 Für Mac/Linux

roadmap9

In diesem Leitfaden erfahren Sie, wie Sie den ADK-Agenten zur Planung von Tagesausflügen auf Ihrem lokalen Computer einrichten und ausführen.

Vorbereitung

  • Python 3.8 oder höher
    • Python 3.9+: Installiert google-adk==1.5.0 (neueste Version mit allen Funktionen)
    • Python 3.8: Installiert google-adk==0.3.0 (kompatible Version)
  • Google AI Studio-API-Schlüssel (aus dem Einrichtungsabschnitt oben)
  • Internetverbindung

Schritt 1: Repository klonen

Öffnen Sie das Terminal und führen Sie Folgendes aus:

git clone https://github.com/cuppibla/ADK_Basic.git
cd ADK_Basic

Schritt 2: Virtuelle Umgebung einrichten und Abhängigkeiten installieren

Option A: Automatische Einrichtung (empfohlen)

# Run the setup script
chmod +x setup_venv.sh
./setup_venv.sh

Option B: Manuelle Einrichtung

# Create virtual environment
python3 -m venv .adk_env

# Activate virtual environment
source .adk_env/bin/activate

# Install dependencies
pip install --upgrade pip
pip install -r requirements.txt

Schritt 3: 🔥 WICHTIG – Umgebungsvariablen erstellen

⚠️ Diesen Schritt nicht überspringen! Erstellen Sie im Verzeichnis agent/ eine Datei .env:

# Create the .env file
touch agent/.env

# Open it in your default text editor
open agent/.env

Fügen Sie der Datei die folgenden Zeilen hinzu:

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 dem Schritt Einrichtung: API-Schlüssel abrufen.

Schritt 4: Virtuelle Umgebung aktivieren (falls noch nicht aktiv)

source .adk_env/bin/activate

Am Anfang der Eingabeaufforderung des Terminals sollte (.adk_env) angezeigt werden.

Schritt 5: ADK-Weboberfläche ausführen

adk web

Schritt 6: Browser öffnen

  1. Öffnen Sie Ihren Browser und rufen Sie die im Terminal angezeigte URL auf (in der Regel http://localhost:8000).
  2. Wählen Sie links oben im Drop-down-Menü agent aus.
  3. Chatten Sie mit dem KI-Agenten für die Tagesausflugsplanung.

Sie sehen dann etwa Folgendes: Beispiel für eine ADK-Web-UI

Umgebung deaktivieren

Wenn Sie die Arbeit am Projekt abgeschlossen haben:

deactivate

Dieser Befehl funktioniert auf Mac/Linux und Windows gleich. Das Präfix (.adk_env) wird nicht mehr im Terminal-Prompt angezeigt.

Fehlerbehebung auf dem Mac

  • Python nicht gefunden: Verwenden Sie python3 anstelle von python.
  • Berechtigung verweigert: Führen Sie chmod +x setup_venv.sh aus, bevor Sie das Skript ausführen.

12. Anhang: ADK Web – 🪟 Für Windows-Nutzer

roadmap9

In diesem Leitfaden erfahren Sie, wie Sie den ADK-Agenten zur Planung von Tagesausflügen auf Ihrem lokalen Computer einrichten und ausführen.

Vorbereitung

  • Python 3.8 oder höher
    • Python 3.9+: Installiert google-adk==1.5.0 (neueste Version mit allen Funktionen)
    • Python 3.8: Installiert google-adk==0.3.0 (kompatible Version)
  • Google AI Studio-API-Schlüssel (aus dem Einrichtungsabschnitt oben)
  • Internetverbindung

Schritt 1: Repository klonen

Öffnen Sie die Eingabeaufforderung oder PowerShell und führen Sie Folgendes aus:

git clone https://github.com/cuppibla/ADK_Basic.git
cd ADK_Basic

Schritt 2: Virtuelle Umgebung einrichten und Abhängigkeiten installieren

Option A: Automatische Einrichtung (empfohlen)

# Run the setup script in Command Prompt
setup_venv.bat

Option B: Manuelle Einrichtung

Für die Eingabeaufforderung:

# Create virtual environment
python -m venv .adk_env

# Activate virtual environment
.adk_env\Scripts\activate

# Install dependencies
pip install --upgrade pip
pip install -r requirements.txt

Für PowerShell:

# Create virtual environment
python -m venv .adk_env

# Activate virtual environment
.adk_env\Scripts\Activate.ps1

# Install dependencies
pip install --upgrade pip
pip install -r requirements.txt

Schritt 3: 🔥 WICHTIG – Umgebungsvariablen erstellen

⚠️ Diesen Schritt nicht überspringen! Erstellen Sie im Verzeichnis agent/ eine Datei .env:

# Create the .env file
type nul > agent\.env

# Open it in Notepad
notepad agent\.env

Fügen Sie der Datei die folgenden Zeilen hinzu:

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 dem Schritt Einrichtung: API-Schlüssel abrufen.

Schritt 4: Virtuelle Umgebung aktivieren (falls noch nicht aktiv)

Eingabeaufforderung:

.adk_env\Scripts\activate

PowerShell:

.adk_env\Scripts\Activate.ps1

Am Anfang Ihres Prompts sollte (.adk_env) angezeigt werden.

Schritt 5: ADK-Weboberfläche ausführen

adk web

Schritt 6: Browser öffnen

  1. Öffnen Sie Ihren Browser und rufen Sie die im Terminal angezeigte URL auf (in der Regel http://localhost:8000).
  2. Wählen Sie links oben im Drop-down-Menü agent aus.
  3. Chatten Sie mit dem KI-Agenten für die Tagesausflugsplanung.

Fehlerbehebung unter Windows

  • PowerShell-Fehler bei der Ausführungsrichtlinie: Führen Sie Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser aus.

Sie sehen dann etwa Folgendes: Beispiel für eine ADK-Web-UI

Umgebung deaktivieren

Wenn Sie die Arbeit am Projekt abgeschlossen haben:

deactivate

Dieser Befehl funktioniert auf Mac/Linux und Windows gleich. Das Präfix (.adk_env) wird nicht mehr im Terminal-Prompt angezeigt.