Zum Hauptinhalt springen
Lektion 8 von 14 · Function Calling mit Grok

Mischen von Server- und Client-Tools

Lektion 8 von 14 Aktualisiert am 29. Juli 2026 Entwickler
Auf dieser Seite
  1. Zwei Kategorien von Tools auf derselben Plattform
  2. Kombinieren beider Typen in einer einzigen Anfrage
  3. Der hybride Ablauf
  4. Praxisbeispiele
  5. Abrechnung für Server-Tools
  6. Kernaussagen

Zwei Kategorien von Tools auf derselben Plattform

Die Grok-API unterscheidet zwei grundlegend verschiedene Tool-Typen basierend auf der Ausführung. Das Verständnis dieses Unterschieds ist unerlässlich für das Design robuster Architekturen.

Eingebaute Tools (Server-seitig)

xAI führt diese Tools automatisch auf ihren Servern aus. Sie müssen nichts verwalten – keine lokale Ausführung, keine Ergebnisweiterleitung. Das Modell ruft sie auf und erhält die Ergebnisse direkt.

Tool Identifier Beschreibung
Web-Suche web_search Echtzeit-Web-Suche
X-Suche x_search Suche auf X/Twitter
Code-Interpreter code_interpreter Sandboxierte Python-Ausführung
Collections-Suche collections_search Suche innerhalb Ihrer hochgeladenen Dokumente
Remote MCP mcp Verbindung zu externen MCP-Servern

Benutzerdefinierte Funktionen (Client-seitig)

Dies sind Ihre eigenen Funktionen, die über Funktionsaufrufe definiert werden. Das Modell gibt einen tool_call zurück, Ihr Code führt die Funktion aus, und Sie senden das Ergebnis zurück. Dies ist der Mechanismus, den Sie in vorherigen Lektionen gelernt haben.

Kombinieren beider Typen in einer einzigen Anfrage

Die Stärke der Grok-API liegt in der Fähigkeit, Server- und Client-Tools in einer einzigen Anfrage zu mischen:

tools = [
    # Server-Tool — wird automatisch von xAI ausgeführt
    {"type": "web_search"},

    # Client-Tool — wird von Ihrem Code ausgeführt
    {
        "type": "function",
        "function": {
            "name": "save_to_database",
            "description": "Informationen in die Datenbank speichern",
            "parameters": {
                "type": "object",
                "properties": {
                    "key": {"type": "string"},
                    "value": {"type": "string"}
                },
                "required": ["key", "value"]
            }
        }
    }
]

Wenn das Modell diese Anfrage erhält, kann es:

  1. web_search verwenden, um Informationen zu finden (automatische serverseitige Ausführung)
  2. save_to_database aufrufen, um das Ergebnis zu speichern (Rückkehr zum Client)

Der hybride Ablauf

Das Verhalten unterscheidet sich je nach Tool-Typ:

  • Server-Tool: Das Modell ruft das Tool auf, xAI führt es aus, das Ergebnis wird automatisch integriert, und das Modell setzt seinen Vorgang fort.
  • Client-Tool: Das Modell gibt den tool_call an den Client zurück, die Ausführung wird unterbrochen und setzt sich fort, wenn Sie das Ergebnis zurücksenden.

Wenn das Modell beide Typen in derselben Anfrage verwendet, führen Server-Tools zuerst aus (ohne Ihre Intervention). Anschließend gibt das Modell, falls es auch ein Client-Tool benötigt, den tool_call an Sie zurück, wobei die Ergebnisse der Server-Tools bereits in seinen Kontext integriert sind.

Praxisbeispiele

Web-Suche + Geschäftslogik

# Benutzer fragt: "Finde den Bitcoin-Preis und speichere ihn"
# Das Modell:
# 1. Ruft web_search auf, um den Preis zu finden (serverseitig, automatisch)
# 2. Ruft save_price(symbol="BTC", price=68432) auf (clientseitig)

X-Suche + Benachrichtigung

# "Weise mich auf Tweets zu unserem Produkt seit gestern hin"
# Das Modell:
# 1. Ruft x_search auf, um Tweets zu finden (serverseitig)
# 2. Ruft send_notification(count=12, summary="...") auf (clientseitig)

Code-Interpreter + Speicher

# "Berechne den Durchschnitt dieser Daten und speichere das Ergebnis"
# Das Modell:
# 1. Ruft code_interpreter für die Berechnung auf (serverseitig)
# 2. Ruft save_result(key="avg", value="42.5") auf (clientseitig)

Abrechnung für Server-Tools

Eingebaute Tools werden auf zwei Arten abgerechnet:

  • Tokens: Standardverbrauch (Eingabe + Ausgabe)
  • Aufrufe: Fixkosten pro Tool-Aufruf

Das Modell kann für eine einzelne Anfrage mehrere Server-Tools aufrufen – die Kosten summieren sich. Halten Sie dies im Hinterkopf, wenn Sie web_search aktivieren: Das Modell könnte mehrere Suchen durchführen, um seine Ergebnisse zu verfeinern.

Kernaussagen

  • Zwei Tool-Typen: Server (automatisch) und Client (Funktionsaufrufe)
  • Server-Tools (web_search, x_search, code_interpreter) werden ohne Ihre Intervention ausgeführt
  • Sie können beide Typen in einer einzigen Anfrage mischen
  • Server-Tools führen zuerst aus, danach kann das Modell Ihre Funktionen aufrufen
  • Jeder Server-Tool-Aufruf wird abgerechnet (Tokens + Kosten pro Aufruf)
  • Zitationen werden automatisch für Daten aus Server-Tools generiert