Anleitung und Anforderungen für Lab-Einrichtung
Schützen Sie Ihr Konto und Ihren Fortschritt. Verwenden Sie immer den privaten Modus und Lab-Anmeldedaten, um dieses Lab auszuführen.

Erstellung von Multi-Agent-Systemen mit dem ADK

Lab 1 Stunde 30 Minuten universal_currency_alt 5 Guthabenpunkte show_chart Fortgeschrittene
info Dieses Lab kann KI-Tools enthalten, die den Lernprozess unterstützen.
Dieser Inhalt ist noch nicht für Mobilgeräte optimiert.
Die Lernumgebung funktioniert am besten, wenn Sie auf einem Computer über einen per E‑Mail gesendeten Link darauf zugreifen.

GENAI106

Übersicht

In diesem Lab behandeln wir die Orchestrierung von Multi-Agenten-Systemen im Google Agent Development Kit (Google ADK).

Für dieses Lab gehen wir davon aus, dass Sie mit den Grundlagen des ADK und der Verwendung von Tools aus den folgenden Labs vertraut sind:

  • Erste Schritte mit dem Google Agent Development Kit (ADK)
  • ADK-Agenten mit Tools ausstatten

Ziele

Aufgaben in diesem Lab:

  • Mehrere Agenten erstellen und sie als übergeordnete und Sub-Agenten miteinander verknüpfen.
  • Inhalte über mehrere Unterhaltungen und Agenten hinweg erstellen, indem Sie in das Zustands-Dictionary einer Sitzung schreiben.
  • Agenten anweisen, Werte aus dem Sitzungsstatus zu lesen, um sie als Kontext für ihre Antworten zu verwenden.
  • Übertragen einer Unterhaltung zwischen Agenten mithilfe von Workflow-Agenten.

Einrichtung und Anforderungen

Vor dem Klick auf "Start Lab" (Lab starten)

Lesen Sie diese Anleitung. Labs sind zeitlich begrenzt und können nicht pausiert werden. Der Timer, der mit dem Klick auf "Start Lab" (Lab starten) gestartet wird, gibt an, wie lange die Ressourcen für das Lab verfügbar sind.

In diesem praxisorientierten Qwiklabs-Lab können Sie die Lab-Aktivitäten selbst in einer echten Cloud-Umgebung durchführen, nicht in einer Simulations- oder Demo-Umgebung. Dazu erhalten Sie neue, temporäre Anmeldedaten, mit denen Sie für die Dauer des Labs auf die Google Cloud Platform zugreifen können.

Voraussetzungen

Für dieses Lab benötigen Sie Folgendes:

  • Einen Standardbrowser (empfohlen wird Chrome)
  • Genügend Zeit, um das Lab abzuschließen

Hinweis: Auch wenn Sie bereits ein eigenes GCP-Konto oder -Projekt haben, sollten Sie es nicht für das Lab verwenden.

Lab starten und bei der Google Cloud Console anmelden

  1. Klicken Sie auf Lab starten. Wenn Sie für das Lab bezahlen müssen, wird ein Dialogfeld geöffnet, in dem Sie Ihre Zahlungsmethode auswählen können. Auf der linken Seite befindet sich der Bereich „Details zum Lab“ mit diesen Informationen:

    • Schaltfläche „Google Cloud Console öffnen“
    • Restzeit
    • Temporäre Anmeldedaten für das Lab
    • Ggf. weitere Informationen für dieses Lab
  2. Klicken Sie auf Google Cloud Console öffnen (oder klicken Sie mit der rechten Maustaste und wählen Sie Link in Inkognitofenster öffnen aus, wenn Sie Chrome verwenden).

    Im Lab werden Ressourcen aktiviert. Anschließend wird ein weiterer Tab mit der Seite „Anmelden“ geöffnet.

    Tipp: Ordnen Sie die Tabs nebeneinander in separaten Fenstern an.

    Hinweis: Wird das Dialogfeld Konto auswählen angezeigt, klicken Sie auf Anderes Konto verwenden.
  3. Kopieren Sie bei Bedarf den folgenden Nutzernamen und fügen Sie ihn in das Dialogfeld Anmelden ein.

    {{{user_0.username | "Username"}}}

    Sie finden den Nutzernamen auch im Bereich „Details zum Lab“.

  4. Klicken Sie auf Weiter.

  5. Kopieren Sie das folgende Passwort und fügen Sie es in das Dialogfeld Willkommen ein.

    {{{user_0.password | "Password"}}}

    Sie finden das Passwort auch im Bereich „Details zum Lab“.

  6. Klicken Sie auf Weiter.

    Wichtig: Sie müssen die für das Lab bereitgestellten Anmeldedaten verwenden. Nutzen Sie nicht die Anmeldedaten Ihres Google Cloud-Kontos. Hinweis: Wenn Sie Ihr eigenes Google Cloud-Konto für dieses Lab nutzen, können zusätzliche Kosten anfallen.
  7. Klicken Sie sich durch die nachfolgenden Seiten:

    • Akzeptieren Sie die Nutzungsbedingungen.
    • Fügen Sie keine Wiederherstellungsoptionen oder Zwei-Faktor-Authentifizierung hinzu (da dies nur ein temporäres Konto ist).
    • Melden Sie sich nicht für kostenlose Testversionen an.

Nach wenigen Augenblicken wird die Google Cloud Console in diesem Tab geöffnet.

Hinweis: Wenn Sie auf Google Cloud-Produkte und ‑Dienste zugreifen möchten, klicken Sie auf das Navigationsmenü oder geben Sie den Namen des Produkts oder Dienstes in das Feld Suchen ein. Symbol für das Navigationsmenü und Suchfeld

Multi-Agenten-Systeme

Mit dem Agent Development Kit können Entwickler generative Modelle mit zuverlässigeren, anspruchsvolleren und mehrstufigen Verhaltensweisen ausstatten. Anstatt lange, komplexe Prompts zu verfassen, die möglicherweise keine zuverlässigen Ergebnisse liefern, können Sie einen Flow aus mehreren einfachen Agenten erstellen, die bei komplexen Problemen zusammenarbeiten, indem sie Aufgaben und Verantwortlichkeiten aufteilen.

Dieser architektonische Ansatz hat klare Vorteile:

  • Einfacheres Design: Sie benötigen lediglich Agenten mit bestimmten Aufgaben und Fähigkeiten.
  • Spezifische Funktionen mit zuverlässigerer Leistung: Spezialisierte Agenten können aus klaren Beispielen lernen und so ihre Zuverlässigkeit bei bestimmten Aufgaben verbessern.
  • Organisation: Die Unterteilung des Workflows in separate Agenten sorgt für bessere Übersicht und lässt sich gedanklich leichter nachvollziehen.
  • Verbesserungs- und Wartungsfreundlichkeit: Es ist einfacher, eine spezialisierte Komponente zu verbessern oder zu korrigieren, als Änderungen an einem komplexen Agenten vorzunehmen, die zwar ein Verhalten korrigieren, aber dafür andere beeinträchtigen könnten.
  • Modularität: Einzelne Agenten aus einem Workflow lassen sich einfach kopieren und in andere ähnliche Workflows einfügen.

