1. Hinweis
Willkommen zum zweiten Teil der Reihe „KI-Agenten mit ADK erstellen“! In diesem praxisorientierten Codelab statten Sie einen einfachen KI-Agenten mit verschiedenen Tools aus.
Diese Anleitung bietet zwei Möglichkeiten für den Einstieg: eine für Nutzer, die das Codelab KI-Agenten mit dem ADK erstellen: Grundlagen durchgearbeitet haben, und eine für Nutzer, die ganz von vorn beginnen. In beiden Fällen erhalten Sie den erforderlichen Basis-Agent-Code für den Anfang.
Am Ende dieses Codelabs haben Sie Ihren persönlichen Assistenten-Agenten mit Tools für verschiedene Zwecke ausgestattet. In den folgenden Teilen dieser Reihe wird er zu einem komplexen Multi-Agenten-System (MAS) erweitert.
Sie können auch über die verkürzte URL goo.gle/adk-using-tools auf dieses Codelab zugreifen.
Voraussetzungen
- Grundkenntnisse zu Konzepten der generativen KI
- Grundlegende Kenntnisse der Python-Programmierung
- Vertrautheit mit der
gcloud-Befehlszeile und dem Python-Tooluv - Sie haben das Codelab KI-Agenten mit ADK erstellen: Grundlagen oder ein ähnliches Codelab abgeschlossen.
Lerninhalte
- Sie können Ihrem KI-Agenten neue Fähigkeiten verleihen, indem Sie benutzerdefinierte Python-Funktionen als Tools erstellen.
- Verbinden Sie Ihren Agenten mit Echtzeitinformationen über integrierte Tools wie die Google Suche.
- Strukturieren Sie einen Multi-Tool-Agenten, indem Sie spezialisierte Sub-Agenten für komplexe Aufgaben erstellen.
- Tools aus beliebten KI-Frameworks wie LangChain lassen sich einbinden, um die Funktionen schnell zu erweitern.
Voraussetzungen
- Einen funktionierenden 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 KI-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 modularer Code, mit dem der Agent bestimmte Aktionen ausführen kann, z. B. das Abrufen von Echtzeitdaten oder das Aufrufen einer externen API. Durch die Verwendung von Tools werden die Funktionen weit über die einfache Konversation hinaus erweitert.
Das ADK bietet drei Kategorien von Tools:
- Funktionstools:Benutzerdefinierte Tools, die Sie entwickeln, um die spezifischen Anforderungen Ihrer Anwendung zu erfüllen, z. B. vordefinierte Funktionen und Agents.
- Integrierte Tools:Sofort einsatzbereite Tools, die vom Framework für häufige Vorgänge wie die Google Suche und die Codeausführung bereitgestellt werden.
- Drittanbietertools:Beliebte externe Bibliotheken wie Serper und Tools von LangChain und CrewAI.
Weitere Informationen zur Verwendung von Tools mit ADK-Agenten finden Sie in der offiziellen Dokumentation. In diesem Codelab fügen wir unserem einfachen Agenten Tools hinzu, um ihn in einen leistungsstarken persönlichen Reiseassistenten zu verwandeln. Fangen wir an!
3. Erste Schritte: Ihr Basis-Agent
Bevor Sie einen Agent mit Tools ausstatten können, benötigen Sie einen einfachen 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-Agenten mit dem ADK erstellen: Grundlagen gerade abgeschlossen haben, sind Sie bereit. Sie können weiterhin in Ihrem vorhandenen ai-agents-adk-Projektverzeichnis arbeiten.
Wenn Sie (ai-agents-adk) in der Cloud Shell-Eingabeaufforderung nicht sehen, führen Sie die folgenden Befehle aus, um die virtuelle Python-Umgebung zu aktivieren:
cd ~/ai-agents-adk
source .venv/bin/activate
Pfad B: Neu beginnen
Wenn Sie dieses Codelab direkt starten, 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
- Agenten über die 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
An diesem Punkt sollten Sie bereits wissen, wie Sie mit dem ADK einen einfachen KI-Agenten erstellen und ihn in der Entwicklungsoberfläche 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: What is the exchange rate from Singapore dollars to Japanese yen? (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 Function Tool für den Agenten ein.
Beenden Sie den laufenden Agentprozess mit der Tastenkombination Strg + C im Terminalfenster.
custom_functions.py-Datei erstellen
Führen Sie diesen Befehl im Terminal aus, um im Ordner personal_assistant eine Python-Datei mit dem Namen custom_functions.py zu erstellen und sie im Code-Editor zu öffnen.
cloudshell edit personal_assistant/custom_functions.py
So sollte Ihre Ordnerstruktur jetzt aussehen:
ai-agents-adk/
└── personal_assistant/
├── .env
├── __init__.py
├── agent.py
└── custom_functions.py
Diese custom_functions.py-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 in die Datei 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 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-3.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 mit folgendem Befehl neu:
adk web --allow_origins "regex:https://.*\.cloudshell\.dev"
Wenn der KI-Agent aktiv ist, stellen Sie dieselbe Frage noch einmal: „Wie hoch ist 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 Fragen zum Thema Währungsumrechnung stellen.
5. Integrieren des integrierten Google-Suchtools
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. Stelle 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 Google Suche, die sofort einsatzbereit sind und die Interaktion unseres Agenten mit der Außenwelt vereinfachen.
Wenn Sie den KI-Agenten mit dem Google Suche-Tool ausstatten möchten, müssen Sie ein Multi-Agent-Muster implementieren. Zuerst erstellen Sie einen spezialisierten Agenten, dessen einzige Aufgabe darin besteht, Google-Suchanfragen auszuführen. Weisen Sie diesen neuen Google Search Agent dann unserem Haupt-personal_assistant als Tool zu. Und so gehts:
custom_agents.py-Datei erstellen
Führen Sie diesen Befehl im Terminal aus, um im Ordner personal_assistant eine Python-Datei mit dem Namen custom_agents.py zu erstellen und im Code-Editor zu öffnen:
cloudshell edit 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 custom_agents.py-Datei enthält den Code für die spezielle google_search_agent. Kopieren Sie den folgenden Code 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-3.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],
)
Nachdem die Datei erstellt wurde, aktualisieren Sie die Datei agent.py wie unten dargestellt.
agent.py-Datei aktualisieren
Kopieren Sie diesen Codeblock und ersetzen Sie 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-3.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 leistungsstarke neue 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 dassgoogle_searchdas einzige Tool ist. Sie ist eine Suchspezialistin. agent_tool.AgentTool: Dies ist ein spezieller Wrapper aus dem ADK. Es 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 intelligenteres
root_agent: Unserroot_agenthat jetzt ein neues Tool:AgentTool(agent=google_search_agent). Sie weiß nicht, wie man im Web sucht, aber sie weiß, dass sie ein Tool hat, an das sie Suchaufgaben delegieren kann.
Das Anweisungsfeld 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 KI-Agentensysteme.
Geben Sie nun diesen Befehl in das Terminal ein, um die Instanz zu starten:
adk web --allow_origins "regex:https://.*\.cloudshell\.dev"
Wenn der Agent ausgeführt wird, stellen Sie ihm noch einmal die Frage „Wie lautet die Wettervorhersage für Tokio, Japan, für den nächsten Monat?“.

