1. Lerninhalte
Willkommen zur 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 die Agent Development Kit (ADK), um hochentwickelte, autonome Systeme zu entwickeln, die komplexe Aufgaben bewältigen können.
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 optimal nutzen: Sie können das volle Potenzial von Agenten nutzen, 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 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: 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.
- KI-Agenten mit Gedächtnis ausstatten: Hier erfahren Sie, wie wichtig das Gesprächsgedächtnis ist, damit Ihre KI-Agenten Folgefragen beantworten, aus Feedback lernen und mehrstufige Aufgaben nahtlos erledigen können.
Los geht's! 🚀
2. GCP einrichten
GCP-Projekt einrichten
Für unsere KI-Agents benötigen wir zwei Dinge: ein Google Cloud-Projekt als Grundlage und eine Projekt-ID 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 mit Ihrem Gmail-Konto an.
Schritt 2: Neues GCP-Projekt erstellen
- Rufen Sie die Google Cloud Console auf und erstellen Sie ein neues Projekt.

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

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: Projekt-ID kopieren
- Rufen Sie console.cloud.google.com auf.
- Klicken Sie oben auf der Seite auf das Drop-down-Menü zur Projektauswahl.
- Klicken Sie auf den Tab Alle, da das neue Projekt möglicherweise noch nicht unter „Letzte“ angezeigt wird.
- Wählen Sie die Projekt-ID aus, die Sie gerade erstellt haben.