Der hierarchische KI-Agenten-Baum

Baumstruktur mit hierarchischen KI-Agenten

Im Agent Development Kit organisieren Sie Ihre Agenten in einer baumartigen Struktur. Dies schränkt die Optionen zur Übertragung für jeden Agenten im Baum ein. Auf diese Weise ist es einfacher, die möglichen Wege zu steuern und vorherzusagen, die eine Unterhaltung durch den Baum nehmen kann. Vorteile der hierarchischen Struktur:

  • Sie orientiert sich an realen Teams und erleichtert so das Design und die Analyse des Verhaltens des Multi-Agenten-Systems.
  • Sie ist intuitiv für Entwickler, da sie gängigen Mustern der Softwareentwicklung entspricht.
  • Sie bietet mehr Kontrolle über den Informationsfluss und die Aufgabendelegierung im System, was es einfacher macht, mögliche Pfade zu verstehen und das System zu debuggen. Wenn ein System beispielsweise an verschiedenen Stellen des Flows jeweils einen Agenten zum Generieren von Berichten mit ähnlichen Beschreibungen hat, lässt sich durch die Baumstruktur leichter sicherstellen, dass der richtige Agent aufgerufen wird.

Die Struktur beginnt immer mit dem Agenten, der in der Variablen root_agent definiert ist. Er wird Nutzern möglicherweise unter anderem Namen angezeigt. Der root_agent fungiert als übergeordnetes Element für einen oder mehrere Sub-Agenten. Jeder Sub-Agent kann eigene Sub-Agenten haben.

Aufgabe 1. ADK installieren und ihre Umgebung einrichten

In dieser Lab-Umgebung ist die Vertex AI API für Sie aktiviert. Um diese Schritte in Ihrem eigenen Projekt auszuführen, aktivieren Sie die API, indem Sie zu Vertex AI wechseln und der Aufforderung zum Aktivieren folgen.

Bereiten Sie einen Tab im Cloud Shell-Editor vor

  1. Wählen Sie das Google Cloud Console-Fenster aus und öffnen Sie die Cloud Shell, indem Sie auf der Tastatur die Taste „G“ und dann die Taste „S“ drücken. Alternativ können Sie rechts oben in der Cloud Console auf „Cloud Shell aktivieren“ (Cloud Shell aktivieren) klicken.
  2. Klicken Sie auf Weiter.
  3. Wenn Sie zur Autorisierung der Cloud Shell aufgefordert werden, klicken Sie auf Autorisieren.
  4. Klicken Sie oben rechts im Cloud Shell-Terminalbereich auf In neuem Fenster öffnen Button „In neuem Fenster öffnen“.
  5. Klicken Sie oben im Bereich auf das Stiftsymbol Editor öffnen (Stiftsymbol zum Bearbeiten), um die Dateien aufzurufen.
  6. Klicken Sie oben im Navigationsmenü auf der linken Seite auf das Explorer-Symbol (Explorer-Symbol), um den Datei-Explorer zu öffnen.
  7. Klicken Sie auf Ordner öffnen.
  8. Klicken Sie im Dialogfeld „Ordner öffnen“ auf Ok, um den Basisordner Ihres Qwiklabs-Teilnehmerkontos auszuwählen.
  9. Schließen Sie alle zusätzlichen Tutorials oder Gemini-Felder, die auf der rechten Seite des Bildschirms angezeigt werden, damit mehr Platz für den Code-Editor bleibt.
  10. Im weiteren Verlauf dieses Labs dient dieses Fenster als Ihr IDE für das Arbeiten im Cloud Shell-Editor und im Cloud Shell-Terminal.

ADK und Codebeispiele für dieses Lab herunterladen und installieren

  1. Fügen Sie die folgenden Befehle in das Cloud Shell-Terminal ein, um Codedateien aus einem Cloud Storage-Bucket für dieses Lab zu kopieren:

    gcloud storage cp -r gs://{{{project_0.project_id| YOUR_GCP_PROJECT_ID}}}-bucket/adk_multiagent_systems .
  2. Aktualisieren Sie die Umgebungsvariable PATH, installieren Sie das ADK und zusätzliche Lab-Anforderungen, indem Sie die folgenden Befehle im Cloud Shell-Terminal ausführen.

    export PATH=$PATH:"/home/${USER}/.local/bin" python3 -m pip install google-adk -r adk_multiagent_systems/requirements.txt

Aufgabe 2. Übertragungen zwischen übergeordneten, Sub- und gleichrangigen Agenten

Die Unterhaltung beginnt immer mit dem Agenten, der als Variable root_agent definiert ist.

Standardmäßig analysiert ein übergeordneter Agent die Beschreibung jedes Sub-Agenten und entscheidet, ob die Steuerung der Unterhaltung an einen Sub-Agenten übertragen werden soll.

Sie können diese Übertragungen in den Anweisungen des übergeordneten Agenten steuern, indem Sie die untergeordneten Agenten mit ihrem Namen referenzieren (d. h. mit den Werten ihres name-Parameters, nicht mit ihren Variablennamen). Beispiel ansehen und testen:

  1. Führen Sie im Cloud Shell-Terminal den folgenden Befehl aus, um eine .env-Datei zu erstellen, mit der der Agent im Verzeichnis parent_and_subagents authentifiziert wird.

    cd ~/adk_multiagent_systems cat << EOF > parent_and_subagents/.env GOOGLE_GENAI_USE_VERTEXAI=TRUE GOOGLE_CLOUD_PROJECT={{{project_0.project_id| YOUR_GCP_PROJECT_ID}}} GOOGLE_CLOUD_LOCATION=global MODEL={{{project_0.startup_script.gemini_flash_model_id | gemini_flash_model_id}}} EOF
  2. Führen Sie den folgenden Befehl aus, um die Datei .env in das Verzeichnis workflow_agents zu kopieren, das Sie später im Lab verwenden werden:

    cp parent_and_subagents/.env workflow_agents/.env
  3. Öffnen Sie im Explorer-Bereich des Cloud Shell-Editors das Verzeichnis adk_multiagent_systems/parent_and_subagents.

  4. Klicken Sie auf die Datei agent.py, um sie zu öffnen.

