Einen einfachen Reise-Agenten mit dem ADK und der Gemini CLI erstellen

1. Einführung

9344c1d1a9f221b7.png

Zuletzt aktualisiert: 02.02.2026

Einfaches Reisebüro mit dem ADK erstellen

Willkommen zu diesem ADK-Python-Workshop(*), der dank der Gemini CLI sofort einsatzbereit ist.

Dieses Codelab ist in zwei 🏅 Meilensteine unterteilt:

  1. Ein gängiger, einfacher Lernpfad: Einrichtung + sofortige Nutzung.
  2. Ein personalisierter Pfad, in dem Sie eine Quest auswählen, die Sie mit der Gemini CLI lösen möchten

Der zweite Teil macht dieses Codelab perfekt für einen Hackathon (und Preise für die kreativsten Lösungen!).

Meilenstein 1: Ihr erster Agent mit dem ADK und der Gemini CLI

In diesem Meilenstein wird Schritt für Schritt ein einfacher Reise-Agent mit dem ADK erstellt.

Dazu müssen wir zuerst die Gemini CLI einrichten, damit sie uns beim Programmieren mit dem ADK unterstützt. So kann Ihre lokale Shell die neueste Version des Python ADK auswählen, den Code und die Dokumente anpassen und den neuesten/besten Code für Ihr Ziel bereitstellen.

In diesem Teil des Kurses werden wir Schritt für Schritt eine voll funktionsfähige App entwickeln. Das dauert in der Regel etwa eine Stunde (plus Installationszeit).

Meilenstein 2: KI-Agent erweitern

Danach haben Sie ein Dutzend Optionen (mit unterschiedlichem Schwierigkeitsgrad), um die App nach Belieben zu erweitern. So können Sie verschiedene Aspekte untersuchen (Benutzeroberfläche, Vorgänge, komplexe Agent-Interaktionen usw.).

Umfang

In diesem Codelab erstellen Sie mit dem ADK und der Gemini CLI eine Reisebüro-App. Mit der Anwendung können Sie Folgendes tun:

  • Über das Airbnb MCP eine Verbindung zu Airbnb-APIs herstellen
  • Online nach aktuellen Informationen suchen (Wetter, Termine usw.)
  • Benutzerdefinierte Tools ausführen
  • Mit NanoBanana Bilder der Apartments/Zimmer erstellen.

Die Gemini CLI führt Sie durch alle Schritte: Code schreiben/überprüfen und die aktuelle Dokumentation in einem lokalen Spiegel des ADK-Repositorys (in Python oder Ihrer bevorzugten Sprache) finden.

Lerninhalte

  • App mit dem ADK erstellen
  • Apps mit der Gemini CLI auf Grundlage lokaler Dokumente programmieren
  • So interagieren Sie mit einem MCP-Server, um eine Verbindung zu externen Echtzeitdatenquellen herzustellen:

Voraussetzungen

  • Ein Computer, auf dem Sie Pakete installieren können (z. B. npm install ..)
  • Grundlegende Programmierkenntnisse in Python, TypeScript, Go oder Java.
  • Eine IDE ( Antigravity, VS Code, IntelliJ, Vim) wird dringend empfohlen.

Warum ADK + Gemini CLI?

Einige von Ihnen fragen sich vielleicht: Warum muss ich das ADK (ein SDK für die Entwicklung von KI-Agenten) in Verbindung mit einem lokalen Code-Helper für KI-Agenten (wie der Gemini CLI) verwenden? Der Grund dafür ist, dass beide Tools unglaublich leistungsstark sind, ihre Interaktion jedoch nicht trivial ist. Viele Nutzer haben versucht, mit beiden Tools zusammenzuarbeiten, und sind gescheitert (meist aufgrund von „Schleife in Schleife“-Problemen). In diesem Codelab finden Sie einige Tipps, wie Sie das erreichen können.

2. Einrichtung

Wählen Sie eine der folgenden Optionen aus: Einrichtung der Umgebung im eigenen Tempo, wenn Sie diese

