Ein Sprachmodell allein kennt weder den Lagerstand von heute noch freie Termine im Kalender. Mit Function Calling kann es diese Informationen gezielt anfordern: Die Anwendung beschreibt dem Modell, welche Funktionen es gibt, und das Modell entscheidet, wann es eine davon braucht und mit welchen Werten. Damit wird aus einem Textgenerator ein Baustein, der mit Datenbanken, Fachanwendungen und APIs zusammenarbeitet. Function Calling ist die technische Grundlage für KI-Agenten und für Standards wie das Model Context Protocol.
Wie funktioniert Function Calling?
Am Beispiel der Dokumentation von Anthropic für Claude läuft ein Aufruf in fünf Schritten ab:
- Werkzeug beschreiben: Die Anwendung übergibt Name, Beschreibung und ein Eingabeschema im Format JSON Schema, etwa für eine Funktion „Bestellstatus abfragen“ mit dem Pflichtfeld Bestellnummer.
- Entscheidung des Modells: Anhand der Anfrage und der Beschreibung entscheidet das Modell, ob es das Werkzeug braucht. Wenn ja, liefert es einen strukturierten Aufruf mit den Argumenten zurück.
- Ausführung durch die Anwendung: Die eigene Software prüft die Argumente, ruft die echte Funktion auf und erhält ein Ergebnis.
- Ergebnis zurückgeben: Die Anwendung schickt das Ergebnis als Werkzeugergebnis an das Modell.
- Antwort: Das Modell formuliert auf dieser Grundlage die Antwort oder ruft das nächste Werkzeug auf.
Anthropic unterscheidet Werkzeuge, die in der eigenen Anwendung laufen, von Server-Werkzeugen wie Websuche oder Codeausführung, die der Anbieter selbst ausführt. Über eine Einstellung lässt sich erzwingen, dass ein bestimmtes Werkzeug verwendet wird. Ein strikter Modus stellt sicher, dass die Aufrufe exakt dem hinterlegten Schema entsprechen. Andere Anbieter verwenden ähnliche Verfahren unter dem Namen Function Calling.
Typische Einsatzbeispiele
- Ein Kundenservice-Assistent fragt den Bestellstatus im Warenwirtschaftssystem ab, statt ihn zu raten.
- Ein interner Assistent schlägt freie Termine vor und legt nach Bestätigung eine Besprechung an.
- Eine Anwendung liest aus eingehenden E-Mails Rechnungsdaten aus und übergibt sie als strukturierte Felder an die Buchhaltung.
- Ein Agent sammelt für ein Ticket Gerätedaten, sucht ähnliche Fälle und erstellt einen Lösungsvorschlag.
Risiken
- Zu viel Handlungsspielraum: Die OWASP Top 10 für LLM-Anwendungen nennen „Excessive Agency“ als eigenes Risiko. Ursachen sind laut OWASP zu viele Funktionen, zu weitreichende Berechtigungen oder zu viel Autonomie.
- Ungeprüfte Ausgaben: Die Argumente eines Aufrufs stammen vom Modell und sind wie Benutzereingaben zu behandeln. Werden sie ungeprüft in Datenbankabfragen oder Befehle übernommen, entstehen klassische Schwachstellen.
- Manipulation über Ergebnisse: Werkzeugergebnisse wie Webseiten oder E-Mails können versteckte Anweisungen enthalten, siehe Prompt Injection.
- Kosten und Schleifen: Jede Werkzeugbeschreibung und jedes Ergebnis verbraucht Tokens. Ohne Obergrenzen können Agenten in Schleifen geraten.
So setzen Unternehmen Function Calling sicher um
- Wenige, eng gefasste Werkzeuge: Lieber „Bestellstatus lesen“ als ein allgemeiner Datenbankzugang. Offene Werkzeuge wie beliebige Shell-Befehle vermeiden.
- Rechte des Menschen statt Generalschlüssel: Werkzeuge im Kontext der angemeldeten Person ausführen und Rechte nach Least Privilege vergeben, zunächst nur lesend.
- Freigabe vor Wirkung: Schreibende, löschende oder versendende Aktionen erst nach Bestätigung durch einen Menschen ausführen, siehe Human in the Loop.
- Prüfung in der Anwendung: Argumente gegen Schema und Geschäftsregeln validieren, parametrisierte Abfragen verwenden und Berechtigungen serverseitig prüfen, nicht im Prompt.
- Grenzen und Protokoll: Anzahl der Aufrufe, Laufzeit und Kosten begrenzen und jeden Aufruf mit Argumenten und Ergebnis protokollieren.
- Präzise Beschreibungen: Eine klare Werkzeugbeschreibung bestimmt maßgeblich, ob das Modell das Werkzeug richtig einsetzt. Mit festen Testfällen prüfen.
Abgrenzung
Eine API ist die Schnittstelle eines Systems, Function Calling die Fähigkeit des Modells, sie gezielt anzusprechen. Das Model Context Protocol standardisiert, wie Werkzeuge für viele KI-Anwendungen gleichzeitig bereitgestellt werden. Robotic Process Automation folgt fest programmierten Abläufen, während beim Function Calling das Modell über den nächsten Schritt entscheidet.