GEO

Function Calling

Function Calling (auch Tool Use genannt) ist die Funktion, mit der ein LLM eine Nutzeranfrage analysieren und externe Funktionen oder APIs in einem strukturierten JSON-Format aufrufen kann. OpenAI führte die offizielle Unterstützung im Juni 2023 ein; seitdem liefern Claude, Gemini und Llama sie alle als Standardfunktion aus, und sie ist zur atomaren Einheit von KI-Agenten-Implementierungen geworden.

Function Calling (auch Tool Use genannt) ist die Funktion, mit der ein LLM eine Nutzeranfrage analysieren und externe Funktionen oder APIs in einem strukturierten JSON-Format aufrufen kann. OpenAI führte die offizielle Unterstützung im Juni 2023 ein; seitdem liefern Claude, Gemini und Llama sie alle als Standardfunktion aus, und sie ist zur atomaren Einheit von KI-Agenten-Implementierungen geworden.

Warum es wichtig ist

LLMs sind grundsätzlich Textgeneratoren. Ohne Function Calling kann die Frage "Wie ist gerade das Wetter in Seoul?" nur Wissen aus der Trainingszeit zutage fördern. Mit Function Calling gibt das Modell get_weather(location: "Seoul") als JSON aus, die Host-Anwendung ruft die tatsächliche API auf, und das Ergebnis fließt zurück in das Modell für die endgültige Antwort. Dieser einfache Mechanismus ist die Grundlage von KI-Agenten, der KI-Suche und des gesamten MCP-Ökosystems.

So funktioniert es

  1. Tool-Definitionen: Die Anwendung übergibt dem LLM eine Liste verfügbarer Funktionen, Name, Beschreibung, Parameter-Schema.
  2. Nutzeranfrage: Der Nutzer gibt eine natürlichsprachliche Frage ein.
  3. Aufrufentscheidung: Das LLM entscheidet, welche Funktion aufzurufen ist, und erzeugt die Argumente als JSON.
  4. Tatsächliche Ausführung: Die Host-Anwendung parst das JSON und führt die echte Funktion aus. Das Modell selbst führt keinen Code aus.
  5. Ergebnisse einspeisen: Die Funktionsausgabe wird zurück in den LLM-Kontext eingespeist.
  6. Endgültige Antwort: Das LLM erzeugt eine natürlichsprachliche Antwort, die in den Ergebnissen verankert ist.

Beispiel

Tool-Definition:

{
  "name": "search_blog_posts",
  "description": "Search blog posts by keyword",
  "parameters": {
    "type": "object",
    "properties": {
      "keyword": { "type": "string", "description": "search keyword" },
      "limit": { "type": "integer", "default": 5 }
    },
    "required": ["keyword"]
  }
}

Nutzer: "Finde mir 3 Beiträge über GEO"

Modellantwort:

{
  "tool_call": "search_blog_posts",
  "arguments": { "keyword": "GEO", "limit": 3 }
}

Nachdem die Anwendung das Tool ausgeführt hat: [{title: "...", url: "..."}, ...]

Endgültige Antwort: "Ich habe 3 Beiträge über GEO gefunden..."

Function Calling vs. MCP vs. ReAct

AspektFunction CallingMCPReAct
EbeneAPI-AufrufprotokollStandardisiertes Protokoll zur Tool-AnbindungPrompting-Muster
RolleModell gibt JSON aus, um ein Tool aufzurufenTools über verschiedene Hosts/Server hinweg teilenSchrittweise Schleife aus Argumentation und Handlung
BeziehungGrundlage von MCPStandardisiert Function Calling über Anwendungen hinwegNutzt Function Calling innerhalb einer Schleife

Function Calling ist ein einzelner Tool-Aufruf; MCP ist die Art, wie viele Anwendungen dasselbe Tool teilen; ReAct ist ein Muster für das Schleifen von Aufrufen mit Argumentation.

Grenzen und Fallstricke

Risiko von Halluzinationen: Das Modell kann nicht existierende Funktionen erfinden oder fehlerhafte Argumente erzeugen. Eine strikte Schema-Validierung ist zwingend erforderlich.

Parallele Aufrufe: Spitzenmodelle (GPT-4o, Claude Opus 4.6) können mehrere Funktionen parallel aufrufen. Das bringt eine Abhängigkeitsverwaltung mit sich.

Kosten: Jeder Aufruf erweitert den Kontext und erhöht den Token-Verbrauch. Eine Einschränkung der Tool-Exponierung verbessert sowohl die Leistung als auch die Kosten.

Sicherheit: In Kombination mit Prompt Injection kann Function Calling den Schaden verstärken. Verlangen Sie eine Nutzerbestätigung für riskante Aktionen wie Zahlungen oder Löschungen.

Auswirkungen auf GEO

Wenn die KI-Suche Informationen aus einem Blog extrahiert, ruft sie intern Funktionen wie fetch_web_content, search_knowledge oder cite_source auf. Blogs, die sauberes HTML und strukturierte Daten bereitstellen, verbessern die Qualität dieser Aufrufe und erhöhen die Zitierwahrscheinlichkeit. Mit anderen Worten: Ein "für Funktionen leicht lesbarer Blog" ist ein GEO-freundlicher Blog.

Quellen: