1. Hinweis
Willkommen zum zweiten Teil der Serie „KI-Agents mit ADK erstellen“! In diesem praktischen Codelab statten Sie einen einfachen KI-Agenten mit verschiedenen Tools aus.
Dieser Leitfaden bietet zwei Möglichkeiten für den Einstieg: eine für diejenigen, die mit dem Codelab KI-Agents mit ADK erstellen: Die Grundlagen fortfahren, und eine für diejenigen, die neu beginnen. Bei beiden Vorgehensweisen erhalten Sie den erforderlichen Basis-Agent-Code für den Anfang.
Am Ende dieses Codelabs haben Sie Ihren persönlichen Assistenten-Agent mit Tools für verschiedene Zwecke ausgestattet. In den nachfolgenden Teilen dieser Reihe werden wir ihn in ein komplexes Multi-Agent System (MAS) umwandeln.
Sie können auch über die verkürzte URL goo.gle/adk-using-tools auf dieses Codelab zugreifen.
Voraussetzungen
- Grundkenntnisse der Konzepte der generativen KI
- Grundlegende Kenntnisse der Python-Programmierung
- Sie haben das Codelab KI-Agents mit ADK erstellen: Grundlagen oder ein ähnliches Codelab abgeschlossen.
Lerninhalte
- Sie können Ihrem Agenten neue Fähigkeiten verleihen, indem Sie benutzerdefinierte Python-Funktionen als Tools erstellen.
- Verbinden Sie Ihren Agent mit Echtzeitinformationen, indem Sie integrierte Tools wie die Google Suche verwenden.
- Strukturieren Sie einen Agenten mit mehreren Tools, indem Sie spezialisierte untergeordnete Agents für komplexe Aufgaben erstellen.
- Binden Sie Tools aus beliebten KI-Frameworks wie LangChain ein, um die Funktionen schnell zu erweitern.
Voraussetzungen
- Ein funktionierender Computer und eine zuverlässige WLAN-Verbindung
- Ein Browser wie Chrome für den Zugriff auf die Google Cloud Console
- Neugier und Lernbereitschaft
2. Einführung
Ein einfacher Agent, der mit dem ADK erstellt wurde, hat ein leistungsstarkes LLM-Gehirn, aber auch Einschränkungen: Er kann nicht auf Informationen zugreifen, die nach dem Datum seines Trainings erstellt wurden, und er kann nicht mit externen Diensten interagieren. Es ist wie ein brillanter, belesener Assistent, der in einer Bibliothek ohne Telefon oder Internet eingeschlossen ist. Damit ein Agent wirklich nützlich ist, müssen wir ihm Tools zur Verfügung stellen.
Tools ermöglichen dem KI-Assistenten den Zugriff auf die Außenwelt, z. B. auf einen Taschenrechner, einen Webbrowser oder eine bestimmte Unternehmensdatenbank. Im ADK ist ein Tool ein modulares Codefragment, mit dem der Agent bestimmte Aktionen ausführen kann, z. B. Echtzeitdaten abrufen oder eine externe API aufrufen. Durch die Verwendung von Tools gehen die Funktionen weit über einfache Unterhaltungen hinaus.
Das ADK bietet drei Kategorien von Tools:
- Funktionstools:Benutzerdefinierte Tools, die Sie entwickeln, um die individuellen Anforderungen Ihrer Anwendung zu erfüllen, z. B. vordefinierte Funktionen und Agents.
- Integrierte Tools:Einsatzbereite Tools, die vom Framework für gängige Vorgänge wie die Google Suche und die Codeausführung bereitgestellt werden.
- Drittanbieter-Tools:Beliebte externe Bibliotheken wie Serper und Tools von LangChain und CrewAI.
Weitere Informationen zur Verwendung von Tools mit ADK-Agents finden Sie in der offiziellen Dokumentation. In diesem Codelab fügen wir Tools hinzu, um unseren einfachen Agenten in einen leistungsstarken persönlichen Reiseassistenten zu verwandeln. Fangen wir an!
3. Erste Schritte: Ihr Basis-Agent
Bevor Sie einem Agent Tools zur Verfügung stellen können, benötigen Sie einen Basis-Agent. Wählen Sie den Pfad aus, der am besten zu Ihrem Fortschritt passt.
Pfad A: Fortsetzung des Foundation-Codelabs
Wenn Sie das Codelab KI-Agents mit ADK erstellen: Grundlagen gerade abgeschlossen haben, sind Sie bereit. Sie können weiterhin in Ihrem vorhandenen ai-agents-adk-Projektverzeichnis arbeiten.
Pfad B: Von vorn beginnen
Wenn Sie direkt mit diesem Codelab beginnen, führen Sie diese vier Schritte aus, um Ihre Umgebung einzurichten und den erforderlichen Starter-Agent zu erstellen.
- Google Cloud-Dienste konfigurieren
- Virtuelle Python-Umgebung erstellen
- Agent erstellen
- Agent in der Entwickler-UI ausführen
Sobald Sie die Schritte abgeschlossen haben, können Sie mit dem Lernen beginnen.
4. Benutzerdefiniertes Tool für den Währungsumtausch erstellen
Sie sollten jetzt bereits wissen, wie Sie mit dem ADK einen einfachen KI-Agenten erstellen und in der Entwickler-UI ausführen.
Stellen Sie sich vor, Sie bereiten sich auf eine Reise nach Japan im nächsten Monat vor und möchten den aktuellen Währungskurs abrufen. Fragen Sie den Agenten: „Wie ist der Wechselkurs von Singapur-Dollar zu japanischen Yen?“

Sie sehen, dass der Agent keine Echtzeit-Wechselkurse abrufen kann. Das liegt daran, dass der Agent derzeit keinen Internetzugriff und keine Verbindung zu externen Systemen hat. Auch wenn der Agent mit einem Wert antwortet, ist es schwierig, diesem Wert zu vertrauen, da es sich wahrscheinlich um eine Halluzination handelt.
Um dieses Problem zu beheben, implementieren wir eine Python-Funktion, um Wechselkurse über eine REST API abzurufen, und binden sie als Funktionstool für den Agent ein.
Beenden Sie den laufenden Agent-Prozess mit der Tastenkombination Strg + C im Terminalfenster.
custom_functions.py-Datei erstellen
Erstellen Sie im Ordner personal_assistant eine Python-Datei mit dem Namen custom_functions.py, indem Sie diesen Befehl in das Terminal eingeben:.
touch personal_assistant/custom_functions.py
So sollte Ihre Ordnerstruktur aussehen:
ai-agents-adk/
└── personal_assistant/
├── .env
├── __init__.py
├── agent.py
└── custom_functions.py
Öffnen Sie die custom_functions.py im Code-Editor. Diese Datei enthält die Python-Funktion, die für das Abrufen von Wechselkursdaten aus einer externen API zuständig ist.
Kopieren Sie den folgenden Code und fügen Sie ihn ein:
import requests
# define a function to get exchange rate
def get_fx_rate(base: str, target: str):
"""
Fetches the current exchange rate between two currencies.
Args:
base: The base currency (e.g., "SGD").
target: The target currency (e.g., "JPY").
Returns:
The exchange rate information as a json response,
or None if the rate could not be fetched.
"""
base_url = "https://hexarate.paikama.co/api/rates/latest"
api_url = f"{base_url}/{base}?target={target}"
response = requests.get(api_url)
if response.status_code == 200:
return response.json()
Bearbeiten Sie nun die Datei agent.py: Importieren Sie die Funktion get_fx_rate und weisen Sie sie als FunctionTool zu.
agent.py-Datei aktualisieren
Kopieren Sie diesen Codeblock und ersetzen Sie damit den vorhandenen Inhalt der Datei agent.py:
from google.adk.agents import Agent
from google.adk.tools import FunctionTool
from .custom_functions import get_fx_rate
root_agent = Agent(
model='gemini-2.5-flash',
name='root_agent',
description='A helpful assistant for user questions.',
instruction='Answer user questions to the best of your knowledge',
tools=[FunctionTool(get_fx_rate)]
)
Starten Sie den Agent nach den Änderungen wieder, indem Sie Folgendes eingeben:
adk web
Wenn der Agent aktiv ist, stellen Sie dieselbe Frage noch einmal: „Wie lautet der Wechselkurs von Singapur-Dollar zu japanischen Yen?“
Dieses Mal sollte der tatsächliche Wechselkurs des get_fx_rate-Tools angezeigt werden.