Codelab auf Ihrem eigenen Computer ausführen oder Cloud Shell starten, wenn Sie dieses Codelab vollständig in der Cloud ausführen möchten.

Einrichtung der Umgebung im eigenen Tempo

  1. Melden Sie sich in der Google Cloud Console an und erstellen Sie ein neues Projekt oder verwenden Sie ein vorhandenes. Wenn Sie noch kein Gmail- oder Google Workspace-Konto haben, müssen Sie eines erstellen.

295004821bab6a87.png

37d264871000675d.png

96d86d3d5655cdbe.png

  • Der Projektname ist der Anzeigename für die Teilnehmer dieses Projekts. Es handelt sich um einen String, der nicht von Google APIs verwendet wird. Sie können sie jederzeit aktualisieren.
  • Die Projekt-ID ist für alle Google Cloud-Projekte eindeutig und unveränderlich (kann nach dem Festlegen nicht mehr geändert werden). In der Cloud Console wird automatisch ein eindeutiger String generiert. Normalerweise ist es nicht wichtig, wie dieser String aussieht. In den meisten Codelabs müssen Sie auf Ihre Projekt-ID verweisen (in der Regel als PROJECT_ID angegeben). Wenn Ihnen die generierte ID nicht gefällt, können Sie eine andere zufällige ID generieren. Alternativ können Sie es mit einem eigenen Namen versuchen und sehen, ob er verfügbar ist. Sie kann nach diesem Schritt nicht mehr geändert werden und bleibt für die Dauer des Projekts bestehen.
  • Zur Information: Es gibt einen dritten Wert, die Projektnummer, die von einigen APIs verwendet wird. Weitere Informationen zu diesen drei Werten
  1. Als Nächstes müssen Sie die Abrechnung in der Cloud Console aktivieren, um Cloud-Ressourcen/-APIs zu verwenden. Die Durchführung dieses Codelabs kostet wenig oder gar nichts. Wenn Sie Ressourcen herunterfahren möchten, um Kosten zu vermeiden, die über diese Anleitung hinausgehen, können Sie die erstellten Ressourcen oder das Projekt löschen. Neue Google Cloud-Nutzer können am Programm Kostenlose Testversion mit einem Guthaben von 300$ teilnehmen.

Cloud Shell starten

Während Sie Google Cloud von Ihrem Laptop aus per Fernzugriff nutzen können, wird in diesem Codelab Google Cloud Shell verwendet, eine Befehlszeilenumgebung, die in der Cloud ausgeführt wird.

Klicken Sie in der Google Cloud Console rechts oben in der Symbolleiste auf das Cloud Shell-Symbol:

Cloud Shell aktivieren

Die Bereitstellung und Verbindung mit der Umgebung sollte nur wenige Augenblicke dauern. Anschließend sehen Sie in etwa Folgendes:

Screenshot des Google Cloud Shell-Terminals, auf dem zu sehen ist, dass die Umgebung verbunden ist

Diese virtuelle Maschine verfügt über sämtliche Entwicklertools, die Sie benötigen. Sie bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft in Google Cloud, was die Netzwerkleistung und Authentifizierung erheblich verbessert. Alle Aufgaben in diesem Codelab können in einem Browser ausgeführt werden. Sie müssen nichts installieren.

Voraussetzungen (Installation)

Für diese Anleitung müssen Sie Folgendes installieren:

1. Python und uv

python und uv (Paketmanager für Python). Dies ist für das ADK erforderlich. Prüfen Sie, ob uv installiert ist:

$ curl -LsSf https://astral.sh/uv/install.sh | sh

Warum uv? Sie können zwar einen beliebigen Python-Manager verwenden, aber mit uv wird sichergestellt, dass die ENV/PATH-Einrichtung für Python für Sie und für die Gemini CLI gleich ist. Ihre Shell-Umgebung ist also weitgehend identisch mit der der Gemini CLI. Wenn Sie virtualenv verwenden, wird die Gemini CLI beispielsweise gezwungen, Befehle wie „source .env/venv/bin/activate && my-original-command“ auszuführen, um Ihre Umgebung zu simulieren.

