Wird geladen

Integrierte Tools

Lektion 76 Min.
Wird geladen

Integrierte Tools

Du kannst eigene benutzerdefinierte Tools erstellen, aber manche Fähigkeiten sind so verbreitet, dass Anthropic sie bereits vorgefertigt ausliefert. Du schreibst den Code nicht. Du hostest die Sandbox nicht. Du deklarierst einfach das Tool, und Anthropic führt es aus.

Server-Tools: von dir deklariert, von Anthropic ausgeführt

Anthropic stellt Server-Tools bereit, die auf der eigenen Infrastruktur laufen. Du führst diese nicht selbst aus — das macht Anthropic. Das bedeutet, dass du für diese Aufrufe keine Agent-Loop benötigst. Claude ruft die Tools selbstständig auf, und das Ergebnis kommt innerhalb derselben Antwort zurück.

Die wichtigsten sind:

  • Web-Suche — durchsucht das Internet und liefert Ergebnisse mit Zitaten zurück
  • Code-Ausführung — schreibt und führt Python in einer Sandbox aus
  • Web-Abruf — ruft vollständige Inhalte von URLs ab

Zwei Server-Tools in einer Datei

Schauen wir uns einige der wichtigsten in einer Datei an: zwei messages.create-Aufrufe, einer mit Web-Suche und einer mit Code-Ausführung.

python
import anthropic

client = anthropic.Anthropic()

# Aufruf 1: Websuche — Anthropic führt die Suche serverseitig aus
search_response = client.messages.create(
    model="claude-opus-5",
    max_tokens=1024,
    tools=[{"type": "web_search_20260209", "name": "web_search"}],
    messages=[
        {"role": "user", "content": "What is Anthropic's latest model release? Answer in one sentence."}
    ],
)

for block in search_response.content:
    if block.type == "server_tool_use":
        print(f"Tool call: {block.name} — {block.input}")
    elif block.type == "text":
        print(block.text)

# Aufruf 2: Codeausführung — Claude schreibt und führt Python in einer Sandbox aus
code_response = client.messages.create(
    model="claude-opus-5",
    max_tokens=1024,
    tools=[{"type": "code_execution_20260120", "name": "code_execution"}],
    messages=[
        {"role": "user", "content": "Calculate the mean and standard deviation of [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]"}
    ],
)

for block in code_response.content:
    if block.type == "server_tool_use":
        print(f"Tool call: {block.name} — {block.input}")
    elif block.type == "bash_code_execution_tool_result":
        print(f"stdout: {block.content.stdout}")
    elif block.type == "text":
        print(block.text)

Zwei Dinge sind bemerkenswert:

  1. Hier gibt es keine Agent-Loop. Wir unterscheiden nicht nach stop_reason. Wir schicken keine Tool-Ergebnisse zurück. Anthropic führt das Tool serverseitig aus, und die Antwort enthält das Ergebnis bereits.
  2. Die Antwort hat neue Block-Typen. Einen server_tool_use-Block für den Tool-Aufruf, einen Code-Ausführungs-Tool-Ergebnisblock für die Ausgabe, sowie die regulären text-Blöcke.

Ausführung

Bei der Web-Suche siehst du Claudes Tool-Aufruf ausgegeben, gefolgt von einer einsatzfertigen Antwort über die neueste Modellveröffentlichung, in die die Such-Zitate eingebettet sind.

Bei der Code-Ausführung siehst du den tatsächlichen Python-Code, den Claude geschrieben hat, die stdout-Ausgabe der Sandbox, die ihn ausführt, und eine abschließende Textantwort.

Wir mussten keinen Such-Crawler aufsetzen. Wir haben keine Python-Sandbox betrieben. Wir haben zwei Tools deklariert und beide kostenlos erhalten.

Die andere Kategorie: Client-Tools

Es lohnt sich zu wissen, dass die andere Kategorie existiert. Client-Tools laufen dort, wo dein Code läuft. Anthropic veröffentlicht deren Schemas und trainiert Claude darauf, sodass du das Schema nicht selbst definieren musst. Zwei Beispiele:

  • Memory — Claude liest und schreibt Memory über Sitzungen hinweg
  • Bash — eine persistente Bash-Shell, damit Claude Befehle ausführen kann

Die Anthropic-Dokumentationstabelle der integrierten Tools, in der Memory und Bash als Client-Tools neben Server-Tools wie Web-Abruf und Code-Ausführung aufgeführt sind

Sie haben dieselbe Form wie ein benutzerdefiniertes Tool, aber das Schema ist in Claude eingebaut. Dein Code führt sie trotzdem aus: Für Memory liefern vier der SDKs einen Helper, der Claudes Memory-Aufrufe gegen einen von dir bereitgestellten Speicher abwickelt, und für Bash führt deine Anwendung die Shell selbst aus.

Warum das in der Produktion wichtig ist

In einer Produktionsanwendung ist dies der kürzeste Weg zu Funktionen, die sonst Wochen dauern würden. Die Web-Suche kann einen Faktencheck-Endpunkt antreiben, der jede numerische und regulatorische Behauptung in einem Entwurf gegen das lebende Web überprüft.

Eine Anwendung zur Vorschlagsprüfung, die die Web-Suche nutzt, um die regulatorischen und numerischen Behauptungen in einem Vorschlagsentwurf faktenzuprüfen

Eine Erinnerung dennoch: Nur weil etwas im Internet validiert wurde, heißt das nicht, dass es wahr ist. Überprüfe Claudes Arbeit immer noch einmal selbst.

Zusammenfassung

  • Server-Tools — Web-Suche, Code-Ausführung, Web-Abruf — werden in deinem tools-Array deklariert. Anthropic führt sie aus.
  • Du erhältst das Ergebnis in derselben Antwort, ohne dass eine Agent-Loop erforderlich ist. Achte auf server_tool_use- und Tool-Ergebnisblöcke neben den regulären Textblöcken.
  • Client-Tools wie Memory und Bash laufen dort, wo dein Code läuft. Das Schema ist in Claude eingebaut, vier der SDKs liefern einen Helper für Memory, und für Bash führt dein Code die Shell aus.
  • Die Idee „von Anthropic gehostet" skaliert bis ganz nach oben: Managed Agents wenden sie auf den gesamten Agenten an, nicht nur auf ein einzelnes Tool.