+190 XP

Gemini · Agents auf Google AI: das Agent Development Kit

Mit Googles Agent Development Kit (ADK) bauen Sie Agenten, die in einer Schleife Tools aufrufen, bis eine Aufgabe tatsächlich erledigt ist, statt eine einzige bestmögliche Antwort zu liefern und auf das Beste zu hoffen. Das Agentenkonzept kennen Sie bereits: ein Modell, das entscheiden kann zu handeln, Ergebnisse zu beobachten und erneut zu handeln. Diese Lektion zeigt, wie Google dieses Muster als Produkt umsetzt, wann sich die zusätzliche Komplexität lohnt und wie Sie einen echten Agenten ausliefern.

Was ADK eigentlich ist

ADK ist ein Open-Source-Framework, mit dem Sie Agenten in Code definieren. Python ist das ausgereifteste SDK, daneben gibt es SDKs für Java, Go und TypeScript. Es ist dasselbe Framework, das hinter Googles eigenen Agentenprodukten wie Gemini Enterprise steckt (dem Produkt, das früher Agentspace hieß). Sie definieren einen Agenten, geben ihm Tools, wählen ein Gemini-Modell, und ADK führt die Reason-Act-Observe-Schleife für Sie aus.

Die zentralen Objekte:

  • Agent: ein Modell plus Anweisungen plus eine Reihe von Tools.
  • Tool: eine Python-Funktion (oder ein eingebautes Tool wie Google Search), die der Agent aufrufen kann.
  • Runner: die Komponente, die die Schleife ausführt und Sessions und State verwaltet.

ADK ist modellflexibel, aber auf Gemini abgestimmt. Sie entwickeln lokal, testen in einer integrierten Web-UI und deployen dann auf Vertex AI Agent Engine, die verwaltete Runtime von Google Cloud für Agenten. Lokal und in Produktion läuft derselbe Code.

Wo ADK im Vergleich zu allem anderen steht

Sie haben mehrere Wege, auf Google AI „Agenten zu machen“, und das sind weniger Konkurrenten als verschiedene Flughöhen:

  • Gems in der Gemini-App: gespeicherte Personas und Anweisungen. Kein Code, keine Tool-Schleife.
  • Gemini API Function Calling: Sie verdrahten die Schleife selbst.
  • ADK: Schleife, State, Multi-Agent-Orchestrierung und Deployment werden für Sie erledigt.
  • Vertex AI Agent Engine: Hier laufen ADK-Agenten in Produktion.

Wenn das Modell nur einmal eine Funktion aufrufen soll, brauchen Sie kein ADK. Greifen Sie dazu, wenn die Aufgabe mehrstufig ist.

Wann ein Agent besser ist als ein einzelner Call

Ein einzelner Gemini-Call (auch mit Function Calling) ist das richtige Werkzeug, wenn die Arbeit aus einem Schritt besteht: diese E-Mail klassifizieren, diese Felder extrahieren, diese Antwort entwerfen. Mit dem langen Kontext und der nativen Multimodalität von Gemini schafft ein einzelner Call bereits eine Menge.

Ein Agent lohnt sich, wenn die Zahl der Schritte vorab unbekannt ist und davon abhängt, welche Zwischenergebnisse zurückkommen. Anzeichen, dass Sie diese Grenze überschritten haben:

  • Das Modell muss suchen, das Gefundene lesen und dann entscheiden, ob es erneut sucht.
  • Der Input jedes Schritts hängt vom Output des vorherigen ab.
  • Die Aufgabe erstreckt sich über mehrere Tools (Suche, dann ein Rechner, dann ein Schreibvorgang in eine Datenbank).
  • Sie möchten, dass der Agent es erneut versucht oder die Strategie wechselt, wenn ein Tool fehlschlägt.

Eine Aufgabe wie „Recherchiere dieses Thema und fasse es zusammen“ ist das klassische Beispiel. Sie können vorab nicht wissen, wie viele Suchen nötig sind, um ein Thema gut abzudecken. Das entscheidet der Agent zur Laufzeit. Genau diese dynamische, datenabhängige Schleife kann ein einzelner Call nicht leisten, und dafür gibt es ADK.

Die Kosten sind real: mehr Latenz, mehr Tokens, mehr Fehlerquellen. Nutzen Sie für die Schleife wo möglich ein Flash-Modell (schnell und günstig), reservieren Sie Pro für die Schritte, die tiefes Reasoning brauchen, und greifen Sie nie zu einem Agenten, wenn ein einzelner strukturierter Call genügt.

Ein konkreter Recherche-und-Zusammenfassungs-Agent

Bauen wir einen. Der Agent nimmt ein Thema entgegen, nutzt Grounding mit Google Search, um aktuelle Informationen zu sammeln, wiederholt das, bis er genug hat, und schreibt dann eine strukturierte Zusammenfassung.

Richten Sie zuerst die Umgebung ein. Sie brauchen das SDK und einen Gemini-API-Key aus Google AI Studio (oder Vertex-AI-Credentials, wenn Sie in die Cloud deployen).

bash
pip install google-adk
export GOOGLE_API_KEY="your-key-here"
export GOOGLE_GENAI_USE_VERTEXAI=FALSE

Jetzt der Agent. ADK bringt ein eingebautes google_search-Tool mit, das Antworten in Live-Ergebnissen von Google Search verankert. Die Such-Infrastruktur müssen Sie also nicht selbst schreiben.

python
from google.adk.agents import Agent
from google.adk.tools import google_search

root_agent = Agent(
    name="research_summarizer",
    model="gemini-2.5-flash",
    description="Researches a topic and writes a sourced summary.",
    instruction=(
        "You are a research assistant. Given a topic, search for "
        "current, credible information. Run multiple searches if the "
        "first results are thin or one-sided. Stop when you can cover "
        "the topic accurately. Then write a summary with: a two-line "
        "overview, 3 to 5 key findings as bullets, and a 'Sources' "
        "list. Never state a fact you did not find in results."
    ),
    tools=[google_search],
)

Um ein neueres Modell auszuprobieren, ändern Sie nur den Modell-String. Modelle der Gemini-3-Familie funktionieren hier ebenfalls; prüfen Sie auf der Modellseite die aktuellen Namen, bevor Sie eines in Produktion festschreiben.

Die instruction leistet die Hauptarbeit. Sie sagt dem Agenten, *wann er die Schleife wiederholen soll* („run multiple searches if the first results are thin“) und *wann er aufhören soll* („when you can cover the topic accurately“). Vage Abbruchbedingungen sind die häufigste Ursache für Agenten, die endlos laufen oder zu früh aufgeben.

Lokal ausführen

ADK bietet eine Dev-UI, in der Sie die Schleife verfolgen können, inklusive jedes Tool-Aufrufs und des Reasonings des Modells zwischen den Schritten. Im Ordner mit Ihrem Agenten:

bash
adk web

Das öffnet eine lokale Browser-UI, in der Sie ein Thema eingeben und zusehen, wie der Agent sucht, beobachtet, erneut sucht und schreibt. Über die Zwischenschritte debuggen Sie Ihre Anweisungen. Sucht der Agent einmal und hört dann auf, ist Ihre Abbruchbedingung zu locker. Sucht er achtmal für ein einfaches Thema, verschärfen Sie sie.

Für den Headless-Betrieb stellt ADK einen `Runner` bereit, den Sie aus Ihrem eigenen Code aufrufen oder in eine API packen können.

Warum Grounding hier wichtig ist

Das google_search-Tool kann mehr als eine einfache Suche. Es ist Grounding mit Google Search: Echte Ergebnisse werden ins Modell eingespeist, und Quellen-Metadaten kommen zurück. Für einen Recherche-Agenten ist das der Unterschied zwischen einer selbstsicheren Zusammenfassung und einer *korrekten*. Ohne Grounding schreibt das Modell aus Trainingsdaten mit Stichtag. Mit Grounding liest der Agent das heutige Web. Verankern Sie Agenten immer per Grounding, wenn sie Faktenaussagen über die aktuelle Welt treffen.

