Wenn die KI nicht mehr nur redet, sondern auf den Knopf drückt — wie das technisch geht.
Architekturen 10 min Fortgeschritten 26. April 2026
Im vorherigen Artikel hast du gesehen, wie RAG einem Sprachmodell Zugang zu aktuellen Dokumenten gibt. Aber Dokumente lesen ist immer noch passiv — wie jemandem eine Bibliothek zu geben und ihn gleichzeitig am Schreibtisch festzuketten. Was wäre, wenn das Modell tatsächlich handeln könnte — Live-Daten abrufen, Workflows auslösen, Nachrichten senden?
Function Calling ist der Mechanismus, der das ermöglicht. Er macht die KI nicht schlauer — er gibt der KI Hände. Dieser Artikel zeigt genau, wie das funktioniert: warum das Modell Werkzeuge braucht, wie Werkzeuge definiert werden und wie die komplette Schleife von der Frage zur realen Aktion unter der Haube arbeitet.
Die Grenze des Textes — Warum Sprachmodelle keine Arme haben
Stell dir ein superintelligentes Gehirn vor, das in einem Nährstoffglas auf einem Labortisch schwebt. Es kann brillant denken — Strategien entwerfen, Gedichte schreiben, Gleichungen lösen. Aber es hat keine Augen, keine Ohren, keine Hände. Wenn du ihm sagst "Schick eine E-Mail an Sarah", kann es die perfekte Nachricht verfassen, aber es kann den Senden-Knopf nicht drücken. Es hat keine Verbindung zur Außenwelt.
Genau so funktionieren große Sprachmodelle: Text rein, Text raus. Sie sagen das nächste Wort vorher, basierend auf statistischen Mustern aus ihren Trainingsdaten. Sie haben keinen Mechanismus, um auf externe Systeme zuzugreifen, Code auszuführen oder Echtzeitinformationen wahrzunehmen. RAG hat dieses Problem teilweise gelöst, indem es relevante Dokumente in den Kontext injiziert — aber RAG ist passiv: es liefert Wissen, keine Handlungsfähigkeit.
LLM ohne Werkzeuge
Nutzer fragt nach dem Bitcoin-Kurs. Das Modell hat keinen Internetzugang. Es generiert: "42.350 $" — eine plausibel klingende, aber komplett erfundene Zahl.
LLM mit Function Calling
Dasselbe Modell erkennt ein verfügbares get_crypto_price-Werkzeug, generiert den JSON-Aufruf, der Entwicklercode ruft eine Live-API ab, und das Modell antwortet mit dem tatsächlichen aktuellen Kurs.
Dieselbe Frage, dasselbe Modell — radikal unterschiedliche Zuverlässigkeit. Im ersten Fall halluziniert das Modell eine statistisch plausible Antwort, weil sein Trainingssignal plausible Textfortsetzung belohnt, nicht epistemische Ehrlichkeit. Im zweiten Fall wird die Halluzination durch echte Daten ersetzt.
Anders als ein echtes Gehirn im Glas, das seine eigenen Grenzen erkennen würde ("Ich kann nicht sehen — ich bin in einem Glas"), fehlt einem LLM diese Selbstwahrnehmung. Es halluziniert, weil sein Trainingssignal die Produktion plausibler Antworten belohnt — nicht das Eingestehen von Unwissen.
Häufiges Missverständnis
"Function Calling bedeutet, dass die KI Code auf meinem Server ausführt."
Falsch. Die KI generiert ein JSON-Objekt — nichts weiter. Sie berührt niemals direkt deinen Server, deine API oder deine Datenbank. Dein Code empfängt das JSON, validiert es, entscheidet ob er es ausführt und führt den tatsächlichen Aufruf durch. Die KI ist der Architekt, der Baupläne zeichnet; dein Code ist die Baufirma.
Das Werkzeuginventar — JSON Schema als Vertrag
Bevor ein Modell Werkzeuge nutzen kann, muss ein Entwickler sie mittels eines JSON-Schemas deklarieren (JSON ist ein standardisiertes Textformat, mit dem Computer Daten austauschen), das bei jeder API-Anfrage mitgeschickt wird. Jede Werkzeugdefinition hat drei Bestandteile: einen technischen Bezeichner (name), eine natürlichsprachliche Beschreibung (description) und eine Parameterdefinition (parameters). Das Modell liest diese Definitionen und entscheidet dynamisch — bei jeder Nutzernachricht — ob ein Werkzeug gebraucht wird und welches.
2023 Produkte
GPT-4: Multimodales KI-Modell
Der Durchbruch zu menschlicher Leistung in professionellen und akademischen Benchmarks. Am 14. März 2023 enthüllte OpenAI GPT-4 – ein Large Multimodal Model, das Text- und Bildeingaben verarbeitet und menschliches Niveau in verschiedenen Disziplinen erreicht. Die Verbesserungen waren erheblich: Während GPT-3.5 das Bar Exam in den unteren 10% bestand, erreichte GPT-4 die oberen 10%. Bei SAT-Tests steigerte sich die Leistung vom 82. auf das 94. Perzentil. Nach sechs Monaten iterativen Alignments mit Erkenntnissen aus dem adversarial testing program und ChatGPT-Feedback wurde der gesamte Deep Learning-Stack neu aufgebaut. Die multimodalen Fähigkeiten ermöglichen die Verarbeitung von Dokumenten, Diagrammen und Screenshots mit derselben Qualität wie reine Texteingaben. GPT-4 etablierte neue Standards für KI-Sicherheit und Leistung.
JSON Schema — Der Werkzeugvertrag
AnalogieDefinition
Stell dir einen blinden Meisterhandwerker vor. Du gibst ihm einen Werkzeugkasten, in dem jedes Werkzeug ein detailliertes Etikett in Blindenschrift trägt. Das Etikett des Hammers lautet: "Zum Einschlagen von Nägeln in Holz. Benötigt: Nagelgröße in mm, Materialtyp." Das Etikett des Schraubendrehers lautet: "Zum Drehen von Schrauben. Benötigt: Schraubenkopftyp, Größe." Wenn ein Kunde sagt "Häng dieses Bild an die Wand", ertastet der Handwerker die Etiketten, wählt den Hammer und sagt: "Ich brauche den Hammer mit einem 40mm-Nagel für Holz." Er schwingt den Hammer nicht selbst — er teilt dir mit, welches Werkzeug mit welchen Einstellungen er braucht.
Analogie:
Stell dir einen blinden Meisterhandwerker vor. Du gibst ihm einen Werkzeugkasten, in dem jedes Werkzeug ein detailliertes Etikett in Blindenschrift trägt. Das Etikett des Hammers lautet: "Zum Einschlagen von Nägeln in Holz. Benötigt: Nagelgröße in mm, Materialtyp." Das Etikett des Schraubendrehers lautet: "Zum Drehen von Schrauben. Benötigt: Schraubenkopftyp, Größe." Wenn ein Kunde sagt "Häng dieses Bild an die Wand", ertastet der Handwerker die Etiketten, wählt den Hammer und sagt: "Ich brauche den Hammer mit einem 40mm-Nagel für Holz." Er schwingt den Hammer nicht selbst — er teilt dir mit, welches Werkzeug mit welchen Einstellungen er braucht.
Definition:
Ein JSON-Schema definiert einen Vertrag zwischen Entwickler und Modell. Der name ist ein eindeutiger technischer Bezeichner (z.B. get_weather). Die description ist das kritischste Element — sie ist die einzige Möglichkeit des Modells, den Zweck des Werkzeugs zu verstehen. Die parameters definieren erwartete Eingabetypen, Pflichtfelder und erlaubte Werte. Das Modell verwendet die Beschreibung zur Werkzeugauswahl und das Parameterschema zur Argumentgenerierung.
Beispiel: Werkzeugdefinition
{
"tools": [{
"name": "get_weather",
"description": "Gibt das aktuelle Wetter für
eine Stadt zurück. Verwenden, wenn
der Nutzer nach Wetter, Temperatur oder
Outdoor-Bedingungen fragt.",
"parameters": {
"type": "object",
"properties": {
"city": { "type": "string" },
"unit": { "enum": ["celsius","fahrenheit"] }
},
"required": ["city"]
}
}]
}
Nutzer fragt: "Wie warm ist es in Berlin?" — Das Modell generiert: {"name": "get_weather", "arguments": {"city": "Berlin", "unit": "celsius"}}. Beachte: Der Nutzer hat Celsius nie erwähnt — das Modell hat die passende Einheit aus dem deutschsprachigen Kontext geschlussfolgert.
Die Qualität der Beschreibung bestimmt alles. Eine vage Beschreibung wie "Datenbankfunktion" führt dazu, dass das Modell das Werkzeug ignoriert, selbst wenn der Nutzer eine passende Frage stellt. Eine präzise Beschreibung wie "Führt eine Leseanfrage an die Bestelldatenbank aus. Verwenden, wenn der Nutzer nach Bestellzahlen, Umsatz oder Kundendaten fragt" ermöglicht korrekte Werkzeugauswahl.
Häufiges Missverständnis
"Die KI kann jede Funktion aufrufen, die sie will."
Falsch. Das Modell kann nur Werkzeuge aufrufen, die explizit im Schema deklariert sind. Es ist eine Whitelist, kein offener Spielplatz. Wenn du drei Werkzeuge definierst, kann das Modell nur zwischen diesen drei wählen (oder keines wählen). Das ist eine kritische Sicherheitseigenschaft — der Entwickler kontrolliert den Aktionsraum vollständig.
Begriffsklärung
Function Calling (OpenAI, Google) und Tool Use (Anthropic) bezeichnen exakt denselben Mechanismus. Die JSON-Schema-basierte Deklaration, die strukturierte Ausgabe und die Ausführungsschleife sind architektonisch identisch bei allen Anbietern. Lass dich nicht von unterschiedlichen Markenbegriffen verwirren.
Deep Dive: Das ReAct-Pattern
2022 formalisierten Yao et al. mit dem ReAct-Paper (Reasoning and Acting) einen Ansatz, der Schlussfolgern und Handeln in einer einzigen Schleife vereint. Statt erst vollständig zu denken und dann zu handeln, wechselt das Modell zwischen Denken ("Ich muss das Wetter prüfen") und Handeln (Werkzeugaufruf) ab.
Dieser Ansatz war ein Wendepunkt für Agentenarchitekturen, weil er zeigte, dass Sprachmodelle ihre eigenen Aktionen planen und die Ergebnisse in weitere Entscheidungen einfließen lassen können — genau das, was Function Calling in der Praxis ermöglicht.
Das ReAct-Pattern ist heute die Grundlage für die meisten KI-Agenten-Frameworks. Wenn ein Agent in mehreren Schritten Werkzeuge aufruft, läuft im Hintergrund eine Variante dieses Musters ab.
Die Ausführungsschleife — Vom JSON zum Agenten
Function Calling allein ist nur die halbe Geschichte. Die vollständige Architektur ist eine vierschrittige Schleife, die sich wiederholen kann — und genau diese Wiederholung macht aus einem Chatbot einen Agenten.
1
Nutzer sendet Nachricht
2
Modell generiert JSON
3
Code führt Funktion aus
4
Ergebnis zurück an Modell
Ein einfaches Beispiel: Der Nutzer fragt "Wie ist das Wetter in Berlin?" Das Modell entscheidet, dass es das get_weather-Werkzeug braucht, und generiert den passenden JSON-Aufruf. Der Entwicklercode empfängt das JSON, ruft die echte Wetter-API auf und erhält "15 Grad, bewölkt". Dieses Ergebnis wird dem Modell als neue Nachricht übergeben. Das Modell formuliert daraus: "In Berlin sind es gerade 15 Grad bei bewölktem Himmel."
Die eigentliche Stärke zeigt sich beim Verketten: "Plane meinen Tag in Berlin morgen." Das Modell ruft nacheinander get_weather ("12 Grad, leichter Regen"), check_calendar ("Keine Termine") und search_indoor_activities ("Museumsinsel, Philharmonie, ...") auf. Jede Schleifeniteration liefert dem Modell neue Informationen, die seine nächste Entscheidung prägen.
Wetter abfragen Live-Wetterdaten für beliebige Städte abrufen
Kalender prüfen Termine einsehen und neue erstellen
Informationen suchen Restaurants, Aktivitäten oder Fakten recherchieren
E-Mails senden Nachrichten verfassen und versenden
Die KI ist wie ein Geschäftsführer im Eckbüro. Dein Entwicklercode ist der Assistent im Vorzimmer. Der Chef sagt: "Ruf Kunden Müller an und frag nach dem Liefertermin." Der Assistent greift zum Telefon, wählt, bekommt die Antwort "Lieferung am Freitag" und gibt sie weiter. Der Chef wendet sich an den Besucher und sagt: "Müller liefert Freitag." Der Besucher glaubt, der Chef wisse alles — aber der Assistent hat die eigentliche Arbeit erledigt.
Deep Dive: Sicherheitsaspekte
Function Calling gibt dem Modell die Fähigkeit, reale Aktionen auszulösen. Das macht Validierung nicht optional, sondern zwingend notwendig. Das Modell kann fehlerhafte Parameter halluzinieren, das falsche Werkzeug wählen oder durch geschicktes Prompt Engineering zu unbeabsichtigten Aufrufen verleitet werden.
Der Entwicklercode muss jeden generierten Aufruf validieren, bevor er ausgeführt wird: Sind die Parameter plausibel? Liegt die Anfrage innerhalb erlaubter Grenzen? Hat der Nutzer die Berechtigung für diese Aktion? Ein Modell, das "Lösche alle Kundendaten" als Werkzeugaufruf generiert, darf damit nicht durchkommen.
Die goldene Regel: Behandle jeden KI-generierten Werkzeugaufruf wie eine nicht vertrauenswürdige Nutzereingabe. Validiere, begrenze, protokolliere — und führe kritische Aktionen erst nach menschlicher Bestätigung aus.
Dieser Artikel hat gezeigt, wie Function Calling einem Sprachmodell Handlungsfähigkeit verleiht — von der passiven Textgenerierung zur aktiven Weltinteraktion. Der nächste Artikel im Pfad zeigt, wie APIs und MCP dieses Werkzeug-Ökosystem standardisieren und skalieren.
Interaktiv: So läuft ein Function Call ab
Klicke dich Schritt für Schritt durch einen vollständigen Function-Calling-Ablauf — von der Nutzerfrage über die Werkzeugauswahl bis zur finalen Antwort. Beobachte, wie der Call-Stack bei jedem Schritt wächst und schrumpft.
1
2
3
4
5
6
7
Code
1query = "Wetter in Berlin?"
2resp = llm.generate(query, tools)
3# LLM: {"name":"get_weather","city":"Berlin"}
4result = get_weather(city="Berlin")
5# Tool returns: "12°C, bewölkt"
6final = llm.generate(query, result)
7# "In Berlin: 12°C, bewölkt."
Call Stack
user_query
query="Wetter in Berlin?"
Schritt 1 / 7Startposition
Python trifft auf die Zeile result = greet("Ada"). Es erkennt einen Funktionsaufruf und bereitet sich darauf vor, die Funktion greet auszuführen.
Kernaussagen
Ein LLM ohne Werkzeuge ist ein Gehirn im Glas — brillant in Sprache, aber unfähig, mit der realen Welt zu interagieren. Bei dynamischen Fragen ist es zur Halluzination gezwungen.
Das JSON-Schema ist ein Vertrag, kein Vorschlag. Die Qualität der Werkzeugbeschreibung bestimmt, ob die KI das richtige Werkzeug wählt. Schlechte Beschreibungen führen zu falschen Aktionen oder verpassten Möglichkeiten.
Die KI führt niemals selbst etwas aus — sie generiert eine strukturierte Anfrage, dein Code erledigt die eigentliche Arbeit, und das Ergebnis fließt zurück. Diese Trennung ist sowohl der Sicherheitsmechanismus als auch die zentrale architektonische Einsicht.
Im nächsten Artikel erfährst du, wie APIs und das Model Context Protocol (MCP) diese Werkzeug-Infrastruktur standardisieren — damit nicht jeder Entwickler das Rad neu erfinden muss.
Wissenstest: Function Calling
Frage 1 / 6
Noch offen
Was sind die drei Bestandteile einer Werkzeugdefinition beim Function Calling?
1. Was sind die drei Bestandteile einer Werkzeugdefinition beim Function Calling?
☐ A) Eingabe, Ausgabe, Fehlerbehandlung
☐ B) Name, Beschreibung, Parameter
☐ C) Anfrage, Antwort, Callback
☐ D) Modell, Schema, Endpunkt
2. Warum halluziniert ein LLM ohne Werkzeuge eine Antwort auf "Wie ist der aktuelle Bitcoin-Kurs?", statt "Weiß ich nicht" zu sagen?
☐ A) Das Modell ist darauf programmiert zu lügen
☐ B) Das Trainingssignal des Modells belohnt plausible Textfortsetzung, und es hat keinen Mechanismus, um zu erkennen, dass ihm Echtzeitdaten fehlen
☐ C) Das Modell täuscht den Nutzer absichtlich, um Engagement zu steigern
☐ D) Das Modell hat Internetzugang, wählt aber, ihn nicht zu nutzen
3. Ein Entwickler erstellt ein Werkzeug mit der Beschreibung "Datenbank" (mehr nicht). Nutzer fragen "Wie viele Bestellungen hatten wir heute?", aber das Modell ruft das Werkzeug nie auf. Wende dein Wissen über Werkzeugbeschreibungen an, um das Problem zu diagnostizieren und zu beheben.
☐ A) Das Modell ist defekt und muss neu trainiert werden
☐ B) Das Parameterschema ist falsch
☐ C) Die Beschreibung ist zu vage, damit das Modell die Nutzerabsicht zuordnen kann — sie sollte spezifisch sein, z.B. "Fragt die Bestelldatenbank ab. Verwenden bei Fragen zu Bestellzahlen oder Umsatz."
☐ D) Der Werkzeugname sollte zur Frage passen
4. Ein Startup baut einen KI-Assistenten mit Function Calling für den Kundensupport. Das Modell kann refund_order, escalate_ticket und send_email aufrufen. Ein Kunde schreibt: "Erstatte meine letzten 500 Bestellungen und maile mir eine Bestätigung." Das Modell generiert korrektes JSON für alle 500 Erstattungen. Bewerte die Risiken und identifiziere die fehlende architektonische Absicherung.
☐ A) Kein Risiko — das Modell hat die Anfrage korrekt verstanden
☐ B) Das Modell sollte ablehnen, weil 500 zu viel ist
☐ C) Der Entwicklercode muss die Anfrage vor der Ausführung validieren — 500 Bestellungen ohne menschliche Genehmigung zu erstatten ist gefährlich, und die fehlende Absicherung ist serverseitige Validierung mit Geschäftslogik-Einschränkungen
☐ D) Das JSON-Schema sollte Erstattungen auf eine pro Aufruf begrenzen
5. Ein Chatbot hat Zugriff auf die Werkzeuge search_flights und book_flight. Ein Nutzer fragt: "Finde Flüge nach Rom am Samstag." Der Chatbot ruft search_flights auf, zeigt Ergebnisse und fragt: "Soll ich einen davon buchen?" Der Nutzer antwortet: "Ja, den günstigsten." Beschreibe die Schritte der Ausführungsschleife für die gesamte Interaktion.
☐ A) Ein einzelner Aufruf von book_flight reicht für die gesamte Interaktion
☐ B) Zwei Schleifendurchläufe: Erst search_flights (Nutzer-Frage → JSON → API-Aufruf → Ergebnisse → Antwort), dann book_flight (Nutzer-Bestätigung → JSON → API-Aufruf → Buchungsbestätigung → Antwort)
☐ C) Das Modell führt beide Aufrufe gleichzeitig parallel aus
☐ D) Der Nutzer muss die Flugdaten manuell eingeben, weil das Modell sich nicht an frühere Ergebnisse erinnern kann
6. Ein Unternehmen gibt seinem KI-Assistenten 50 Werkzeuge. Die Werkzeuge get_invoice und get_customer_info haben beide nur die Beschreibung "Datenbankabfrage". Nutzer berichten, dass der Assistent häufig Rechnungsinformationen anzeigt, wenn sie nach Kundendaten fragen, und umgekehrt. Analysiere die Ursache und schlage eine architektonische Lösung vor.
☐ A) 50 Werkzeuge sind zu viele — die maximale Anzahl ist 10
☐ B) Die Datenbank ist falsch konfiguriert und vermischt die Tabellen
☐ C) Beide Werkzeuge haben identische, unspezifische Beschreibungen. Das Modell kann sie nicht unterscheiden, weil die Beschreibung sein einziges Unterscheidungskriterium ist. Lösung: Präzise, unterscheidbare Beschreibungen wie "Ruft Rechnungsdetails ab. Verwenden bei Fragen zu Rechnungen, Beträgen, Zahlungsstatus" vs. "Ruft Kundenstammdaten ab. Verwenden bei Fragen zu Kontaktdaten, Kundenhistorie, Vertragsstatus"
☐ D) Das Modell braucht Fine-Tuning, um die Werkzeuge richtig zuzuordnen
Auflösung: 1) B · 2) B · 3) C · 4) C · 5) B · 6) C
Checkpoint
Warum muss ein Sprachmodell ohne Werkzeuge bei Echtzeitfragen halluzinieren?
Warum ist die natürlichsprachliche Beschreibung das wichtigste Element einer Werkzeugdefinition?
Wer führt eine Aktion am Ende wirklich aus — die KI oder der Entwicklercode?