2. Gemini CLI

Eine Installationsanleitung für die Gemini CLI finden Sie unter https://github.com/google-gemini/gemini-cli .

Hinweis: Hierfür muss npm oder npx installiert sein.

npm install -g @google/gemini-cli

  1. Auf einem Mac können Sie brew gemäß der offiziellen Dokumentation verwenden.
  2. Unter Windows können Sie chocolatey verwenden oder die ausführbare Datei einfach von https://nodejs.org/en/download herunterladen.

Für Schritt 4 (später) benötigen Sie auch npx. Sowohl npm als auch npx sollten als Teil der Gemini CLI verfügbar sein. Wenn nicht, bitten Sie die Gemini CLI um Hilfe.

Optional können Sie auch just installieren. Es ist ein fortschrittlicheres und selbstdokumentierendes Makefile. Auch hier können Sie die Gemini CLI bitten, Ihnen bei der Installation zu helfen.

efade99623113f1.png

Authentifizierung.

Sie benötigen entweder ein Google Cloud-Projekt mit aktivierter Vertex AI oder einen Google AI Studio-API-Schlüssel.

Option A (für Workshop empfohlen): API-Schlüssel exportieren:

export GOOGLE_API_KEY="your-api-key"

Option B (Vertex AI): Mit gcloud authentifizieren:

export GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_ID"
export GOOGLE_CLOUD_LOCATION="YOUR_PROJECT_LOCATION"
export GOOGLE_GENAI_USE_VERTEXAI=true
gcloud auth application-default login

Arbeitsumgebung einrichten

Sie erstellen Ihre eigene Lösung unter mysolution/. Erstellen wir also den Ordner und die beiden Dateien, die wir benötigen.

Jetzt können Sie Ihre IDE (Visual Studio Code, IntelliJ, RubyMine usw.) öffnen und den Ordner öffnen.

# 1. Find an empty directory, and download this repo.
git clone https://github.com/palladius/ai-friendly-agents/
cd ai-friendly-agents/adk/workshops/simple-travel-agent/

# 2. Create your solution empty skeleton
mkdir -p mysolution/
touch mysolution/__init__.py mysolution/agent.py

# 3. This installs ADK and MCP via `uv` by reading pyproject.toml
uv sync

# 4. Call Gemini CLI
gemini  # This runs Gemini CLI under the simple-travel-agent/ folder.
# Login with your GMail account.

uv sync ist nicht unbedingt erforderlich. Wenn der Test jedoch fehlschlägt, müssen Sie Ihre Python- oder uv-Installation korrigieren.

Verfügbare Lösungen

Der gesamte Code befindet sich im Ordner 📂 steps/. Sie können den Code dort kopieren.

In diesem Codelab geht es nicht darum, wie man guten ADK-Code schreibt, sondern darum, wie man die Umgebung einrichtet, damit guter Code automatisch unter Ihrer Anleitung geschrieben wird.

  1. Software installieren
  2. Konfiguration / Funktionsweise und
  3. Eingabe einer Feedbackschleife

Das ist es, was wir Ihnen hier wirklich vermitteln möchten. Sie können sie auch alle gleichzeitig über $ just web-4steps testen.

3. Schritt 1: Einfacher Agent

abfef47ab2ff0c98.png

Erstellen wir zuerst einen einfachen Agenten, mit dem man sich unterhalten kann.

Bearbeiten Sie die Datei mit dem Namen mysolution/__init__.py, indem Sie den folgenden Inhalt hinzufügen:

from .agent import root_agent

So einfach ist das. So kann das ADK erkennen, wo sich Ihr Code befindet: in agent.py.

Bearbeiten Sie die Datei mit dem Namen mysolution/agent.py, indem Sie den folgenden Inhalt hinzufügen:

from google.adk.agents import Agent

