Tool-Nutzung / Function Calling
Tool-Nutzung lässt Claude Funktionen aufrufen, die du definierst — Suche, einen Rechner, deine Datenbank, jede beliebige API — und die Ergebnisse verwenden. Sie ist die Grundlage jedes Agenten.
Die Schleife
- Du fügst eine Liste von Tool-Definitionen hinzu (Name, Beschreibung, JSON-Schema-Eingabe).
- Wenn Claude entscheidet, eines zu verwenden, gibt es einen
tool_use-Block (mit Argumenten) zurück und stoppt. - Du führst das Tool aus und sendest die Ausgabe als
tool_resultzurück. - Claude fährt fort und ruft möglicherweise weitere Tools auf, bis es antwortet.
Ein Tool definieren (Python)
tools = [{
"name": "get_weather",
"description": "Get current weather for a city.",
"input_schema": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"],
},
}]
msg = client.messages.create(
model="claude-sonnet-4-6", max_tokens=1024,
tools=tools,
messages=[{"role": "user", "content": "What's the weather in Rome?"}],
)
# If msg.stop_reason == "tool_use": run the tool, then send a tool_result back.
Tipps
- Beschreibungen sind Prompts. Eine klare Tool-
descriptionund Parameterdokumentation verbessern enorm, wann/wie Claude es aufruft. - Validiere Eingaben, die du erhältst, vor der Ausführung — vertraue ihnen niemals blind.
- Gib Fehler als Ergebnisse zurück. Wenn ein Tool fehlschlägt, sende ein
tool_result, das den Fehler beschreibt, damit Claude sich erholen kann. - Serverseitige Tools. Anthropic bietet auch integrierte Tools (z. B. Websuche, Codeausführung, Computernutzung) — schau in die Dokumentation für das aktuelle Angebot.
:::warning Tools = Aktionen = Risiko Ein Tool, das echte Aktionen ausführt, erbt ein Sicherheitsmodell. Wende Least Privilege an und behalte einen Menschen bei riskanten Aufrufen in der Schleife — siehe Agenten & Tools absichern. :::