Sie können uns gern alle Fragen zum Thema Währungsumrechnung stellen.
5. In das integrierte Google-Suchtool einbinden
Da der Agent jetzt in der Lage ist, Wechselkurse anzugeben, besteht die nächste Aufgabe darin, die Wettervorhersage für den nächsten Monat abzurufen. Stellen Sie dem Agenten die folgende Frage: „Wie ist die Wettervorhersage für Tokio, Japan, für den nächsten Monat?“

Wie Sie vielleicht erwarten, erfordert die Wettervorhersage Echtzeitinformationen, die unser Kundenservicemitarbeiter nicht hat. Wir könnten zwar für jeden Anwendungsfall, der Echtzeitdaten erfordert, neue Python-Funktionen programmieren, aber durch das Hinzufügen immer weiterer benutzerdefinierter Tools wird der Agent schnell zu komplex und schwer zu verwalten.
Glücklicherweise bietet das Agent Development Kit (ADK) eine Reihe von integrierten Tools, darunter die Google Suche, die sofort einsatzbereit sind und die Interaktion unseres Agenten mit der Außenwelt vereinfachen.
Wenn Sie den Agenten mit dem Google Suche-Tool ausstatten möchten, müssen Sie ein Multi-Agent-Muster implementieren. Zuerst erstellen Sie einen spezialisierten Agent, dessen einzige Aufgabe darin besteht, Google-Suchanfragen auszuführen. Weisen Sie dann diesen neuen Google Search Agent (Google-Such-Agent) unserem Haupt-personal_assistant als Tool zu. Und so gehts:
custom_agents.py-Datei erstellen
Erstellen Sie jetzt eine Python-Datei mit dem Namen custom_agents.py im Ordner personal_assistant, indem Sie diesen Befehl im Terminal ausführen:
touch personal_assistant/custom_agents.py
So sollte Ihre Ordnerstruktur jetzt aussehen:
ai-agents-adk/
└── personal_assistant/
├── .env
├── __init__.py
├── agent.py
├── custom_functions.py
└── custom_agents.py
Diese Datei enthält den Code für die spezielle google_search_agent. Kopieren Sie den folgenden Code mit dem Codeeditor in die Datei custom_agents.py.
from google.adk.agents import Agent
from google.adk.tools import google_search
# Create an agent with google search tool as a search specialist
google_search_agent = Agent(
model='gemini-2.5-flash',
name='google_search_agent',
description='A search agent that uses google search to get latest information about current events, weather, or business hours.',
instruction='Use google search to answer user questions about real-time, logistical information.',
tools=[google_search],
)
Aktualisieren Sie die Datei agent.py wie unten gezeigt, sobald die Datei erstellt wurde.
agent.py-Datei aktualisieren
Kopieren Sie diesen Codeblock und ersetzen Sie damit den vorhandenen Inhalt der Datei agent.py:
from google.adk.agents import Agent
from google.adk.tools import FunctionTool
from google.adk.tools.agent_tool import AgentTool
from .custom_functions import get_fx_rate
from .custom_agents import google_search_agent
root_agent = Agent(
model='gemini-2.5-flash',
name='root_agent',
description='A helpful assistant for user questions.',
tools=[
FunctionTool(get_fx_rate),
AgentTool(agent=google_search_agent),
]
)
Sehen wir uns das neue leistungsstarke Muster im Code an:
- Neuer Spezialisten-KI-Agent: Wir haben einen völlig neuen KI-Agenten definiert:
google_search_agent. Beachten Sie die spezifische Beschreibung und dass das einzige Toolgoogle_searchist. Sie ist auf die Suche spezialisiert. agent_tool.AgentTool: Dies ist ein spezieller Wrapper aus dem ADK. Dazu wird ein vollständiger Agent (unser google_search_agent) verwendet und so verpackt, dass er wie ein Standardtool aussieht und sich auch so verhält.- Ein intelligenterer **
root_agent**: Unserroot_agenthat jetzt ein neues Tool:AgentTool(agent=google_search_agent). Es weiß nicht, wie man im Web sucht, aber es weiß, dass es ein Tool hat, an das es Suchaufgaben delegieren kann.
Das Feld „Anleitung“ ist in root_agent nicht mehr vorhanden. Die Anweisungen werden jetzt implizit durch die verfügbaren Tools definiert.
Die root_agent ist zu einem Orchestrator oder Router geworden, dessen Hauptaufgabe darin besteht, die Anfrage eines Nutzers zu verstehen und an das richtige Tool weiterzuleiten, entweder an die get_fx_rate-Funktion oder an die google_search_agent. Dieses dezentrale Design ist entscheidend für die Entwicklung komplexer, wartungsfreundlicher Agentsysteme.
Geben Sie nun
adk web
im Terminal, um die Instanz zu starten und dem Agenten noch einmal die Frage „Wie ist die Wettervorhersage für Tokio, Japan, für den nächsten Monat?“ zu stellen.