root_agent = Agent(
    name="travel_basic",
    model="gemini-2.5-flash",
    instruction="You are a helpful travel assistant." +
    "You can help with general travel advice based on your knowledge.",
)

Agent testen

Das gilt für alle Schritte. Mit dem ADK können Sie Ihren Agenten auf zwei Arten testen: über die CLI und über das Web.

  • Die CLI eignet sich am besten für schnelle und automatisierte Tests.
  • Web ist am besten geeignet, um visuell zu sehen, was passiert, das Mikrofon zu verwenden (!) und Fehler zu beheben.

Tipp: Für diese Übung sollten Sie für alle Aufgaben (außer Unittests) das Web verwenden. Das ist wirklich toll. Verwenden Sie die CLI nur für automatisierte Tests.

Ein guter Prompt, mit dem die Schritte 1 bis 4 richtig getestet werden, könnte so aussehen (smarter „Lackmustest-Prompt“):

# <!– litmus prompt –> Hallo, ich möchte für morgen Abend ein Hotel in Paris buchen, für eine Nacht, im Stadtzentrum von Paris. Idealerweise in der Nähe des Gare de Lyon. Budget: unter 200 € pro Nacht.

  1. Sag mir, welches Datum (JJJJMMTT) und welcher Wochentag morgen ist.
  2. Nenne mir mindestens drei Hotels für morgen. Ich möchte Folgendes sehen: > Preis, Adresse, eine Bewertung (im Format XX/YY, z. B. „4,7/5“ – von Google Hotels, Booking oder Airbnb), Anzahl der Rezensionen. Stelle sie in TABELLENFORM zusammen. Idealerweise sollte der Hotelname mit einer URL des Hotels verknüpft sein. Fügen Sie keine URL-Spalte hinzu. Prüfen Sie, ob der Link gültig ist (er muss funktionieren und die Seite muss Informationen zum Hotel enthalten).

Das ist ein intelligenter Prompt,da er Zeit und Hotels testet und in den Schritten 1,2 und 3 unterschiedlich fehlschlägt. Nur in Schritt 4 sollte er vollständig erfolgreich sein. Sie können natürlich beliebige Prompts verwenden.

Führen Sie den Befehl über die Bash-Befehlszeile aus:

# 1. If ADK was installed:
adk run mysolution/
# ... but if you get: -bash: adk: command not found"
# 2. Call ADK cli script through UV to avoid python install nightmares.
uv run adk run mysolution/

Verwenden Sie den oben genannten „Lackmustest-Prompt“.

Es wird wahrscheinlich nicht möglich sein, bestimmte Daten zu ermitteln. Wir müssen ihr beibringen, das Datum zu kennen.

Im Web haben Sie folgende Möglichkeiten:

  1. uv run adk web . : Damit werden alle Agents in diesem Ordner ausgeführt. Sie möchten auf den Unterordner „mysolution/“ verweisen.
  2. Wählen Sie rechts oben mysolution/ aus (siehe Bild rechts).
  3. Stellen Sie Ihre Frage als Text oder über das Mikrofon, etwa in Form des „Lackmustests“.

TODO(ricc): <image here>

Beachten Sie, dass Sie adk web in Bezug auf die CLI-Version aus dem übergeordneten Ordner aufrufen müssen.

Hier ist eine mögliche Lösung mit einer teilweisen Halluzination des Datums. Hinweis: 3 von 5 Buchungslinks funktionieren. Gar nicht schlecht.

4. Schritt 2: „now()“-Tool hinzufügen

Der Agent weiß nicht, was „heute“ ist. Geben wir ihm ein Tool.

TODO(image): ricc put here image of step2.

Fügen Sie diese Funktion in agent.py direkt vor der Definition von root_agent ein:

from datetime import datetime

def now() -> dict:
    """Returns the current date and time."""
    my_datetime = ... # Ask Gemini CLI to help you!
    return {
        "status": "success",
        "current_time": my_datetime
    }