Tipp: Da in Python unsere untergeordneten Agenten definiert werden müssen, bevor wir sie einem Agenten hinzufügen können, sollten Sie eine agent.py-Datei in der Reihenfolge des Unterhaltungsablaufs von unten nach oben lesen.
  1. Beachten Sie, dass es hier drei Agenten gibt:

    • Ein root_agent mit dem Namen steering (der Name wird verwendet, um ihn in der Entwickler-UI und den Befehlszeilenschnittstellen des ADK zu identifizieren). Der Nutzer wird gefragt, ob er weiß, wohin er reisen möchte, oder ob er Hilfe bei der Entscheidung benötigt. Anhand der Antwort des Nutzers kann der Steuerungs-Agent entscheiden, an welchen seiner beiden untergeordneten Agenten die Unterhaltung übergeben werden soll. Wie Sie sehen, braucht es nur eine einfache Anweisung, in der die untergeordneten Agenten nicht einmal erwähnt werden. Die Beschreibungen der untergeordneten Agenten sind dem steuernden Agenten jedoch bekannt.
    • ein travel_brainstormer, der dem Nutzer hilft, Reiseziele zu finden, wenn er nicht weiß, wohin er reisen möchte.
    • ein attractions_planner, mit dem der Nutzer eine Liste mit Aktivitäten erstellen kann, sobald er weiß, welches Land er besuchen möchte.
  2. Machen Sie travel_brainstormer und attractions_planner zu untergeordneten Agenten von root_agent, indem Sie beim Erstellen von root_agent die folgende Zeile hinzufügen:

    sub_agents=[travel_brainstormer, attractions_planner]
  3. Speichern Sie die Datei.

  4. Beachten Sie, dass den untergeordneten Agenten hier keine entsprechenden parent-Parameter hinzugefügt werden. Der hierarchische Baum wird einzig durch die Angabe von sub_agents beim Erstellen von übergeordneten Agenten definiert.

  5. Führen Sie im Cloud Shell-Terminal den folgenden Befehl aus, um über die ADK-Befehlszeile mit Ihrem Agenten zu chatten:

    cd ~/adk_multiagent_systems adk run parent_and_subagents
  6. Wenn Sie den Prompt [user]: sehen, begrüßen Sie den Agenten mit:

    Hallo

    Beispielausgabe (Ihre Ausgabe kann abweichen):

    Nutzer: Hallo [steering]: Guten Tag! Hast du schon ein Land für deine Reise im Sinn oder möchtest du Hilfe bei der Entscheidung, wohin es gehen soll?
  7. Antworten Sie dem Agenten:

    Ich könnte bei der Entscheidung etwas Hilfe gebrauchen.

    Beispielausgabe (Ihre Ausgabe kann abweichen):

    Nutzer: Ich könnte bei der Entscheidung etwas Hilfe gebrauchen. [travel_brainstormer]: Okay! Damit ich dir die besten Empfehlungen geben kann, muss ich wissen, was du dir von einer Reise wünschst. ...
  8. Anhand des Namens [travel_brainstormer] in Klammern in der Antwort sehen Sie, dass der root_agent (mit dem Namen [steering]) die Unterhaltung basierend auf der Beschreibung des entsprechenden Sub-Agenten an diesen übergeben hat.

  9. Geben Sie beim Prompt user: die Aufforderung exit ein, um die Unterhaltung zu beenden.

  10. Sie können Ihrem Agenten im Rahmen seiner Anweisungen auch genauere Vorgaben dazu machen, wann er an einen Sub-Agenten übergeben soll. Fügen Sie in der Datei agent.py der Anweisung des root_agent die folgenden Zeilen hinzu:

    Wenn sie Hilfe bei der Entscheidung benötigen, verweise sie an 'travel_brainstormer'. Wenn sie wissen, welches Land sie besuchen möchten, übergebe an den 'attractions_planner'.
  11. Speichern Sie die Datei.

  12. Führen Sie im Cloud Shell-Terminal den folgenden Befehl aus, um die Befehlszeile neu zu starten:

    adk run parent_and_subagents
  13. Begrüßen Sie den Agent mit:

    Hallo
  14. Antworten Sie auf die Begrüßung des Agenten mit:

    Ich möchte nach Japan reisen.

    Beispielausgabe (Ihre Ausgabe kann abweichen):

    Nutzer: Ich möchte nach Japan reisen. [attractions_planner]: Alles klar! Ich kann dir dabei behilflich sein. Hier sind einige beliebte Attraktionen in Japan: * **Tokio:** * Asakusa-Schrein (Sensō-ji) * Shibuya Crossing * Tokyo Skytree * **Kyoto:** ...
  15. Wie Sie sehen, wurde hier an den anderen Sub-Agenten attractions_planner übergeben.

  16. Antworten Sie:

    Ich weiß eigentlich nicht, welches Land ich besuchen soll.

    Beispielausgabe (Ihre Ausgabe kann abweichen):

    Nutzer: Ich weiß eigentlich nicht, welches Land ich besuchen soll. [travel_brainstormer]: Kein Problem! Ich kann dir helfen, einige Länder für eine Reise zu finden…
  17. Sie wurden nun an den Agenten travel_brainstormer weitergeleitet, der ein gleichrangiger Agent des Agenten attractions_planner ist. Das ist standardmäßig zulässig. Wenn Sie Übertragungen an gleichrangige (Peer-)Agenten verhindern möchten, können Sie im attractions_planner-Agenten den Parameter disallow_transfer_to_peers auf True setzen.

  18. Geben Sie mit der Eingabeaufforderung exit ein, um die Sitzung zu beenden.

Schritt-für-Schritt-Muster: Wenn Sie einen Agenten benötigen, der den Nutzer Schritt für Schritt durch einen Prozess führt, kann es sinnvoll sein, den ersten Schritt als root_agent festzulegen und den Agenten des zweiten Schritts als einzigen Sub-Agent. Fahren Sie dann so fort, dass in jedem weiteren Schritt der einzige untergeordnete Agent des jeweils vorherigen Agenten übernimmt.

Klicken Sie auf Fortschritt prüfen. Übertragungen zwischen übergeordneten, Sub- und gleichrangigen Agenten

Aufgabe 3. Verwendung des Sitzungsstatus zum Speichern und Abrufen von Informationen

Jede Unterhaltung im ADK findet in einer Sitzung (Session) statt, auf die alle an der Unterhaltung beteiligten Agenten zugreifen können. Eine Sitzung umfasst den Unterhaltungsverlauf, den Agenten als Teil des Kontexts lesen, der zum Generieren einer Antwort verwendet wird. Die Sitzung umfasst außerdem ein Sitzungsstatus-Dictionary, mit dem Sie die wichtigsten Informationen, die Sie hervorheben möchten, und den Zugriff darauf besser steuern können.