3. Sitzung 1: Erster Agent mit Runner
Beginnen wir mit den Grundlagen. Hier erstellen wir unseren ersten einfachen Agenten, den day_trip_agent. Dieser Agent soll einen Tagesausflug basierend auf der Anfrage eines Nutzers erstellen, wobei auch das Budget berücksichtigt wird. In diesem Beispiel werden die drei Kernkomponenten jeder Agent-Interaktion im ADK vorgestellt:
- Agent: Das Kerngehirn des Vorgangs. Er wird durch seine Anweisungen (seine Persönlichkeit und Mission), das verwendete KI-Modell (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 🧞.🌟
- Agent-Definition: Suchen Sie nach der Funktion
create_day_trip_agent(). Hier wird der KI-Agent definiert. Beachten Sie den detaillierten Anweisungsstring. Das ist der Prompt, der dem Agenten mitteilt, 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 KI-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. Die Anfrage nach einer „günstigen“ Reise in der Testanfrage steht in direktem Zusammenhang mit der Richtlinie des Kundenservicemitarbeiters, „auf das Budget zu achten“.
4. Sitzung 2: Benutzerdefinierte Tools 🛠️
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 einfache FunctionTool: Eine Echtzeit-Wetter-API aufrufen. 🌟
- Tool-Definition: 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 für den KI-Agenten wird explizit festgelegt, 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 die Verwendung des
get_live_weather_forecast-Tools durch den Agenten aus, da dies in den Anweisungen festgelegt ist.
➡️ Aktion: Lesen Sie den Docstring für die Funktion get_live_weather_forecast und die Anleitung für weather_agent. Beachten Sie den direkten Zusammenhang zwischen den beiden.
5. Sitzung 3: Agent als Tool 🧑🍳
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?
👉 Dies entspricht den Zellen unter 2.2 Der KI-Agent als Tool: Einen Spezialisten konsultieren 🧑🍳.🌟
In diesem Beispiel wird ein komplexes, mehrschichtiges Agentensystem 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 Kundenservicemitarbeiter auf mittlerer Ebene, der als höflicher Concierge fungiert. Wichtig ist, dass
food_critic_agentals eigenes Tool verfügbar 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_agentaufruft. - call_concierge_agent: Eine Funktion, die
concierge_agentaufruft.
- call_db_agent: Eine Funktion, die
- 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_agentzu verwenden, um Hoteldaten abzurufen. - Der Orchestrator verwendet dann das
call_concierge_agent-Tool, um eine Empfehlung zu erhalten. - Die
concierge_agentverwendet nach Erhalt der Anfrage ihr eigenes Tool, diefood_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(). Beachten Sie, wie die TOOL CALLED-Ausgaben die Delegationskette vom Orchestrator bis zu den Spezialisten zeigen. Das ist eine sequenzielle Befehlskette.
6. Session 4: Agent Memory 🧠
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 angetrieben wird.
Wenn Sie dasselbe Sitzungsobjekt für mehrere aufeinanderfolgende Anfragen verwenden, kann der KI-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 Planner 🗺️. 🌟
- Agent Definition (Agent-Definition): Die Funktion
create_multi_day_trip_agent()definiert einen Agenten, der eine Reise schrittweise plant. Die Anweisungen betonen, 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_sessionerstellt und für drei aufeinanderfolgende Züge wiederverwendet. - 1. Runde: Der Nutzer initiiert einen 2‑Tages-Reiseplan.
- 2. Zug: Der Nutzer gibt Feedback („Ich bin kein großer Fan von Schlössern“). Da der Kundenservicemitarbeiter sich an Runde 1 erinnert, weiß er, welchen Teil des Plans er ändern 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, Tag 2 zu planen, aber die Anfrage wird in einer brandneuen session_two 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 durchgängige Unterhaltung ist eine durchgängige Sitzung erforderlich.
7. Session 5: Der Router-Agent 🚏
Ein einzelner Kundenservicemitarbeiter kann nur eine begrenzte Anzahl von Anfragen bearbeiten. Um wirklich komplexe Nutzeranfragen zu bearbeiten, 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 Dispatcher. Seine einzige Aufgabe besteht darin, eine eingehende Nutzeranfrage zu analysieren und zu entscheiden, welcher spezialisierte Agent (oder Workflow von Agents) am besten für die Aufgabe geeignet ist. Sie 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. Es wird jedoch erst in Teil 1: Multi-Agent Mayhem – Sequenzielle Workflows 🧠→🤖→🤖 🌟 eingeführt.
- Agent-Definitionen: In der Codezelle werden mehrere Spezial-KI-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 wie diese Entscheidung dann in einem
if/elif-Block verwendet wird, um den entsprechenden Spezialisten-Agent auszuführen.
8. Session 6: SequentialAgent ⛓️
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. 🌟
- Agent-Refactoring:In der ersten Codezelle dieses Abschnitts sehen Sie die wichtigsten Änderungen an
foodie_agentundtransportation_agent:foodie_agenthat jetzt eineoutput_key="destination". Damit wird dem ADK mitgeteilt, dass die endgültige Antwort in einer Variablen namensdestinationim freigegebenen Status gespeichert werden soll.transportation_agenthat jetzt den Platzhalter{destination}in seinem Anweisungsprompt. Das ADK fügt den Wert aus dem freigegebenen Status automatisch in diesen Platzhalter ein.
- Workflow definieren:
find_and_navigate_agentwird 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_appin diesem Abschnitt an. Die komplexeif/elif-Logik ist verschwunden. Diefind_and_navigate_agentwird jetzt als einzelne, aufrufbare Einheit behandelt und das ADK übernimmt die internen sequenziellen Schritte automatisch.
9. Sitzung 7: LoopAgent 🔁
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 Reihe von untergeordneten Agenten 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. Der 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.
➡️ Wo finde ich das im Notebook?
👉 Das wird im Hilfeartikel Iterative Ideen mit LoopAgent 🧠→🔁→🤖 beschrieben. 🌟
- Die Core Agents: Der Workflow verwendet
planner_agent,critic_agentundrefiner_agent. - Schleifendefinition:
refinement_loopist als LoopAgent definiert, dercritic_agent,refiner_agentundsets max_iterations=3orchestriert. - Die Exit-Bedingung: Die Schleife wird beendet, wenn
critic_agentden Plan genehmigt. Daraufhin ruftrefiner_agentdas benutzerdefinierte Toolexit_loopauf.
10. Session 8: ParallelAgent ⚡️
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 zusammengefasst und in einer einzigen, umfassenden Antwort zusammengeführt werden.
In diesem Diagramm ist zu sehen, wie 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 finalen 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. 🌟
- Spezialisierte Agents: Es sind drei spezialisierte Agents definiert, die jeweils einen eindeutigen „output_key“ haben (z.B. „museum_result“).
- Paralleler Workflow: Der parallel_research_agent ist als ParallelAgent definiert, wobei die drei Finder-Agents als seine sub_agents aufgeführt sind.
- Syntheseschritt: Nach dem parallelen Schritt fasst ein finaler Synthesis-Agent alle Ergebnisse aus dem freigegebenen Status mithilfe von Platzhaltern (
{museum_result},{concert_result}usw.) in einer übersichtlichen Zusammenfassung zusammen.
11. Anhang: ADK Web – 🍎 Für Mac/Linux
In diesem Leitfaden erfahren Sie, wie Sie den ADK-Agenten für die Tagesausflugsplanung auf Ihrem lokalen Computer einrichten und ausführen.
Vorbereitung
- Python 3.8 oder höher
- Python 3.9 oder höher: 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
- 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.
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
- Öffnen Sie Ihren Browser und rufen Sie die im Terminal angezeigte URL auf (in der Regel
http://localhost:8000). - Wählen Sie links oben im Drop-down-Menü
agentaus. - Chatten Sie mit dem KI-Agenten für die Tagesausflugsplanung.
Es wird ein Gespräch wie dieses angezeigt: 
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) verschwindet aus dem Terminal-Prompt.
Fehlerbehebung auf dem Mac
- Python nicht gefunden: Verwenden Sie
python3anstelle vonpython. - Berechtigung verweigert: Führen Sie
chmod +x setup_venv.shaus, bevor Sie das Skript ausführen.
12. Anhang: ADK Web – 🪟 Für Windows-Nutzer
In diesem Leitfaden erfahren Sie, wie Sie den ADK-Agenten für die Tagesausflugsplanung auf Ihrem lokalen Computer einrichten und ausführen.
Vorbereitung
- Python 3.8 oder höher
- Python 3.9 oder höher: 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
- 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.
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
- Öffnen Sie Ihren Browser und rufen Sie die im Terminal angezeigte URL auf (in der Regel
http://localhost:8000). - Wählen Sie links oben im Drop-down-Menü
agentaus. - 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 CurrentUseraus.
Es wird ein Gespräch wie dieses angezeigt: 
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) verschwindet aus dem Terminal-Prompt.