Funktionsaufruf
Funktionsaufruf ist eine Fähigkeit, die es einem umfangreichen Sprachmodell (LLM) ermöglicht, die Nutzung eines externen Tools, einer API oder eines Codestücks anzufordern, indem es einen strukturierten, maschinenlesbaren Aufruf erzeugt, anstatt einer reinen Textantwort. Das Modell führt den Code nicht selbst aus; es entscheidet, welche Funktion mit welchen Argumenten aufgerufen werden soll, während die Anwendung diese Funktion dann ausführt, und das Ergebnis wird an das Modell zurückgegeben, um es in seine endgültige Antwort einzubinden. Funktionsaufruf wird oft gleichbedeutend mit “Tool-Nutzung” oder Tool-Aufruf verwendet, obwohl er sich streng genommen auf entwicklerdefinierte Funktionen bezieht, eine Teilmenge des breiteren Tool-Aufruf-Musters.
Kurz gesagt: Funktionsaufruf ermöglicht es einem Modell zu sagen “rufe diese Funktion mit diesen Eingaben auf”, sodass es Live-Daten abrufen oder Aktionen ausführen kann, anstatt sich nur auf das zu verlassen, was es bereits weiß.
Wie Funktionsaufruf funktioniert
Die Anwendung und das Modell tauschen Nachrichten in einer Schleife aus, wobei die Anwendung immer die Kontrolle darüber hat, was tatsächlich ausgeführt wird:
- Tool-Definitionen: Die Anwendung gibt dem Modell eine Liste der verfügbaren Funktionen, jeweils mit einem Namen, einer Beschreibung und einem JSON-Schema, das die Eingaben beschreibt.
- Entscheidung: Auf Grundlage der Anfrage des Benutzers und dieser Beschreibungen entscheidet das Modell, ob eine Funktion helfen würde und, falls ja, welche.
- Strukturierter Aufruf: Anstatt in Prosa zu antworten, gibt das Modell einen strukturierten Aufruf zurück, der die Funktion und die Argumentwerte benennt und dem Schema entsprechend formatiert ist.
- Ausführung: Die Anwendung, nicht das Modell, führt die Funktion aus (wie das Abfragen einer Datenbank, das Aufrufen einer API oder das Durchführen einer Berechnung) und erfasst das Ergebnis.
- Rückgabe: Das Ergebnis wird als neue Nachricht an das Modell zurückgesendet.
- Endgültige Antwort: Das Modell verwendet dieses Ergebnis, um seine Antwort zu erzeugen, oder es ruft eine weitere Funktion auf und die Schleife wiederholt sich.
Verschiedene Anbieter verwenden unterschiedliche Namen für dieselbe Idee: OpenAI hat den Funktionsaufruf populär gemacht (mit dem Hinweis, dass “eine Funktion eine bestimmte Art von Tool ist”), während Anthropic ihn als Tool-Nutzung bezeichnet. Der entscheidende Punkt ist, dass das Modell niemals etwas eigenständig ausführt; es schlägt nur den Aufruf vor, und die Anwendung entscheidet, was ausgeführt wird.
Funktionsaufruf vs. Textgenerierung, RAG, Agenten und Skills
- Reine Textgenerierung erzeugt Prosa, die eine Person lesen kann; Funktionsaufruf erzeugt eine strukturierte Anfrage, die die Anwendung ausführen kann, sodass das Modell handeln kann, anstatt nur zu beschreiben. Zum Beispiel kann ein strukturierter Aufruf wie get_weather(location=“London”) dazu beitragen, eine reine Textantwort wie „Das Wetter heute in London ist bedeckt“ zu erzeugen.
- Retrieval-Augmented Generation (RAG) fügt dem Kontext des Modells relevante Inhalte hinzu, bevor es antwortet; Funktionsaufruf ermöglicht es dem Modell, Datenabrufe oder Aktionen bei Bedarf auszulösen, und beide werden oft kombiniert, wenn “Suche” selbst eine der verfügbaren Funktionen ist.
- Ein Agent verkettet viele Tool-Aufrufe in einer Schleife, um eine mehrstufige Aufgabe zu erledigen; Funktionsaufruf ist der Baustein, auf den sich externe Aktionen in diesen Schleifen stützen. Interne Planungs- und Denkschritte geben möglicherweise überhaupt keinen Tool-Aufruf aus.
- Strukturierte Ausgabe verwendet dasselbe schemabasierte Format wie Funktionsaufruf, löst jedoch keine externe Aktion aus; sie ist eine Möglichkeit, die Form der Antwort des Modells einzuschränken, anstatt zu erweitern, was das Modell tun kann.
- Ein Agent-Skill bündelt wiederverwendbare Anweisungen, Skripte und Ressourcen, die ein Agent bei Bedarf für eine spezialisierte Aufgabe laden kann; Funktionsaufruf ist der zugrunde liegende Mechanismus, auf dem er aufbaut, da ein Skill hauptsächlich beschreibt, wie mehrere Tool-Aufrufe kombiniert werden, anstatt selbst ein einzelner Aufruf zu sein.
Wo Funktionsaufruf verwendet wird
- Live-Daten und Aktionen: Abrufen aktueller Informationen wie Wetter, Preise oder Bestand oder Ausführen von Aktionen wie Buchen, Senden oder Aktualisieren von Datensätzen, die das Modell nicht eigenständig durchführen kann.
- Retrieval und Suche: Bereitstellen einer Suche oder Datenbankabfrage als Funktion, sodass das Modell mitten in einer Antwort Fakten einbeziehen kann—einschließlich Aufrufen einer Web-Such-API.
- Agenten und agentische Suche: Mehrstufige agentische Workflows stützen sich auf Funktionsaufrufe, um externe Aktionen wie Suchen, Abrufen und Aktualisieren von Datensätzen auszuführen.
- Standardisierter Tool-Zugriff: Offene Standards wie das Model Context Protocol (MCP) bauen auf Funktionsaufruf auf, sodass eine Tool-Definition über viele Modelle und Anwendungen hinweg funktionieren kann, ohne dass für jede eine individuelle Integration erforderlich ist.
- Wiederverwendbare Fähigkeitspakete (auch „Skills“ genannt): Aufkommende Standards wie Agent Skills bündeln Anweisungen, Skripte und Ressourcen in portablen Ordnern, die ein Agent bei Bedarf lädt. Ein Skill kann Skripte enthalten, die die Hosting-Laufzeitumgebung über Tools bereitstellt und ausführt—das Modell schlägt den Aufruf vor, und die Laufzeitumgebung führt den Code aus.
Funktionsaufruf ist das, was ein Sprachmodell von einem Textgenerator in ein System verwandelt, das über sich selbst hinausreichen kann: Er ist die Grundlage für Agenten, Live-Retrieval und KI, die in der Lage ist, im Namen eines Benutzers zu handeln.
Verwandte Begriffe
Tool-Nutzung, agentische Suche, Retrieval-Augmented Generation (RAG), Model Context Protocol (MCP), Agent Skills, JSON-Schema, strukturierte Ausgabe, großes Sprachmodell (LLM), API, KI-Agent.