Das kann besonders hilfreich sein, um Informationen zwischen Agenten weiterzugeben oder eine einfache Datenstruktur wie eine Liste von Aufgaben im Laufe einer Unterhaltung mit einem Nutzer beizubehalten.

So fügen Sie dem Status etwas hinzu und lesen daraus:

  1. Kehren Sie zur Datei adk_multiagent_systems/parent_and_subagents/agent.py zurück.

  2. Fügen Sie nach dem Header # Tools die folgende Funktionsdefinition ein:

    def save_attractions_to_state( tool_context: ToolContext, attractions: List[str] ) -> dict[str, str]: """Speichert eine Liste von Sehenswürdigkeiten im Status["attractions"]. Args: attractions [str]: a list of strings to add to the list of attractions Returns: None """ # Lädt bestehende Sehenswürdigkeiten aus dem Status. If none exist, start an empty list existing_attractions = tool_context.state.get("attractions", []) # Aktualisiert den Schlüssel 'attractions' mit einer Kombination aus alten und neuen Listen. # Bei Ausführung des Tools erstellt ADK ein Ereignis und # entsprechende Updates im Sitzungsstatus. tool_context.state["attractions"] = existing_attractions + attractions # Eine bewährte Vorgehensweise für Tools besteht darin, eine Statusmeldung in einer Rückgabe zurückzugeben. return {"status": "success"}
  3. In diesem Code ist Folgendes von Interesse:

    • Die Sitzung wird als ToolContext an Ihre Tool-Funktion übergeben. Sie müssen lediglich einen Parameter zuweisen, damit sie auch übernommen werden kann, wie hier mit dem Parameter tool_context gezeigt. Anschließend können Sie mit tool_context auf Sitzungsinformationen wie den Unterhaltungsverlauf (über tool_context.events) und das Sitzungsstatus-Dictionary (über tool_context.state) zugreifen. Wird das tool_context.state-Dictionary von Ihrer Tool-Funktion geändert, werden diese Änderungen nach Ausführung des Tools im Sitzungsstatus berücksichtigt.
    • Der Docstring enthält eine klare Beschreibung und Abschnitte für Argument- und Return-Werte.
    • Der kommentierte Funktionscode zeigt, wie einfach es ist, das Status-Dictionary zu aktualisieren.
  4. Fügen Sie das Tool dem Agenten attractions_planner hinzu, indem Sie beim Erstellen des Agenten den Parameter tools ergänzen:

    tools=[save_attractions_to_state]
  5. Fügen Sie der vorhandenen Anweisung des Agenten attractions_planner die folgenden Aufzählungspunkte hinzu:

    - Wenn der Nutzer antwortet, kann Ihr Tool die ausgewählte Sehenswürdigkeit speichern und dann weitere Sehenswürdigkeiten vorschlagen. – Wenn der Nutzer die Liste anschauen möchte, erstelle eine Aufzählungsliste mit { attractions? } und mache dann weitere Vorschläge.
  6. Beachten Sie den Abschnitt in geschweiften Klammern: { attractions? }. Mit dieser ADK-Funktion, key templating, wird der Wert des Schlüssels attractions aus dem Status-Dictionary geladen. Das Fragezeichen nach dem Schlüssel attractions verhindert, dass ein Fehler ausgegeben wird, wenn das Feld noch nicht vorhanden ist.

  7. Sie führen den Agenten jetzt über die Weboberfläche aus. Dort finden Sie einen Tab, in dem Sie die Änderungen am Sitzungsstatus sehen können. Starten Sie die Web-Benutzeroberfläche des Agent Development Kit mit dem folgenden Befehl:

    adk web

    Ausgabe

    INFO: Started server process [2434] INFO: Waiting for application startup. +-------------------------------------------------------+ | ADK Web Server started | | | | For local testing, access at http://localhost:8000. | +-------------------------------------------------------+ INFO: Application startup complete. INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
  8. Klicken Sie in der Terminalausgabe auf den Link http://127.0.0.1:8000, um die Weboberfläche in einem neuen Tab aufzurufen.

  9. Es öffnet sich ein neuer Browsertab mit der ADK Dev-Benutzeroberfläche.

  10. Wählen Sie im Drop-down-Menü KI-Agent auswählen auf der linken Seite den Agenten parent_and_subagents aus.

  11. Beginnen Sie die Unterhaltung mit Hallo.

  12. Nachdem der Agent Sie begrüßt hat, antworten Sie mit:

    Ich möchte nach Ägypten reisen.

    Sie sollten an den attractions_planner weitergeleitet werden und eine Liste mit Sehenswürdigkeiten erhalten.

  13. Wählen Sie eine Sehenswürdigkeit aus, z. B.:

    Ich möchte zur Sphinx.
  14. Sie sollten in der Antwort eine Bestätigung erhalten, z. B. Alles klar, ich habe die Sphinx in deiner Liste gespeichert. Hier sind einige weitere Sehenswürdigkeiten…

  15. Klicken Sie auf die Antwort-Toolbox (mit einem Häkchen markiert), um das Ereignis aufzurufen, der aus der Antwort des Tools erstellt wurde. Wie Sie sehen, enthält es das Feld actions mit state_delta, das die Änderungen am Status beschreibt.

  16. Sie sollten vom Agenten aufgefordert werden, weitere Sehenswürdigkeiten auszuwählen. Antworten Sie dem Agenten, indem Sie eine der von ihm angebotenen Optionen nennen.

  17. Klicken Sie im Navigationsmenü auf der linken Seite auf das „X“, um den Fokus auf das zuvor untersuchte Ereignis zu beenden.

  18. In der Seitenleiste sollten Sie jetzt die Liste der Ereignisse und einige Tab-Optionen sehen. Wählen Sie den Tab Status aus. Hier sehen Sie den aktuellen Status, einschließlich des attractions-Arrays mit den beiden angeforderten Werten.

    Vorschau des Sitzungsstatus in der Web-Benutzeroberfläche

  19. Senden Sie dem Agenten die folgende Nachricht:

    Was steht auf meiner Liste?
  20. Die Liste sollte gemäß der Anweisung als Aufzählungsliste formatiert zurückgegeben werden.

  21. Wenn Sie mit dem Testen des Agenten fertig sind, schließen Sie den Browser-Tab und drücken Sie im Cloud Shell-Terminal STRG + C, um den Server zu beenden.

    Später in diesem Lab werden wir sehen, wie der Status für die Kommunikation zwischen Agenten verwendet wird.

Klicken Sie auf Fortschritt prüfen. Verwendung des Sitzungsstatus zum Speichern und Abrufen von Informationen

Wenn Sie nicht nur einzelne Informationen, sondern die gesamte Textantwort Ihres Agenten im Status-Dictionary speichern möchten, können Sie beim Definieren des Agenten den Parameter output_key festlegen. Die gesamte Ausgabe wird dann unter diesem Feldnamen im Status-Dictionary gespeichert.