Aktualisieren Sie die Agentendefinition, um das Tool einzuschließen:

  # file XXX.py

  travel_agent = LlmAgent(
        name="..",
        model="..",
        instruction="..",
        tools=[now] # <== This is the only line you want to add.
    )

Führen Sie sie noch einmal aus und stellen Sie dieselbe Frage. Das Datum sollte jetzt bekannt sein (gut), die Informationen zu Hotels sollten aber vage sein (schlecht).

Sie können es auch mit einem Befehl wie diesem testen:

# Let's pretend we're in Milan. This should call the tool
# and respond correctly (possibly with some TZ math issues)

echo "What time is it in Milan?" | uv run adk run mysolution/

5. Schritt 3: Wechseln wir das Thema: google_search

Nachdem wir nun wissen, wie ein benutzerdefiniertes Tool erstellt wird, sehen wir uns an, wie eines der leistungsstarken integrierten Tools des ADK verwendet wird: google_search. So kann unser Agent auf Echtzeitinformationen aus dem Web zugreifen.

3cd72c019b8b225f.png

Ihre Aufgabe ist es, den Agenten aus Schritt 2 zu ändern. Anstelle des now-Tools importieren und verwenden Sie das google_search-Tool aus der ADK-Bibliothek.

# Full Code: `steps/step03_search/agent.py`
# Remember to REMOVE the now() tool here. See above why.
from google.adk.agents import Agent
from google.adk.tools import google_search

root_agent = Agent(
    name="travel_agent",
    model="gemini-2.5-flash",
    tools=[google_search],
    instruction="""You are a travel agent.
Your job is to help the user plan a trip.
You have access to a search engine.
If you don't know the answer, you can use the search engine.
When you are done, reply with "DONE".""",
)

Ausführen

Wie in Schritt 1.

Nur für Experten: Für eine komplexere Integration (mit google_search und now) sehen Sie sich den Code in steps/step03b_search_and_tool/agent.py an und führen Sie ihn mit just run-step3b aus. Dies ist optional.

6. Schritt 4: Ein komplexeres Tool: MCP

TODO(ricc): Bild 4 hinzufügen

Nachdem wir uns sowohl benutzerdefinierte als auch integrierte Tools angesehen haben, wollen wir uns nun etwas Leistungsstärkeres ansehen: das Model-as-a-Tool-Muster mit dem Model Context Protocol (MCP).

Damit sich dieser Schritt auf die leistungsstarken Funktionen von MCP konzentriert, ersetzen wir noch einmal unser bisheriges Tool (google_search). Wir führen unser einfaches now-Tool wieder ein, das parallel zum airbnb_mcp-Tool ausgeführt wird. Hier wird gezeigt, wie ein Agent mehrere kompatible Tools (in diesem Fall ein FunctionTool und ein MCPToolset) verwenden kann, um komplexe Aufgaben auszuführen.

# Full Code: steps/step04_mcp/agent.py
# ... Imports as before
from google.adk.tools.mcp_tool.mcp_toolset import MCPToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StdioConnectionParams
from mcp import StdioServerParameters

def now() -> dict:
    # ... as before

# Configure the Airbnb MCP Toolset
airbnb_mcp = MCPToolset(
    connection_params=StdioConnectionParams(
        server_params=StdioServerParameters(
            command='npx',
            args=["-y", "@openbnb/mcp-server-airbnb", "--ignore-robots-txt"],
        ),
    )
)

root_agent = Agent(
    name="travel_mcp",
    model="gemini-2.5-flash",
    instruction="You are a helpful travel assistant. You can find accommodation using Airbnb, and have access to the current time.",
    tools=[now, airbnb_mcp],
)

Ausführen

Für diesen Schritt muss npx auf Ihrem System installiert sein. Ansonsten ist alles wie oben.

