Tools und function calling: So geben Sie Ihrem Agenten Hände
Fragen Sie ein Sprachmodell „Wie ist das Wetter gerade in Tokio?", passiert eines von zwei Dingen: Es rät, oder es gibt zu, dass es das nicht weiß. Es hat kein Fenster zur Außenwelt. Es kann denken und schreiben, aber es kann nichts *nachschlagen* und nichts *tun*.
Tools ändern das. Ein Tool ist eine Funktion, die Ihr Agent aufrufen kann: eine Wetterabfrage, eine Datenbankabfrage, eine „E-Mail senden"-Aktion, ein Taschenrechner. Sie beschreiben das Tool, das Modell entscheidet, wann es es einsetzt, und plötzlich hat Ihr Agent Hände.
Was ein „Tool" tatsächlich ist
Ein Tool (in diesem Zusammenhang auch Function genannt) ist Code, den Sie bereits haben, so verpackt, dass die KI ihn anfordern kann.
Sie geben dem Modell drei Dinge:
- Einen Namen, etwa
get_weather. - Eine Beschreibung in normaler Sprache: was es tut und wann man es einsetzt.
- Die Parameter, die es annimmt, beschrieben in einem strukturierten Format namens JSON Schema (eine Standardmethode, um festzulegen: „dieses Feld ist Text, jenes eine Zahl, dieses ist Pflicht").
Das Modell führt Ihren Code nie aus. Es liest nur diese Beschreibungen und sagt, wenn es sinnvoll erscheint: „Bitte rufe get_weather mit city = Tokyo auf." Ihr Programm führt die echte Funktion aus und gibt die Antwort zurück.
Hier eine konkrete Tool-Definition. Dieses Format ist bei OpenAI, Anthropic und Google nahezu identisch:
{
"name": "get_weather",
"description": "Get the current weather for a city. Use this whenever the user asks about weather, temperature, or conditions.",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "The city name, e.g. 'Tokyo' or 'Paris'"
},
"units": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": "Temperature units"
}
},
"required": ["city"]
}
}Beachten Sie, wie viel die Beschreibung leistet. „Use this whenever the user asks about weather" ist keine Dekoration. Es ist eine Anweisung. Das Modell liest sie, um zu entscheiden, *ob* es das Tool überhaupt aufruft.
Die Schleife aus Anfrage und Antwort
Hier ist der Kern der Sache, und ererDas Verhältnis von Interaktionen (Likes, Kommentare, Shares) zur Reichweite eines Inhalts. Zeigt, wie stark die Zielgruppe reagiert, gemessen an der Zahl der Personen, die den Inhalt gesehen haben.Vollständige Definition ansehen → ist einfacher, als er klingt. Sie und das Modell wechseln sich ab.
- Sie senden die Nachricht des Nutzers plus die Liste der verfügbaren Tools.
- Das Modell antwortet auf eine von zwei Arten: mit einer normalen Textantwort oder mit der Anforderung eines Tool-Aufrufs (mit ausgefüllten Argumenten).
- Wenn es ein Tool anfordert, führt Ihr Code die echte Funktion aus und sendet das Ergebnis zurück.
- Das Modell liest das Ergebnis und antwortet entweder dem Nutzer oder fordert ein weiteres Tool an.
Diese Schleife wiederholt sich, bis das Modell hat, was es braucht. Dieses Hin und Her meinen die Leute mit function calling oder tool calling.
Gehen wir einen echten Austausch durch:
- Nutzer: „Sollte ich heute in Tokio einen Regenschirm mitnehmen?"
- Modell: (ohne Small Talk) „Rufe
get_weathermitcity='Tokyo'auf." - Ihr Code: ruft die Wetter-APIAPIApplication Programming Interface: eine standardisierte Schnittstelle, über die Anwendungen kommunizieren und Daten austauschen, ohne die interne Funktionsweise der jeweils anderen zu kennen.Vollständige Definition ansehen → auf, erhält
{"condition": "rain", "temp_c": 14}zurück. - Sie senden dieses Ergebnis zurück.
- Modell: „Ja, nehmen Sie einen Regenschirm mit. In Tokio regnet es bei etwa 14 °C."
Das Modell hat eine Entscheidung getroffen (ich brauche Live-Daten), Sie haben die Arbeit gemacht (die API aufgerufen), und das Modell hat das Rohergebnis in eine nützliche Antwort verwandelt.
Eine anbieterneutrale Code-Skizze
Die genauen Funktionsnamen unterscheiden sich je nach Anbieter, aber die Struktur ist immer dieselbe. Hier die Schleife in Pseudo-Python, so wie jedes große SDK arbeitet:
tools = [get_weather_definition] # das JSON-Schema von oben
messages = [{"role": "user", "content": "Umbrella in Tokyo today?"}]
while True:
response = model.generate(messages=messages, tools=tools)
if response.wants_tool_call:
call = response.tool_call # z. B. get_weather(city="Tokyo")
result = run_my_function(call.name, call.arguments)
# das echte Ergebnis zurück in die Konversation geben
messages.append(response.as_message())
messages.append({
"role": "tool",
"name": call.name,
"content": result
})
continue # erneut durchlaufen, damit das Modell das Ergebnis nutzen kann
# kein Tool nötig: wir haben eine finale Antwort
print(response.text)
breakLesen Sie die Schleife noch einmal. Das while True ist der ganze Trick: weitermachen, solange das Modell Tools anfordert, und aufhören, sobald es eine schlichte Antwort liefert. Ein Agent, der mehrere Tools nacheinander aufrufen kann (einen Kunden nachschlagen, dann dessen Bestellungen prüfen, dann eine Antwort entwerfen), ist diese Schleife, die ein paar Mal mehr läuft.
Wenn Sie den zugrunde liegenden Standard hinter diesen JSON-Parameterdefinitionen wollen: Die JSON-Schema-Dokumentation ist die kostenlose, kanonische Referenz.
Gute Tools vs. frustrierende Tools
Das Modell kann nur nutzen, was Sie gut beschreiben. Die meisten Agenten-Fehler lassen sich auf schlampige Tool-Definitionen zurückführen, nicht auf ein „dummes" Modell.
Schreiben Sie Beschreibungen, als würden Sie einen neuen Mitarbeiter briefen
Vage:
search: sucht DingeKlar:
search_help_articles: Durchsucht die interne Support-Wissensdatenbank nach Artikeln zu Abrechnung, Erstattungen und Kontoeinstellungen. Gibt die drei besten Treffer zurück. Vor der Beantwortung jeder Richtlinienfrage verwenden.Die zweite Version sagt dem Modell, *was drin ist*, *was es zurückbekommt* und *wann es danach greifen soll*.
Halten Sie die Parameter knapp
Jeder optionale Parameter ist eine Gelegenheit für das Modell, falsch zu raten. Nutzen Sie enum (eine feste Liste erlaubter Werte), wenn es nur wenige gültige Optionen gibt, etwa ["celsius", "fahrenheit"]. Markieren Sie Pflichtfelder als Pflicht. Weniger, klarere Eingaben bedeuten weniger Fehler.
Geben Sie Ergebnisse zurück, die das Modell auch lesen kann
Senden Sie saubere, beschriftete Daten zurück:
{"condition": "rain", "temp_c": 14, "city": "Tokyo"}keine Wand aus rohem HTML und kein 500-zeiliges Log. Das Modell muss interpretieren, was Sie zurückgeben, also machen Sie es ihm leicht.
Function Calling with LLMs, Explained Simply
Wissenscheck
1. Welche grundlegende Einschränkung eines reinen Sprachmodells beheben Tools laut der Lektion?
2. Wer führt im beschriebenen Function-Calling-Ablauf tatsächlich den Code des Tools aus?
3. Warum betont die Lektion, dass die Tool-Beschreibung („Use this whenever the user asks about weather...") „keine Dekoration" ist?
4. Wählen Sie ALLE richtigen Antworten. Welche drei Dinge müssen Sie dem Modell laut Lektion bei der Definition eines Tools liefern?
Wählen Sie alle richtigen Antworten aus.
5. Wählen Sie ALLE richtigen Antworten. Was leistet der JSON-Schema-Teil einer Tool-Definition?
Wählen Sie alle richtigen Antworten aus.
Gängige Tools, die Sie tatsächlich bauen werden
Sobald die Schleife klick macht, sehen Sie überall Tools. Ein paar Muster, die in fast jedem echten Agenten auftauchen:
- Retrieval: eine Wissensdatenbank durchsuchen, ein Dokument nachschlagen, eine Datenbank abfragen. So verankern Sie einen Agenten in *Ihren* Daten.
- Aktionen: eine E-Mail senden, einen Kalendereintrag anlegen, ein Support-Ticket eröffnen, eine Bestellung erstatten. Diese *verändern* etwas, also gehen Sie sorgsam damit um (mehr dazu weiter unten).
- Berechnung: ein Taschenrechner, ein Währungsumrechner, ein Helfer für Datumsberechnungen. Modelle sind bekanntlich wackelig bei exakter Arithmetik, Mathematik an eine echte Funktion abzugeben ist also ein schneller Gewinn an Zuverlässigkeit.
- Handoffs: einen anderen Agenten oder ein spezialisiertes Modell aufrufen. 2026 ist das üblich: Ein „Router"-Agent entscheidet, welches spezialisierte Tool oder welcher Sub-Agent eine Anfrage übernehmen soll.
Read-only-Tools vs. Aktions-Tools
Es gibt einen echten Unterschied zwischen einem Tool, das *liest* (Wetter abrufen, Artikel suchen), und einem, das *handelt* (E-Mail senden, Karte belasten).
Lese-Tools sind risikoarm: Schlimmstenfalls schlägt der Agent etwas nach, was er nicht gebraucht hätte. Aktions-Tools kkDie durchschnittliche Zahl neuer Nutzer, die jeder bestehende Nutzer über Empfehlungen generiert. Über 1,0 verstärkt sich das Wachstum selbst und wird exponentiell.Vollständige Definition ansehen →önnen Schaden anrichten, wenn das Modell danebenliegt. Setzen Sie dafür ein GuardrailGuardrailRegeln und Kontrollen, die ein KI-System in sicheren, rechtskonformen und markengerechten Grenzen halten und unerwünschte Ausgaben blockieren.Vollständige Definition ansehen →: menschliche Bestätigung vor dem Senden verlangen, begrenzen, worauf das Tool zugreifen darf, oder jeden Aufruf protokollieren. Ein „Erstattung senden"-Tool sollte den Betrag wohl deckeln und größere Summen von einer Person freigeben lassen.
Das ist eine Design-Entscheidung, kein Implementierungsdetail. Legen Sie von Anfang an fest, welche Tools Ihr Agent eigenständig auslösen darf und welche einen Menschen in der Schleife brauchen.
Wo die Anbieter ins Spiel kommen
Jeder große Anbieter unterstützt dasselbe Tool-Calling-Muster, und jeder liefert ein übergeordnetes Agent SDK (ein Software-Toolkit, das die Schleife für Sie ausführt, damit Sie das while True nicht von Hand schreiben müssen):
- OpenAI Agents SDK
- Claude Agent SDK (Anthropic)
- Google Agent Development Kit (ADK)
Sie übernehmen die Klempnerarbeit: Tools übergeben, Tool-Aufrufe parsen, Ergebnisse zurückspielen. Das Konzept, das Sie gerade gelernt haben, ist die Grundlage aller drei. Wenn Sie bereit für anbieterspezifische Syntax sind, sehen Sie sich die Deep-Dive-Blöcke zu den einzelnen Anbietern an.
Noch etwas Wissenswertes: Es gibt einen wachsenden offenen Standard namens Model Context Protocol (MCP), mit dem Sie ein Tool *einmal* definieren und in Agenten verschiedener Anbieter einstecken können. Denken Sie an einen Universaladapter für Tools. Bis 2026 ist es zunehmend der Standardweg, wie Teams Tools über Systeme hinweg teilen.
Key Takeaways
- Ein Tool ist Ihr Code, für das Modell beschrieben. Geben Sie ihm einen klaren Namen, eine Beschreibung in normaler Sprache und typisierte Parameter (JSON SchemaSchemaEin Schema ist der formale Bauplan, der festlegt, wie Daten in einer Datenbank, einer Datei oder einer Nachricht strukturiert, benannt, typisiert und miteinander verknüpft sind.Vollständige Definition ansehen →). Das Modell fordert den Aufruf an; ausgeführt wird er von Ihrem Code.
- Der ganze Motor ist eine Schleife. Nachricht plus Tools senden, prüfen, ob das Modell ein Tool will, es ausführen, das Ergebnis zurückspielen, wiederholen, bis eine schlichte Antwort kommt.
- Schreiben Sie Beschreibungen wie ein Briefing. Sagen Sie, was das Tool tut, was es zurückgibt und wann man es einsetzt. Die meisten Agenten-Fehler kommen von vagen Tool-Definitionen, nicht vom Modell.
- Trennen Sie Lese-Tools von Aktions-Tools. Alles, was die Welt verändert (senden, belasten, löschen), braucht ein Guardrail: Bestätigung, Limits oder Logging.
- Beginnen Sie mit dem Konzept, wählen Sie dann ein SDK. Das OpenAI Agents SDK, das Claude Agent SDK und das Google ADK führen alle dieselbe Schleife für Sie aus, und MCPMCPEin offener Standard, mit dem KI-Assistenten einheitlich und kontrolliert an die Werkzeuge und Daten des Unternehmens angebunden werden, statt jede Integration einzeln zu bauen.Vollständige Definition ansehen → lässt Sie ein Tool über alle hinweg wiederverwenden.
Verwandte Artikel
Aktuelle Blogartikel, die auf dieser Lektion aufbauen.
- KIAnthropic hat den Menschen im Loop gelassen, und das sagt mehr aus als der Biologie-FundAnthropics Biologielabor steht Berichten zufolge kurz vor einer bedeutenden wissenschaftlichen Entdeckung, und Claude hat bei der Suche geholfen. Was die Ankündigung nebenbei bestätigt: Niemand hat Claude mit echten Tools allein arbeiten lassen. Diese Einschränkung liegt nicht an der Technik, sie zeigt, wie schwierig echte menschliche Kontrolle wird, sobald Agenten an Live-Systeme angebunden sind.
- KIWas ein KI-Agent wirklich ist und wo der Hype endetDer Begriff „KI-Agent" wird auf alles angewendet, vom einfachen Chatbot bis zur autonomen Software, die Flüge bucht und Code schreibt. Dieser Artikel räumt mit dem Lärm auf und erklärt, was Agenten tatsächlich sind, wie sie technisch funktionieren und wann ihr Einsatz sich lohnt.
- KIWo KI-Agenten helfen und wo sie scheitern: Lektionen von KlarnaKlarna hat einen der meistzitierten Unternehmenseinsätze von KI-Agenten im Finanzsektor durchgeführt, und die Ergebnisse waren tatsächlich gemischt. Hier steht, was wirklich passiert ist, was die Zahlen bedeuten und was jede Organisation daraus mitnehmen sollte, bevor sie sich auf agentenbasierte Automatisierung einlässt.