Workflow-Agenten

Übertragungen vom übergeordneten an den Sub-Agenten sind ideal, wenn Sie mehrere spezialisierte Sub-Agenten haben und der Nutzer mit jedem von ihnen interagieren soll.

Wenn Sie möchten, dass Agenten nacheinander agieren, ohne auf eine Antwort des Nutzers zu warten, können Sie Workflow-Agenten verwenden. Hier einige Beispiele für Szenarien, in denen Sie Workflow-Agenten verwenden können:

  • Planen und ausführen: Wenn Sie einen Agenten eine Liste von Elementen erstellen lassen und diese Liste dann von anderen Agenten für Folgeaufgaben verwenden lassen möchten, z. B. zum Schreiben von Abschnitten eines Dokuments
  • Recherchieren und schreiben: Wenn Sie möchten, dass ein Agent Funktionen aufruft, um Kontextinformationen aus der Google Suche oder anderen Datenquellen zu erfassen, und ein anderer Agent diese Informationen verwendet, um eine Ausgabe zu generieren.
  • Entwürfe erstellen und überarbeiten: Wenn Sie einen Agent einen Dokumententwurf erstellen lassen, der von anderen Agenten geprüft und iteriert werden soll

Für solche Aufgaben nutzen Workflow-Agenten Sub-Agenten und sorgen dafür, dass diese aktiv werden. Das Agent Development Kit bietet drei integrierte Workflow-Agenten und die Möglichkeit, eigene zu definieren:

  • SequentialAgent
  • LoopAgent
  • ParallelAgent

Im weiteren Verlauf dieses Labs erstellen Sie ein System, das mehrere LLM-Agenten, Workflow-Agenten und Tools verwendet, um den Workflow des Agenten zu steuern.

Konkret erstellen Sie einen Agenten, der ein Konzept für einen neuen Kinohit entwickelt: einen biografischen Film über das Leben einer historischen Figur. Ihre untergeordneten Agenten übernehmen die Recherche, einen iterativen Schreibzyklus mit einem Drehbuchautor und einem Kritiker. Schließlich helfen einige zusätzliche untergeordnete Agenten beim Brainstorming von Casting-Ideen und verwenden historische Daten für Vorhersagen zu den Einspielergebnissen.

Am Ende sieht Ihr Multi-Agenten-System so aus (klicken Sie auf das Bild, um es zu vergrößern):

Diagramm des Multi-Agenten-Systems film_concept_team

Wir beginnen jedoch mit einer einfacheren Version.

Aufgabe 4: Multi-Agenten-System mit einem SequentialAgent erstellen

Der SequentialAgent führt seine Sub-Agenten in einer linearen Abfolge aus. Jeder untergeordnete Agent in der Liste sub_agents wird nacheinander in der Reihenfolge ausgeführt, in der er definiert ist.

Das ist ideal für Workflows, in denen Aufgaben in einer bestimmten Reihenfolge ausgeführt werden müssen und die Ausgabe einer Aufgabe als Eingabe für die nächste dient.

In dieser Aufgabe führen Sie einen SequentialAgent aus, um eine erste Version Ihres Multi-Agenten-Systems für die Entwicklung von Filmkonzepten zu erstellen. Der erste Entwurf Ihres Agenten ist so strukturiert:

Schritt 1 für das Multi-Agenten-System film_concept_team

  • Ein root_agent namens greeter, um den Nutzer zu begrüßen und eine historische Figur als Filmsubjekt anzufordern.

  • Ein SequentialAgent mit dem Namen film_concept_team enthält Folgendes:

    • Ein researcher, um mehr über die angeforderte historische Figur aus Wikipedia zu erfahren. Dazu wird ein LangChain-Tool verwendet, das im Lab ADK-Agenten mit Tools ausstatten behandelt wird. Ein Agent kann sein(e) Tool(s) mehrmals hintereinander aufrufen. Der Researcher kann also mehrere Durchläufe ausführen, wenn er mehr Informationen benötigt.
    • Ein screenwriter, der die Rechercheergebnisse in den Plotentwurf für ein Drehbuch einfließen lässt.
    • Ein file_writer, um dem resultierenden Film einen Titel zu geben und die Ergebnisse der Sequenz in eine Datei zu schreiben.
  1. Öffnen Sie im Cloud Shell-Editor das Verzeichnis adk_multiagent_systems/workflow_agents.

  2. Klicken Sie im Verzeichnis workflow_agents auf die Datei agent.py.

  3. Lesen Sie diese Agenten-Definitionsdatei. Da untergeordnete Agenten definiert werden müssen, bevor sie einem übergeordneten Agenten zugewiesen werden können, können Sie die Agenten von unten nach oben lesen, um die Datei in der Reihenfolge des Unterhaltungsablaufs zu lesen.

  4. Außerdem gibt es das Funktionstool append_to_state. Mit dieser Funktion können Agenten, die mit dem Tool ausgestattet sind, einem Dictionary-Wert im Status bestimmte Inhalte hinzufügen. Das ist besonders nützlich für Agenten, die ein Tool mehrmals aufrufen oder in mehreren Durchläufen eines LoopAgent agieren, damit ihre Ausgabe jedes Mal gespeichert wird.

  5. Testen Sie die aktuelle Version des Agenten, indem Sie die Weboberfläche über das Cloud Shell-Terminal starten. Mit dem Argument --reload_agents aktivieren Sie die Live-Aktualisierung von Agenten basierend auf Agenten-Änderungen:

    cd ~/adk_multiagent_systems adk web --reload_agents Hinweis: Wenn Sie Ihre vorherige adk web-Sitzung nicht beendet haben, ist der Standardport 8000 blockiert. Sie können die Entwickler-UI jedoch mit einem neuen Port starten, indem Sie beispielsweise adk web --port 8001 verwenden.
  6. Klicken Sie in der Terminalausgabe auf den Link http://127.0.0.1:8000, um die Weboberfläche in einem neuen Tab aufzurufen.

  7. Es öffnet sich ein neuer Browsertab mit der ADK Dev-Benutzeroberfläche.

  8. Wählen Sie links im Drop-down-Menü Agent auswählen die Option workflow_agents aus.

  9. Beginnen Sie die Unterhaltung mit Hallo. Es kann einen Moment dauern, bis der Agent antwortet. Er sollte Sie dann auffordern, den Namen einer historischen Person einzugeben, um die Filminhaltsgenerierung zu starten.

  10. Wenn Sie aufgefordert werden, eine historische Persönlichkeit einzugeben, können Sie eine solche frei wählen oder eines der folgenden Beispiele verwenden:

    • Zhang Zhongjing – ein renommierter chinesischer Arzt aus dem 2. Jahrhundert n. Chr.
    • Ada Lovelace – eine englische Mathematikerin und Schriftstellerin, die für ihre Arbeit an frühen Computern bekannt ist
    • Marcus Aurelius – ein römischer Kaiser, bekannt für seine philosophischen Schriften.
  11. Der Agent sollte nun seine Agenten nacheinander aufrufen, während er den Workflow ausführt, und die Datei mit dem Plotentwurf in das Verzeichnis ~/adk_multiagent_systems/movie_pitches schreiben. Sie sollten eine Benachrichtigung erhalten, sobald die Datei in den Speicher geschrieben wurde.

    Wenn der Agent nicht meldet, dass er eine Datei für Sie erstellt hat, oder Sie eine andere historische Figur ausprobieren möchten, können Sie rechts oben auf + Neue Sitzung klicken und es noch einmal versuchen.

  12. Sehen Sie sich die Ausgabe des Agenten im Cloud Shell-Editor an. Möglicherweise müssen Sie im Menü des Cloud Shell-Editors „Ansicht“ > „Zeilenumbruch“ aktivieren, um den vollständigen Text ohne viel horizontales Scrollen zu sehen.

  13. Klicken Sie in der ADK Dev-Benutzeroberfläche auf eines der Agenten-Symbole (agent_icon) für eine wechselseitige Unterhaltung um die Ereignisansicht aufzurufen.

  14. In der Ereignisansicht wird der Baum der in dieser Sitzung verwendeten Agenten und Tools dargestellt. Möglicherweise müssen Sie im Ereignisbereich scrollen, um das vollständige Diagramm zu sehen.