Build your first AI agent with ADK

Watch on YouTube

Ein eigenes Tool hinzufügen

Die eingebaute Suche ist gut, aber echte Agenten brauchen *Ihre* Tools: eine Funktion, die Ihre Datenbank abfragt, in Slack postet oder in ein Google Sheet schreibt. In ADK ist ein Tool eine typisierte Python-Funktion mit einem klaren Docstring. Der Docstring ist eher für das Modell geschrieben als für Sie: Er ist die Beschreibung, anhand derer das Modell entscheidet, wann es das Tool aufruft.

python
def save_summary(topic: str, summary: str) -> dict:
    """Saves a finished research summary to the team archive.

    Args:
        topic: The researched topic, used as the record title.
        summary: The full formatted summary text to store.

    Returns:
        A dict with 'status' and the saved record 'id'.
    """
    record_id = _write_to_store(topic, summary)
    return {"status": "ok", "id": record_id}

Fügen Sie es neben google_search zur tools-Liste des Agenten hinzu. Jetzt kann der Agent in einer Schleife recherchieren *und* archivieren. Schreiben Sie Tool-Docstrings so, als würden Sie die Funktion einem klugen neuen Kollegen erklären: was sie tut, was jedes Argument bedeutet, was sie zurückgibt. Schlampige Docstrings führen dazu, dass das Modell Tools zum falschen Zeitpunkt aufruft oder unbrauchbare Argumente übergibt.

Eine Einschränkung, auf die Sie achten sollten: Für die eingebauten Tools von ADK wie google_search gelten je nach Modell Regeln, wie sie sich mit eigenen Tools kombinieren lassen. Im Zweifel verteilen Sie die Zuständigkeiten auf mehrere Agenten.

Multi-Agent: wenn eine Schleife nicht reicht

Die eigentliche Stärke von ADK zeigt sich bei Multi-Agent-Systemen: ein Koordinator-Agent, der an spezialisierte Sub-Agenten delegiert. In unserem Beispiel könnten Sie einen researcher-Agenten (nur Suche) und einen writer-Agenten (Formatierung und Archivierung) haben, mit einem coordinator, der zwischen beiden routet.

Das ist wichtig, weil jeder Agent fokussiert bleibt. Ein fokussierter Agent mit drei Tools verhält sich weit zuverlässiger als einer, der mit zehn jongliert. Sie definieren Sub-Agenten und übergeben sie über den Parameter sub_agents an einen Parent; der Parent entscheidet, wer was übernimmt. Beginnen Sie mit einem einzelnen Agenten und teilen Sie erst auf, wenn dessen Anweisungen lang und voller Bedingungen werden.

Wissenscheck

1. Was unterscheidet einen Agenten (gebaut mit ADK) grundlegend von einem einzelnen Gemini-Call mit Function Calling?

2. Wann lohnt sich laut der Lektion die zusätzliche Komplexität eines Agenten gegenüber einem einzelnen Call wirklich?

3. Welche Rolle spielt das Runner-Objekt in ADK?

MEHRFACHAUSWAHL

4. Wählen Sie ALLE Aussagen, die die verschiedenen „Flughöhen“ für Agenten auf Google AI korrekt beschreiben.

Wählen Sie alle richtigen Antworten aus.

MEHRFACHAUSWAHL

5. Wählen Sie ALLE Anzeichen, dass eine Aufgabe einen Agenten statt eines einzelnen Calls erfordert.

Wählen Sie alle richtigen Antworten aus.

Der Weg in die Produktion auf Vertex AI

Lokales adk web ist zum Bauen da. Produktion heißt Vertex AI Agent Engine, ein Managed Service, der Ihren Agenten hostet, Sessions verwaltet, skaliert und mit dem Rest von Vertex AI integriert ist. Derselbe Agenten-Code lässt sich mit minimalen Änderungen deployen; im Wesentlichen wechseln Sie von API-Key-Authentifizierung zu Vertex-AI-Authentifizierung und richten ADK auf Ihr Google-Cloud-Projekt aus.