Der Agent verwendet jetzt google_search_agent, um aktuelle Informationen zu erhalten.
Sie können auch eine Frage zu einem aktuellen Umtausch stellen. Der Agent sollte jetzt das richtige Tool für die jeweilige Frage verwenden können.

Stellen Sie dem Agenten 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. LangChain-Wikipedia-Tool nutzen
Unser Agent entwickelt sich zu einem großartigen Reiseassistenten. Mit dem Tool get_fx_rate kann es den Währungsumtausch abwickeln und mit dem Tool google_search_agent 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 jedoch so konzipiert, dass es sich problemlos erweitern lässt. So können Sie Tools aus anderen KI-Agenten-Frameworks wie CrewAI und LangChain nahtlos einbinden. Diese Interoperabilität ist entscheidend, da sie eine schnellere Entwicklung ermöglicht und Sie vorhandene Tools wiederverwenden können. Für diesen Anwendungsfall verwenden 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
Mit dem folgenden Befehl wird eine Python-Datei mit dem Namen third_party_tools.py im Ordner personal_assistant erstellt und im Cloud Editor geöffnet:
cloudshell edit 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 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-3.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 diesen Befehl in das Terminal ein, um die Instanz zu starten:
adk web --allow_origins "regex:https://.*\.cloudshell\.dev"
Wenn der Agent bereit ist, stellen Sie ihm die Frage: Erzähle mir etwas über die Geschichte von Kyoto.

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.
Wenn Sie genau sehen möchten, 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 „Ereignisse“ und dann auf das letzte functionCall-Ereignis.

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

7. Umgebung bereinigen
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 oder Cmd + C im Terminal zu beenden.
Ordner und Dateien von Agent-Projekten löschen
Wenn Sie nur den Code aus Ihrer Cloud Shell-Umgebung entfernen möchten, verwenden Sie die folgenden Befehle:
cd ~
rm -rf ai-agents-adk
Gemini Enterprise Agent Platform API deaktivieren
Führen Sie den folgenden Befehl aus, um die zuvor aktivierte API zu deaktivieren:
gcloud services disable aiplatform.googleapis.com
Gesamtes Google Cloud-Projekt herunterfahren
Wenn Sie Ihr Google Cloud-Projekt vollständig herunterfahren möchten, folgen Sie der offiziellen Anleitung.
8. Fazit
Glückwunsch! Sie haben den persönlichen Assistenten-Agenten erfolgreich mit benutzerdefinierten Funktionen und Echtzeit-Zugriff auf die Google Suche ausgestattet. Lesen Sie die offizielle Dokumentation zur Verwendung von Tools mit dem Google ADK.
Vor allem haben Sie das grundlegende Architekturmuster für die Entwicklung leistungsfähiger Agenten kennengelernt: die Verwendung spezialisierter Agenten 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 Erstellung eines einzelnen KI-Agenten zur Orchestrierung eines einfachen, aber leistungsstarken Multi-Agenten-Systems getan.
Sie sind jetzt bestens auf das nächste Codelab (in Kürze verfügbar) in der Reihe vorbereitet, in dem wir uns genauer mit der Orchestrierung mehrerer Agents und Workflows befassen. Bis dann!