ADK-Netzdiagramm

  1. Zusätzlich zur Diagrammansicht können Sie im Tab Anfrage des Ereignisses die Informationen aufrufen, die dieser Agent im Rahmen seiner Anfrage erhalten hat, einschließlich des Unterhaltungsverlaufs.
  2. Sie können auch im Tab Antwort des Ereignisses nachsehen, was der Agent zurückgegeben hat.
Hinweis: Dieses System kann zwar interessante Ergebnisse liefern, es soll aber nicht bedeuten, dass Anweisungen so kurz sein oder Beispiele weggelassen werden können. Die Zuverlässigkeit des Systems kann von der zusätzlichen Ebene enorm profitieren, die durch das Hinzufügen eng definierter Anweisungen und Beispiele für jeden Agenten entsteht.

Klicken Sie auf Fortschritt prüfen. Multi-Agenten-System mit einem SequentialAgent erstellen

Aufgabe 5. Hinzufügen eines LoopAgent für iterative Arbeit

Der LoopAgent führt seine untergeordneten Agenten in einer definierten Reihenfolge aus und beginnt dann wieder am Anfang der Sequenz, ohne auf eine Nutzereingabe zu warten. Die Schleife wird wiederholt, bis eine bestimmte Anzahl von Iterationen erreicht ist oder einer der untergeordneten Agenten die Schleife beendet (in der Regel durch Aufrufen des integrierten Tools exit_loop).

Das ist für solche Aufgaben von Vorteil, die eine kontinuierliche Optimierung, Überwachung oder zyklische Workflows erfordern. Hier einige Beispiele:

  • Iterative Optimierung: Ein Dokument oder ein Plan wird durch wiederholte Agenten-Zyklen kontinuierlich verbessert.
  • Kontinuierliche Überwachung: Datenquellen oder Bedingungen werden regelmäßig durch eine Reihe von Agenten überprüft.
  • Debatte oder Verhandlung: Simulieren einer iterativen Diskussion zwischen Agenten, um besseres Ergebnis zu erzielen.

Als nächstes fügen Sie Ihrem Agenten für Filmvorschläge einen LoopAgent hinzu, um beim Erstellen der Geschichte mehrere Durchläufe mit Recherche und Iteration anzuweisen. So kann ein Nutzer nicht nur das Skript verfeinern, sondern auch mit einer weniger spezifischen Eingabe beginnen: Anstatt eine bestimmte historische Persönlichkeit vorzuschlagen, weiß er vielleicht nur, dass er eine Geschichte über einen Arzt aus dem Altertum möchte. Durch einen iterativen Forschungs- und Schreibprozess können die Agenten einen geeigneten Kandidaten ermitteln und dann an der Geschichte arbeiten.

Schritt 2 für das Multi-Agenten-System film_concept_team

Der überarbeitete Agent befolgt den folgenden Ablauf:

  • Der root_agent greeter bleibt unverändert.
  • Der SequentialAgent film_concept_team besteht jetzt aus:
    • Der LoopAgent writers_room startet die Sequenz. Sie besteht aus:
      • Der researcher (Researcher) bleibt derselbe wie bisher.
      • Der screenwriter (Drehbuchautor) bleibt ähnlich wie zuvor.
      • Ein critic (Kritiker), der kritisches Feedback zum aktuellen Entwurf gibt, um die nächste Schleife aus Recherche und Verbesserung anzustoßen.
    • Ist die Schleife beendet, wird die Steuerung des Gesprächs wieder an den SequentialAgent film_concept_team übergeben, der die Steuerung dann an den nächsten Agenten in der Sequenz weiterleitet: den file_writer, der wie zuvor dem Film einen Titel gibt und die Ergebnisse der Sequenz in eine Datei schreibt.