Was Sie bekommen, wenn Sie auf Agent Engine deployen statt einen eigenen Server zu betreiben:

  • Verwaltete Sessions und State: Das Gesprächsgedächtnis bleibt erhalten, ohne dass Sie dafür eine Datenbank bauen.
  • Skalierung und Monitoring: Der Agent läuft als verwalteter Endpoint mit eingebauter Observability.
  • Enterprise-Kontrollen: Er liegt in Ihrem Google-Cloud-Projekt, unter Ihren IAM- und VPC-Regeln. Das zählt, sobald der Agent interne Daten berührt.

Für Agenten, die mit Unternehmensdaten arbeiten, ist dieser letzte Punkt der eigentliche Grund, auf Vertex zu setzen, statt die rohe Gemini API aus einem Skript aufzurufen.

Evaluation: der Schritt, den viele überspringen

Ein Agent, der in einer Demo funktioniert, und ein Agent, der mit echten Inputs funktioniert, sind zwei verschiedene Dinge. ADK enthält eine Evaluation-Funktion: Sie definieren Testfälle (Input plus erwartetes Verhalten oder erwartete Tool-Trajektorie), und ADK lässt den Agenten dagegen laufen und bewertet sowohl die finale Antwort als auch, *welche Tools er in welcher Reihenfolge aufgerufen hat*.

Diese Trajektorien-Prüfung ist agentenspezifisch und sehr wichtig. Einen einzelnen Call bewerten Sie nur am Output. Einen Agenten bewerten Sie zusätzlich an seinem *Weg*, denn ein Agent, der zufällig die richtige Antwort findet (oder zwanzig Tool-Aufrufe dafür verbraucht), ist nicht produktionsreif. Legen Sie vor dem Deployment eine Handvoll Eval-Fälle an und lassen Sie sie bei jeder Änderung einer Anweisung erneut laufen.

Ein realistisches mentales Modell

Betrachten Sie ADK als die Schicht, die Gemini von „einem Modell, das einen Tool-Aufruf vorschlagen kann“ zu „einem Prozess, der eine Aufgabe bis zum Abschluss treibt“ macht. Das Modell bleibt das Gehirn. ADK ist die Schleife, das Gedächtnis, das Routing, das Deployment und das Test-Harness drumherum. Sie liefern präzise Anweisungen (vor allem Abbruchbedingungen), gut beschriebene Tools und Eval-Fälle. ADK und Vertex erledigen den Rest.

Key Takeaways

  • Setzen Sie einen Agenten nur ein, wenn die Schritte dynamisch sind. Besteht die Arbeit aus einem Schritt, nutzen Sie einen einzelnen Gemini-Call mit Grounding. Agenten bringen Latenz, Kosten und Fehlerquellen mit; sie müssen sich lohnen.
  • Abbruchbedingungen gehören in die Anweisung. Die meisten ausufernden oder trägen Agenten lassen sich reparieren, indem Sie dem Modell explizit sagen, wann es weitermachen und wann es aufhören soll, nicht durch einen Modellwechsel.
  • Tool-Docstrings sind Prompts. Das Modell wählt Tools und Argumente anhand des Docstrings. Schreiben Sie jeden klar, mit typisierten Argumenten und beschriebenem Rückgabewert.
  • Verankern Sie alles Faktische per Grounding mit dem eingebauten google_search-Tool, damit Zusammenfassungen das Live-Web widerspiegeln und nicht den Trainingsstichtag.
  • Entwickeln Sie mit `adk web`, deployen Sie auf Vertex AI Agent Engine und machen Sie Deployments von ADK-Evals abhängig, die die Tool-Trajektorie prüfen und nicht nur die finale Antwort.

Häufige Fragen

Was ist Googles Agent Development Kit (ADK)?