Hinweise/ Fehler

  1. Wenn Sie einen robots.txt-Einschränkungsfehler erhalten, können Sie den MCP mit einer „ignore robots“-Anweisung patchen. Weitere Informationen finden Sie in der Dokumentation: https://github.com/openbnb-org/mcp-server-airbnb.
  2. Wenn Sie einen timeout-Fehler erhalten (5 Sekunden sind zu kurz, damit Airbnb Antworten erhält), lesen Sie in der ADK-Dokumentation nach, wie Sie das Zeitlimit auf z. B. 30 Sekunden erhöhen können. Oder Sie verwenden die Gemini CLI. Am 3. Dezember 2025 habe ich in Cloud Shell einen Zeitüberschreitungsfehler erhalten. Ich habe den Zeitüberschreitungsfehler behoben, aber es sind weiterhin Fehler aufgetreten, bis ich die vorherige Version args=["-y", "@openbnb/mcp-server-airbnb@0.1.2", "--ignore-robots-txt"] erzwungen habe.

7. 🏅 Meilenstein 1 erreicht!

🏅 Glückwunsch! 🏅 Sie sind jetzt ADK-Experte! Sie haben den ersten Teil des Workshops abgeschlossen und erfolgreich KI-Agents mit benutzerdefinierten Tools, integrierten Tools und erweiterten MCP-Tools erstellt und getestet. Jetzt können Sie mit dem Google Agent Development Kit Ihre eigenen Agenten erstellen.

Sie haben jetzt einen funktionsfähigen Reiseassistenten, der die Uhrzeit kennt und im Web suchen kann. Jetzt sind keine Grenzen mehr gesetzt.

Jetzt ist es an der Zeit, mit der Gemini CLI eine zusätzliche Funktion hinzuzufügen.

8. 🏅 Meilenstein 2: Vibe Coding mit dem ADK über die Gemini CLI

Jetzt kommen wir zum interessanten Teil des Workshops.

  1. Stellen Sie sicher, dass Sie den Code an einem sicheren Ort git commit haben. Sie können den ursprünglichen Code forken oder einen Branch erstellen. Die Gemini CLI kann Ihnen dabei helfen.
  2. Suchen Sie nach einer 💡 Idee, die Sie umsetzen möchten. Sie können sich die Ideen unten ansehen, selbst eine finden oder Gemini bitten, die Dokumentation in „rag/“ zu prüfen und einige intelligente Ideen vorzuschlagen.
  3. Halten Sie die Voraussetzungen ein, damit Gemini die ADK-Dokumentation lesen kann.

💡 Ideen