So nehmen Sie diese Änderungen vor:

  1. Fügen Sie in der Datei adk_multiagent_systems/workflow_agents/agent.py diesen Tool-Import hinzu, um einem Agenten die Möglichkeit zu geben, die Schleife bei Bedarf zu verlassen:

    from google.adk.tools import exit_loop
  2. Um zu bestimmen, wann die Schleife beendet werden soll, fügen Sie diesen critic-Agenten (Kritiker) hinzu, um zu entscheiden, wann der Plotentwurf fertig ist. Fügen Sie den folgenden neuen Agenten in die Datei agent.py unter der Überschrift # Agents ein (ohne die vorhandenen Agenten zu überschreiben). Beachten Sie, dass exit_loop eines der Tools ist und Anleitungen dazu enthält, wann es verwendet werden sollte:

    critic = Agent( name="critic", model=model_name, description="Überprüft die Handlungsbeschreibung kritisch, damit sie verbessert werden kann.", instruction=""" INSTRUCTIONS: Bedenke hinsichtlich der PLOT_OUTLINE die folgenden Fragen: - Folgt die Struktur einer idealen filmischen Unterteilung in drei Akte? – Müssen die Charaktere spannende Herausforderungen meistern? – Wirkt die zeitliche Verortung in einer bestimmten historischen Epoche überzeugend? – Werden historische Details aus der RECHERCHE ausreichend berücksichtigt? Wenn der PLOT_OUTLINE diese Fragen zufriedenstellend beantworten kann, beende den Schreibzyklus mit dem Tool „exit_loop“. Wenn noch Raum für erhebliche Verbesserungen ist, verwende das Tool „append_to_state“, um dein Feedback dem Feld „CRITICAL_FEEDBACK“ hinzuzufügen. Erläutere deine Entscheidung und fasse das Feedback, das du abgegeben hast, kurz zusammen. PLOT_OUTLINE: { PLOT_OUTLINE? } RESEARCH: { research? } """, before_model_callback=log_query_to_model, after_model_callback=log_model_response, tools=[append_to_state, exit_loop] )
  3. Erstellen Sie einen neuen LoopAgent namens writers_room, der den iterativen Ablauf von Rechercheur (researcher), Drehbuchautor (screenwriter) und Kritiker (critic) erstellt. Jeder Durchlauf der Schleife endet mit einer kritischen Überprüfung der bisherigen Arbeit, die zu Verbesserungen für die nächste Runde führt. Fügen Sie über dem vorhandenen SequentialAgent film_concept_team Folgendes ein.

    writers_room = LoopAgent( name="writers_room", description="Durch wiederholtes Recherchieren und Schreiben soll die Handlungsstruktur eines Films verbessert werden.", sub_agents=[ researcher, screenwriter, critic ], max_iterations=5, )
  4. Beim Erstellen des LoopAgent wird ein Parameter für max_iterations festgelegt. Er definiert, wie oft die Schleife durchlaufen wird, bevor sie endet. Auch wenn Sie die Schleife auf andere Weise unterbrechen möchten, ist es ratsam, die Gesamtzahl der Iterationen zu begrenzen.

  5. Aktualisieren Sie den SequentialAgent film_concept_team, um researcher und screenwriter durch den soeben erstellten LoopAgent writers_room zu ersetzen. Der Agent file_writer sollte am Ende der Sequenz bleiben. Das film_concept_team sollte jetzt so aussehen:

    film_concept_team = SequentialAgent( name="film_concept_team", description="Verfasse eine Handlungsbeschreibung und speichere sie als Textdatei.", sub_agents=[ writers_room, file_writer ], )
  6. Kehren Sie zum Tab der ADK Dev-Benutzeroberfläche zurück und klicken Sie rechts oben auf + Neue Sitzung, um eine neue Sitzung zu starten.

  7. Beginnen Sie eine neue Unterhaltung mit: Hallo

  8. Wenn Sie aufgefordert werden, eine historische Persönlichkeit auszuwählen, wählen Sie eine aus, die Sie interessiert. Hier sind ein paar Ideen:

    • ein Industriedesigner, der Produkte für die breite Masse entworfen hat
    • ein Kartograf
    • der Typ, der dafür gesorgt hat, dass Pflanzen mehr Nahrung liefern
  9. Nachdem Sie einen Charaktertyp ausgewählt haben, sollte der Agent die Schleife durchlaufen, dem Film schlussendlich einen Titel geben und die Zusammenfassung in eine Datei schreiben.

  10. Sehen Sie sich die generierte Datei im Cloud Shell-Editor an. Sie sollte im Verzeichnis adk_multiagent_systems/movie_pitches gespeichert sein. (Möglicherweise müssen Sie noch im Menü des Editors noch einmal Ansicht > Zeilenumbruch aktivieren, damit der gesamte Text ohne viel horizontales Scrollen angezeigt wird.)

Klicken Sie auf Fortschritt prüfen. Hinzufügen eines LoopAgent für iterative Arbeit

Aufgabe 6. Berichterstellung mit einem ParallelAgent nach dem „Fan-Out- und Gather“-Muster

Mit dem ParallelAgent können die zugehörigen Sub-Agenten gleichzeitig ausgeführt werden. Jeder untergeordnete Agent arbeitet in seinem eigenen Zweig. Standardmäßig teilen diese Agenten während der parallelen Ausführung weder einen Unterhaltungsverlauf noch einen Status direkt miteinander.

Das ist nützlich für Aufgaben, die in unabhängige Unteraufgaben unterteilbar sind, die gleichzeitig verarbeitet werden können. Mit einem ParallelAgent lässt sich die Gesamtausführungszeit für solche Aufgaben erheblich verkürzen.

In diesem Lab fügen Sie Ihrem Vorschlag für einen neuen Film einige zusätzliche Berichte hinzu, darunter eine Analyse der potenziellen Einspielergebnisse und erste Ideen zur Besetzung.

Schritt 3 für das Multi-Agenten-System film_concept_team

Der überarbeitete Agent befolgt den folgenden Ablauf:

  • Der Greeter bleibt unverändert.
  • Der SequentialAgent film_concept_team besteht jetzt aus:
    • Dem LoopAgent writers_room, der unverändert bleibt und Folgendes umfasst:
      • den researcher-Agenten
      • den screenwriter-Agenten
      • den critic-Agenten
    • Ihr neuer ParallelAgent preproduction_team wird dann aktiv und besteht aus:
      • Einem box_office_researcher-Agenten, der anhand von historischen Einspielergebnissen einen Bericht zum potenziellen Umsatz dieses Films an den Kinokassen erstellt.
      • Einem casting_agent-Agenten, der basierend auf Schauspielern, die in ähnlichen Filmen mitgewirkt haben, erste Ideen für das Casting generiert.
    • Dem file_writer, der wie bisher die Ergebnisse der Sequenz in eine Datei schreibt.

