
Function Calling
Function Calling bedeutet, dass ein Sprachmodell nicht nur Text schreibt, sondern erkennt, wann ein fremdes Programm gebraucht wird, und dessen Aufruf sauber formuliert. Das Modell liefert Name und Werte für die Anfrage, ausgeführt wird sie außerhalb des Modells.
Ein Sprachmodell ist ein Programm, das aus Texten gelernt hat, welche Wörter sinnvoll aufeinander folgen. Es kann deshalb sehr gut formulieren, aber es kann nichts nachschlagen und nichts wirklich tun. Fragt man nach dem aktuellen Wetter in Hamburg, hat es diese Zahl schlicht nicht. Function Calling löst genau dieses Problem. Der Betreiber sagt dem Modell vorher, welche fremden Programme bereitstehen und was diese Programme brauchen. Statt eine Antwort zu erfinden, gibt das Modell dann eine strukturierte Anfrage aus, etwa: Wetterdienst, Ort Hamburg, Datum heute.
Vom Textgenerator zum handelnden Assistenten
Ohne diese Technik bleibt ein Chatbot ein Gesprächspartner ohne Zugriff auf die Welt. Er kennt nur das, was beim Training in ihm gelandet ist, und dieses Wissen hat immer ein Enddatum. Aktienkurse, Fahrpläne, der Lagerbestand eines Shops oder der eigene Kalender sind für ihn unsichtbar. Function Calling ist die Brücke zu diesen Daten.
Der zweite Gewinn ist Verlässlichkeit. Sprachmodelle rechnen schlecht und neigen dazu, plausible, aber falsche Angaben zu erfinden. Man nennt das Halluzination. Reicht das Modell die Rechnung stattdessen an einen Taschenrechner weiter und die Frage nach dem Kontostand an die Bank-Software, stimmt das Ergebnis. Das Modell muss dann nur noch entscheiden, wen es fragt, und die Antwort verständlich formulieren.
Drittens ist Function Calling die technische Grundlage für sogenannte Agenten. So nennt man KI-Systeme, die mehrere Schritte hintereinander selbst planen und ausführen. Ohne die Fähigkeit, Werkzeuge aufzurufen, wäre ein Agent handlungsunfähig. Deshalb taucht der Begriff seit 2023 in fast jeder Produktankündigung großer KI-Anbieter auf.
Beschreibung, Vorschlag, Ausführung
Am Anfang steht eine Liste verfügbarer Funktionen. Für jede Funktion hinterlegt der Entwickler einen Namen, eine kurze Beschreibung in normaler Sprache und die benötigten Angaben. Bei einer Wetterabfrage wären das etwa Ort und Datum. Diese Liste wird dem Modell zusammen mit der Nutzerfrage übergeben.
Das Modell prüft nun, ob eine der Beschreibungen zur Frage passt. Wenn ja, antwortet es nicht mit einem Satz, sondern mit einem maschinenlesbaren Datenblock. Darin stehen der Funktionsname und die passenden Werte, die es aus der Frage herausgelesen hat. Wichtig ist: Das Modell führt gar nichts aus. Es macht nur einen sehr präzisen Vorschlag.
Die Ausführung übernimmt die Software drumherum. Sie ruft den Wetterdienst auf, bekommt eine Zahl zurück und schickt diese Zahl zurück ins Gespräch. Erst danach formuliert das Modell die eigentliche Antwort für den Nutzer. Man kann sich das wie einen Kellner vorstellen: Er nimmt die Bestellung auf und gibt sie korrekt in die Küche weiter, gekocht wird woanders. Dieser Zwischenschritt ist auch eine Sicherheitsstufe, denn der Betreiber kann jeden Aufruf prüfen oder ablehnen.
Wetterabfrage, Reisebuchung, Firmensoftware
Im Alltag merkt man Function Calling meist nur am Ergebnis. Wenn ein Chatbot eine aktuelle Zahl nennt, eine Webseite durchsucht oder einen Termin in den Kalender einträgt, steckt in der Regel ein Funktionsaufruf dahinter. Auch Sprachassistenten auf dem Handy arbeiten nach diesem Muster, wenn sie einen Timer stellen oder eine Nachricht verschicken.
In Unternehmen ist das der übliche Weg, ein Sprachmodell an bestehende Systeme anzuschließen. Ein Support-Chat kann so den Bestellstatus aus der Datenbank holen, eine Analyse-Software eine Auswertung starten. Verwandt ist der Standard MCP, kurz für Model Context Protocol. Er legt einheitlich fest, wie solche Werkzeuge angemeldet werden, damit nicht jeder Anbieter eine eigene Lösung bastelt.
Ein häufiger Irrtum ist, das Modell bekomme durch Function Calling neue Fähigkeiten. Das stimmt nicht. Es lernt nur, gute Anfragen zu stellen. Ist die Beschreibung einer Funktion unklar, wählt es die falsche oder setzt falsche Werte ein. Sorgfältig formulierte Funktionsbeschreibungen sind deshalb ein echter Teil der Entwicklungsarbeit.