ADK ist Googles Open-Source-Framework, um KI-Agenten in Code zu bauen: Sie definieren einen Agenten (ein Modell plus Anweisungen plus Tools), und ADK führt die Schleife aus Reason, Act und Observe aus, verwaltet Sessions und State und übernimmt das Routing zwischen mehreren Agenten. Python ist das ausgereifteste SDK, Java, Go und TypeScript sind ebenfalls verfügbar. Es ist dasselbe Framework, das hinter Googles eigenen Agent-Produkten wie Gemini Enterprise steckt.

Wann brauche ich tatsächlich einen Agenten statt eines einzelnen Gemini-Aufrufs?

Ein einzelner Gemini-Aufruf reicht, wenn die Aufgabe aus einem Schritt besteht: eine E-Mail klassifizieren, Felder extrahieren, eine Antwort entwerfen. Auf einen Agenten wechseln Sie, wenn die Zahl der Schritte vorab unbekannt ist und jeder Schritt vom vorherigen Ergebnis abhängt, zum Beispiel suchen, das Ergebnis lesen und dann entscheiden, ob erneut gesucht wird. Agenten kosten mehr Latenz, mehr Tokens und bringen mehr Fehlerquellen mit. Diese Komplexität muss sich also lohnen.

Was ist der Unterschied zwischen Gems, Function Calling in der Gemini API, ADK und Vertex AI Agent Engine?

Das sind keine Konkurrenten, sondern verschiedene Ebenen derselben Idee. Gems in der Gemini-App sind gespeicherte Personas ohne Code und ohne Tool-Schleife. Beim Function Calling in der Gemini API schlägt das Modell einen Aufruf vor, die Schleife bauen Sie selbst. ADK übernimmt Schleife, State, Orchestrierung mehrerer Agenten und Deployment. Vertex AI Agent Engine ist die verwaltete Google-Cloud-Runtime, auf der ADK-Agenten in Produktion laufen.

Wie verhindere ich, dass ein ADK-Agent endlos weiterläuft oder zu früh aufhört?

Korrigieren Sie die Abbruchbedingung in der Anweisung, nicht am Modell. Legen Sie explizit fest, wann weitergemacht und wann beendet wird, zum Beispiel „führe mehrere Suchen durch, wenn die ersten Ergebnisse dünn sind, und hör auf, sobald du das Thema korrekt abdecken kannst“. Lassen Sie den Agenten mit `adk web` in der lokalen Dev-UI laufen und beobachten Sie die Tool-Aufrufe: Eine Suche und dann Schluss heißt, die Bedingung ist zu locker. Acht Suchen zu einem einfachen Thema heißen, sie ist zu vage.

Wie füge ich einem ADK-Agenten ein eigenes Tool hinzu?

Ein Tool in ADK ist eine typisierte Python-Funktion, die Sie in die `tools`-Liste des Agenten aufnehmen. Der Docstring richtet sich eher an das Modell als an Sie: Anhand davon entscheidet das Modell, wann es die Funktion aufruft. Beschreiben Sie also, was sie tut, was jedes Argument bedeutet und was sie zurückgibt. Schlampige Docstrings führen dazu, dass das Modell Tools im falschen Moment aufruft oder unbrauchbare Argumente übergibt.

Wie evaluiert man einen KI-Agenten, bevor er in Produktion geht?

Bewerten Sie den Weg, nicht nur die Antwort. ADK enthält eine Evaluierungsfunktion: Sie definieren Testfälle mit einem Input und dem erwarteten Verhalten oder der erwarteten Tool-Abfolge, und ADK bewertet sowohl die finale Antwort als auch, welche Tools in welcher Reihenfolge aufgerufen wurden. Ein Agent, der zufällig die richtige Antwort liefert oder dafür zwanzig Tool-Aufrufe verbraucht, ist nicht produktionsreif. Legen Sie vor dem Deployment eine Handvoll Eval-Fälle an und lassen Sie sie nach jeder Änderung der Anweisungen erneut laufen.