Der Agent verwendet jetzt google_search_agent, um aktuelle Informationen abzurufen.
Sie können auch eine Frage zu einem aktuellen Tausch stellen. Der Agent sollte jetzt in der Lage sein, für die jeweilige Frage das richtige Tool zu verwenden.

Stellen Sie dem Kundenservicemitarbeiter ruhig weitere Fragen, für die Echtzeitinformationen erforderlich sind, und beobachten Sie, wie er die Anfragen mit den ihm zur Verfügung stehenden Tools bearbeitet.
6. Wikipedia-Tool von LangChain nutzen
Unser Agent entwickelt sich zu einem großartigen Reiseassistenten. Mit dem get_fx_rate-Tool kann es den Währungsumtausch abwickeln und mit dem google_search_agent-Tool die Logistik verwalten. Bei einer tollen Reise geht es aber nicht nur um die Logistik, sondern auch darum, die Kultur und Geschichte des Reiseziels zu verstehen.
google_search_agent kann zwar kulturelle und historische Fakten finden, Informationen aus einer speziellen Quelle wie Wikipedia sind jedoch oft strukturierter und zuverlässiger.
Das ADK ist so konzipiert, dass es sich problemlos erweitern lässt. So können Sie Tools aus anderen KI-Agent-Frameworks wie CrewAI und LangChain nahtlos einbinden. Diese Interoperabilität ist entscheidend, da sie eine schnellere Entwicklungszeit ermöglicht und Sie vorhandene Tools wiederverwenden können. Für diesen Anwendungsfall nutzen wir die Wikipedia-Tools von LangChain.
Beenden Sie zuerst den laufenden Agent-Prozess (Strg + C) und installieren Sie zusätzliche Bibliotheken in der aktuellen virtuellen Python-Umgebung, indem Sie die folgenden Befehle im Terminal eingeben.
uv pip install langchain-community wikipedia
third_party_tools.py-Datei erstellen
Erstellen Sie jetzt eine Python-Datei mit dem Namen third_party_tools.py im Ordner personal_assistant, indem Sie den folgenden Befehl im Terminal ausführen:
touch personal_assistant/third_party_tools.py
So sollte Ihre Ordnerstruktur jetzt aussehen:
ai-agents-adk/
└── personal_assistant/
├── .env
├── __init__.py
├── agent.py
├── custom_functions.py
├── custom_agents.py
└── third_party_tools.py
Diese Datei enthält die Implementierung für das LangChain-Wikipedia-Tool. Kopieren Sie den folgenden Code mit dem Cloud-Editor in die Datei third_party_tools.py:
from langchain_community.tools import WikipediaQueryRun
from langchain_community.utilities import WikipediaAPIWrapper
# Configure the Wikipedia LangChain tool to act as our cultural guide
langchain_wikipedia_tool = WikipediaQueryRun(
api_wrapper=WikipediaAPIWrapper(top_k_results=1, doc_content_chars_max=3000)
)
# Give the tool a more specific description for our agent
langchain_wikipedia_tool.description = (
"Provides deep historical and cultural information on landmarks, concepts, and places."
"Use this for 'tell me about' or 'what is the history of' type questions."
)
agent.py-Datei aktualisieren
Aktualisieren Sie nun die Datei agent.py mit dem folgenden Inhalt:
from google.adk.agents import Agent
from google.adk.tools import FunctionTool
from google.adk.tools.agent_tool import AgentTool
from google.adk.tools.langchain_tool import LangchainTool
from .custom_functions import get_fx_rate
from .custom_agents import google_search_agent
from .third_party_tools import langchain_wikipedia_tool
root_agent = Agent(
model='gemini-2.5-flash',
name='root_agent',
description='A helpful assistant for user questions.',
tools=[
FunctionTool(get_fx_rate),
AgentTool(agent=google_search_agent),
LangchainTool(langchain_wikipedia_tool),
]
)
Geben Sie nun
adk web
im Terminal, um die Instanz zu starten und dem Agenten die Frage „Tell me about the history of Kyoto“ (Erzähl mir etwas über die Geschichte von Kyoto) zu stellen.