Hier ist ein Menü mit einigen Ideen unterschiedlicher Komplexität.

  1. 🟢 [einfach] Bist du ein Sprachgenie? Möchtest du go, java oder Typescript geben? Das Refactoring des vorhandenen Codes ist ganz einfach. Laden Sie einfach das richtige ADK herunter und bitten Sie die Gemini CLI, die Übersetzung vorzunehmen.
  2. 🟢 [einfach] Fügen Sie Emojis hinzu oder geben Sie ein gewünschtes Ausgabeformat an, z. B. eine Tabelle mit Hotel-Emojis, gefolgt vom Preis und dann von 1–5 Stern-Emojis (mit 🌕🌕🌕🌗🌑 können Sie auch halbe Sterne darstellen).
  3. 🟢 [Einfach] Ändern Sie den Prompt, um dem Modell bestimmte Dinge beizubringen, nach denen Sie suchen oder die Sie vermeiden möchten (haustierfreundlich, kein Erdgeschoss, ruhig, in der Nähe von öffentlichen Verkehrsmitteln usw.), und testen Sie ihn. Fügen Sie vielleicht eine persönliche Bewertung wie „eine YOUR_NAME-Bewertung von 1 bis 10“ basierend auf den oben genannten Kriterien hinzu und sortieren Sie danach.
  4. 🟢 [einfach] Ist ein Operator im Raum? In Cloud Run bereitstellen Oder zur Vertex AI Agent Engine. Wussten Sie schon, dass Sie diesen Agenten einbinden und direkt über das neue Gemini Enterprise aufrufen können?
  5. 🟢 [einfach] Integriere `adk run`` mit 🍌 NanoBanana MCP. Erfordert einen Gemini API-Schlüssel. Hier können Sie Bilder erstellen, aber nicht visualisieren. Unten finden Sie eine schwierigere Variante.
  6. 🟡 [mittel] Erstelle einen untergeordneten Agenten, der HotelSearch ausführt, und erstelle einen BudgetAgent oder einen LocationAgent, der Hotels unter Berücksichtigung deiner Standortanforderungen, z. B. „nicht mehr als X km von LOCATION entfernt“, noch einmal überprüft und optimiert. Wenn die API dies nicht zulässt, kann GoogleSearch helfen. Hinweis: Gemini CLI kann Ihnen helfen.
  7. 🟡 [mittel] Implementiere eine AirbnbReviewAgent, die die Rezensionen analysiert und die positiven und negativen Aspekte in einigen farbcodierten Aufzählungszeichen für ein oder mehrere Hotels zusammenfasst, die aus einer Suche resultieren. Sie haben bereits zwei Komponenten (GoogleSearch und MCP Airbnb). Sie müssen diese mit dem Haupt-KI-Agenten verbinden und möglicherweise ein Protokoll für die Kommunikation zwischen ihnen entwickeln.
  8. 🟡 [mittel] Integration mit A2A Machen Sie daraus einen A2A-Agenten. Bitten Sie Gemini CLI noch einmal um Hilfe.
  9. 🔴 [komplex] Sie können Flights oder andere MCP-Funktionen einbinden, um einen vielseitigen, multifunktionalen Reise-Agent zu erstellen.
  10. 🔴 [komplex] ADK Web mit 🍌 NanoBanana MCP integrieren. Das ist schwieriger als das oben genannte Beispiel. Einige Tipps finden Sie unter https://github.com/palladius/ai-friendly-agents/issues/11. Das hat den Autor drei Stunden gekostet, in denen er sich mit der Gemini CLI und Gemini 3 ausgetauscht und wir beide Dokumente und Code aus rag/ gelesen haben.

Benötigen Sie weitere Inspiration?

  1. In diesem ADK-Tutorial von Maurizio findest du einige Ideen.
  2. Bitten Sie Gemini CLI, Ideen zu finden, indem Sie die Dokumentation unter rag/ durchsuchen. Ein möglicher Prompt könnte so aussehen: Is there a feature in here which seems very succulent to you? Give me 3 proposals and let's implement together the one I choose.

Voraussetzungen für ADK „RAG“

Um eine Funktion zu entwickeln, empfehlen wir, das gesamte Python-ADK herunterzuladen. Hinweis: Das ADK lässt sich sehr einfach an Ihre bevorzugte Sprache anpassen, z. B. Java oder Go.

Der Code befindet sich unter ./rag und kann mit ./download-adk.sh heruntergeladen werden.

Da der Ordner rag in der Datei .gitignore aufgeführt ist, muss die Datei .gemini/settings.json Folgendes enthalten:

{
 "context": {
   "includeDirectories": ["rag"]
 }
}

Warum? Wir möchten, dass Gemini diese Dateien lesen kann, während sie sicher ignoriert werden. Technisch gesehen könnten Sie auch alle .gitignore-Dateien einblenden, indem Sie context.fileFiltering.respectGitIgnore auf false setzen. Dadurch wird jedoch viel node_modules/- und __pycache__/-Müll angezeigt. Daher ist die explizite Einbeziehung von Ordnern die bevorzugte Option.

9. Nächste Schritte

Neugier: Dieser Workshop wurde mit Unterstützung der Gemini CLI erstellt. Wenn Sie neugierig sind, können Sie sich ansehen, wie ich das gemacht habe. Die entsprechenden Dateien GEMINI.md und WORKSHOP_PLAN.md finden Sie in diesem Ordner.

Erkenntnisse

Wir haben gelernt, wie wir das ADK mit der Gemini CLI koppeln.

Zusätzliche Messwerte

6d05afb6b8b235d8.png