Dieses Beispiel umfasst viel kreative Arbeit, die im Normalfall von menschlichen Teams erledigt wird. Dennoch veranschaulicht dieser Workflow, wie eine komplexe Kette von Aufgaben auf mehrere untergeordnete Agenten aufgeteilt werden kann, um komplexe Dokumente zu entwerfen, die dann von menschlichen Teammitgliedern bearbeitet und verbessert werden können.

  1. Fügen Sie die folgenden neuen Agenten und den ParallelAgent in Ihre Datei workflow_agents/agent.py unter der Überschrift # Agents ein:

    box_office_researcher = Agent( name="box_office_researcher", model=model_name, description="Prognostiziert mögliche Einspielergebnisse dieses Films an den Kinokassen", instruction=""" PLOT_OUTLINE: { PLOT_OUTLINE? } INSTRUCTIONS: Schreibe einen Bericht über das Einspielpotenzial eines Films, der wie in PLOT_OUTLINE beschrieben ist, basierend auf den gemeldeten Einspielergebnissen anderer aktueller Filme. """, output_key="box_office_report" ) casting_agent = Agent( name="casting_agent", model=model_name, description="Generiert Casting-Ideen für diesen Film", instruction=""" PLOT_OUTLINE: { PLOT_OUTLINE? } INSTRUCTIONS: Generiere Ideen für die Besetzung der in PLOT_OUTLINE beschriebenen Charaktere, indem du Schauspieler vorschlägst, die von Kritikern und/oder Fans positives Feedback für ähnliche Rollen erhalten haben. """, output_key="casting_report" ) preproduction_team = ParallelAgent( name="preproduction_team", sub_agents=[ box_office_researcher, casting_agent ] )
  2. Aktualisieren Sie die Liste sub_agents des vorhandenen Agenten film_concept_team, sodass sie zwischen writers_room und file_writer jetzt auch preproduction_team enthält:

    film_concept_team = SequentialAgent( name="film_concept_team", description="Verfasse eine Handlungsbeschreibung und speichere sie als Textdatei.", sub_agents=[ writers_room, preproduction_team, file_writer ], )
  3. Aktualisieren Sie die Anweisung von file_writer so:

    INSTRUCTIONS: - Erstelle einen marktfähigen, zeitgemäßen Filmtitelvorschlag für den im PLOT_OUTLINE beschriebenen Film. Wenn im PLOT_OUTLINE ein Titel vorgeschlagen wurde, kannst du ihn verwenden oder durch einen besseren ersetzen. – Verwende das Tool 'write_file', um eine neue TXT-Datei mit den folgenden Argumenten zu erstellen: – Verwende als Dateiname den Filmtitel. – Schreibe in das Verzeichnis 'movie_pitches'. – Für den zu schreibenden 'Inhalt' sind folgende Elemente erforderlich: – PLOT_OUTLINE – BOX_OFFICE_REPORT – CASTING_REPORT PLOT_OUTLINE: { PLOT_OUTLINE? } BOX_OFFICE_REPORT: { box_office_report? } CASTING_REPORT: { casting_report? }
  4. Speichern Sie die Datei.

  5. Klicken Sie in der ADK Dev-Benutzeroberfläche rechts oben auf + Neue Sitzung.

  6. Geben Sie Hallo ein, um die Unterhaltung zu beginnen.

  7. Geben Sie bei Aufforderung eine neue Idee für eine Figur ein, die Sie interessiert. Hier sind ein paar Ideen:

    • die Schauspielerin, die die Technologie für WLAN erfunden hat
    • ein spannender Koch
    • wichtige Akteure bei den Weltausstellungen
  8. Wenn der Agent mit dem Schreiben und der Berichterstellung fertig ist, sehen Sie sich die erstellte Datei im Verzeichnis adk_multiagent_systems/movie_pitches an. Wenn ein Teil des Prozesses fehlschlägt, klicken Sie oben rechts auf + Neue Sitzung und versuchen Sie es noch einmal.

Benutzerdefinierte Workflow-Agenten

Wenn die vordefinierten Workflow-Agenten von SequentialAgent, LoopAgent und ParallelAgent nicht Ihren Anforderungen entsprechen, bietet CustomAgent die Flexibilität, neue Workflow-Logik zu implementieren. Sie können Muster für die Ablaufsteuerung, die bedingte Ausführung oder die Statusverwaltung zwischen untergeordneten Agenten definieren. Das ist nützlich für komplexe Workflows, zustandsorientierte Orchestrierungen oder die Einbindung benutzerdefinierter Geschäftslogiken in die Orchestrierungsebene des Frameworks.

Die Erstellung eines CustomAgent wird in diesem Lab nicht behandelt, aber Sie sollten dennoch im Hinterkopf behalten, dass diese Funktion verfügbar ist, falls Sie sie benötigen.

Glückwunsch!

In diesem Lab haben Sie gelernt, mehrere Agenten zu erstellen und diese über Beziehungen zwischen übergeordneten und Sub-Agenten miteinander zu verknüpfen, den Sitzungsstatus zu ergänzen und ihn unter Verwendung von Agenten-Anweisungen auszulesen sowie Workflow-Agenten zu verwenden, um die Unterhaltung direkt zwischen Agenten zu übergeben.

Google Cloud-Schulungen und -Zertifizierungen

In unseren Schulungen erfahren Sie alles zum optimalen Einsatz unserer Google Cloud-Technologien und können sich entsprechend zertifizieren lassen. Unsere Kurse vermitteln technische Fähigkeiten und Best Practices, damit Sie möglichst schnell mit Google Cloud loslegen und Ihr Wissen fortlaufend erweitern können. Wir bieten On-Demand-, Präsenz- und virtuelle Schulungen für Anfänger wie Fortgeschrittene an, die Sie individuell in Ihrem eigenen Zeitplan absolvieren können. Mit unseren Zertifizierungen weisen Sie nach, dass Sie Experte im Bereich Google Cloud-Technologien sind.

Anleitung zuletzt am 3. Februar 2026 aktualisiert

Lab zuletzt am 3. Februar 2026 getestet

© 2023 Google LLC. Alle Rechte vorbehalten. Google und das Google-Logo sind Marken von Google LLC. Alle anderen Unternehmens- und Produktnamen können Marken der jeweils mit ihnen verbundenen Unternehmen sein.

Vorbereitung

  1. Labs erstellen ein Google Cloud-Projekt und Ressourcen für einen bestimmten Zeitraum
  2. Labs haben ein Zeitlimit und keine Pausenfunktion. Wenn Sie das Lab beenden, müssen Sie von vorne beginnen.
  3. Klicken Sie links oben auf dem Bildschirm auf Lab starten, um zu beginnen

Privates Surfen verwenden

  1. Kopieren Sie den bereitgestellten Nutzernamen und das Passwort für das Lab
  2. Klicken Sie im privaten Modus auf Konsole öffnen

In der Konsole anmelden

  1. Melden Sie sich mit Ihren Lab-Anmeldedaten an. Wenn Sie andere Anmeldedaten verwenden, kann dies zu Fehlern führen oder es fallen Kosten an.
  2. Akzeptieren Sie die Nutzungsbedingungen und überspringen Sie die Seite zur Wiederherstellung der Ressourcen
  3. Klicken Sie erst auf Lab beenden, wenn Sie das Lab abgeschlossen haben oder es neu starten möchten. Andernfalls werden Ihre bisherige Arbeit und das Projekt gelöscht.

Diese Inhalte sind derzeit nicht verfügbar

Bei Verfügbarkeit des Labs benachrichtigen wir Sie per E-Mail

Sehr gut!

Bei Verfügbarkeit kontaktieren wir Sie per E-Mail

Es ist immer nur ein Lab möglich

Bestätigen Sie, dass Sie alle vorhandenen Labs beenden und dieses Lab starten möchten

Privates Surfen für das Lab verwenden

Using an Incognito or private browser window is the best way to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.