Der Agent erkennt dies korrekt als historische Anfrage und verwendet das neue Wikipedia-Tool. Durch die Integration eines Drittanbietertools und die Zuweisung einer bestimmten Rolle haben Sie Ihren Agenten deutlich intelligenter und nützlicher für die Reiseplanung gemacht.
Um genau zu sehen, wie der Agent diese Auswahl getroffen hat, können Sie den Ereignis-Inspector in der adk web Benutzeroberfläche verwenden. Klicken Sie auf den Tab „Events“ und dann auf das letzte functionCall-Ereignis.

Im Inspector wird eine Liste aller verfügbaren Tools angezeigt und der tool_code für das vom Agent ausgeführte Tool wird hervorgehoben.

7. Bereinigen (optional)
Da in diesem Codelab keine Produkte mit langer Laufzeit verwendet werden, reicht es aus, die aktiven Agentsitzungen (z.B. die adk web-Instanz in Ihrem Terminal) durch Drücken von Strg + C im Terminal zu beenden.
Ordner und Dateien des Agent-Projekts löschen
Wenn Sie den Code nur aus Ihrer Cloud Shell-Umgebung entfernen möchten, verwenden Sie die folgenden Befehle:
cd ~
rm -rf ai-agents-adk
Vertex AI API deaktivieren
Führen Sie den folgenden Befehl aus, um die zuvor aktivierte Vertex AI API zu deaktivieren:
gcloud services disable aiplatform.googleapis.com
Gesamtes Google Cloud-Projekt herunterfahren
Wenn Sie Ihr Google Cloud-Projekt vollständig beenden möchten, finden Sie hier eine detaillierte Anleitung.
8. Fazit
Das wars! Sie haben das Lab erfolgreich abgeschlossen. Sie haben den persönlichen Assistenten-Agenten erfolgreich mit benutzerdefinierten Funktionen und Echtzeit-Zugriff auf die Google Suche ausgestattet. Offizielle Dokumentation zur Verwendung von Tools mit dem Google ADK
Vor allem haben Sie das grundlegende Architekturmuster für die Entwicklung leistungsfähiger Agents kennengelernt: die Verwendung spezialisierter Agents als Tools. Indem Sie einen dedizierten google_search_agent erstellen und ihn Ihrem root_agent zur Verfügung stellen, haben Sie den ersten Schritt von der Entwicklung eines einzelnen Agenten zur Orchestrierung eines einfachen, aber leistungsstarken Multi-Agent-Systems getan.
Sie sind jetzt bestens auf das nächste Codelab in der Reihe vorbereitet, in dem wir uns genauer mit der Orchestrierung mehrerer Agents und Workflows befassen. Bis dann!