Claude ist in der Lage, mit externen clientseitigen Werkzeugen und Funktionen zu interagieren, wodurch Sie Claude mit Ihren eigenen benutzerdefinierten Werkzeugen ausstatten können, um eine größere Vielfalt an Aufgaben auszuführen.

Lernen Sie alles, was Sie für die Beherrschung der Werkzeugnutzung mit Claude benötigen, in unserem neuen umfassenden Werkzeugnutzungskurs! Bitte teilen Sie weiterhin Ihre Ideen und Vorschläge über dieses Formular mit.

Hier ist ein Beispiel, wie Sie Claude über die Messages API Werkzeuge zur Verfügung stellen können:


Wie die Werkzeugnutzung funktioniert

Integrieren Sie externe Werkzeuge mit Claude in diesen Schritten:

1

Stellen Sie Claude Werkzeuge und eine Benutzeranfrage zur Verfügung

  • Definieren Sie Werkzeuge mit Namen, Beschreibungen und Eingabeschemata in Ihrer API-Anfrage.
  • Fügen Sie eine Benutzeranfrage hinzu, die diese Werkzeuge benötigen könnte, z.B. “Wie ist das Wetter in San Francisco?”
2

Claude entscheidet sich für die Verwendung eines Werkzeugs

  • Claude bewertet, ob Werkzeuge bei der Anfrage des Benutzers helfen können.
  • Falls ja, erstellt Claude eine korrekt formatierte Werkzeugnutzungsanfrage.
  • Die API-Antwort hat einen stop_reason von tool_use, der Claudes Absicht signalisiert.
3

Extrahieren Sie die Werkzeugeingabe, führen Sie Code aus und geben Sie Ergebnisse zurück

  • Extrahieren Sie auf Ihrer Seite den Werkzeugnamen und die Eingabe aus Claudes Anfrage.
  • Führen Sie den eigentlichen Werkzeugcode clientseitig aus.
  • Setzen Sie das Gespräch mit einer neuen user-Nachricht fort, die einen tool_result-Inhaltsblock enthält.
4

Claude verwendet das Werkzeugergebnis zur Formulierung einer Antwort

  • Claude analysiert die Werkzeugergebnisse, um seine endgültige Antwort auf die ursprüngliche Benutzeranfrage zu erstellen.

Hinweis: Die Schritte 3 und 4 sind optional. Für einige Arbeitsabläufe könnte Claudes Werkzeugnutzungsanfrage (Schritt 2) alles sein, was Sie benötigen, ohne Ergebnisse an Claude zurückzusenden.

Werkzeuge werden vom Benutzer bereitgestellt

Es ist wichtig zu beachten, dass Claude keinen Zugriff auf eingebaute serverseitige Werkzeuge hat. Alle Werkzeuge müssen explizit von Ihnen, dem Benutzer, in jeder API-Anfrage bereitgestellt werden. Dies gibt Ihnen volle Kontrolle und Flexibilität über die Werkzeuge, die Claude verwenden kann.

Die Computernutzung (Beta) Funktionalität ist eine Ausnahme - sie führt Werkzeuge ein, die von Anthropic bereitgestellt, aber von Ihnen, dem Benutzer, implementiert werden.


Wie man die Werkzeugnutzung implementiert

Auswahl eines Modells

Verwenden Sie im Allgemeinen Claude 3.5 Sonnet oder Claude 3 Opus für komplexe Werkzeuge und mehrdeutige Anfragen; sie handhaben mehrere Werkzeuge besser und suchen bei Bedarf nach Klärung.

Verwenden Sie Claude 3 Haiku für unkomplizierte Werkzeuge, beachten Sie aber, dass es fehlende Parameter erschließen kann.

Spezifizierung von Werkzeugen

Werkzeuge werden im tools Top-Level-Parameter der API-Anfrage spezifiziert. Jede Werkzeugdefinition enthält:

ParameterBeschreibung
nameDer Name des Werkzeugs. Muss dem Regex ^[a-zA-Z0-9_-]{1,64}$ entsprechen.
descriptionEine detaillierte Klartextbeschreibung dessen, was das Werkzeug tut, wann es verwendet werden sollte und wie es sich verhält.
input_schemaEin JSON Schema Objekt, das die erwarteten Parameter für das Werkzeug definiert.

Werkzeugnutzungs-Systemprompt

Wenn Sie die Anthropic API mit dem tools Parameter aufrufen, erstellen wir einen speziellen Systemprompt aus den Werkzeugdefinitionen, der Werkzeugkonfiguration und jedem benutzerspezifischen Systemprompt. Der erstellte Prompt ist darauf ausgelegt, das Modell anzuweisen, das angegebene Werkzeug zu verwenden und den notwendigen Kontext für das ordnungsgemäße Funktionieren des Werkzeugs bereitzustellen:

In dieser Umgebung haben Sie Zugriff auf eine Reihe von Werkzeugen, die Sie zur Beantwortung der Frage des Benutzers verwenden können.
{{ FORMATIERUNGSANWEISUNGEN }}
String- und Skalarparameter sollten wie angegeben spezifiziert werden, während Listen und Objekte das JSON-Format verwenden sollten. Beachten Sie, dass Leerzeichen für Stringwerte nicht entfernt werden. Die Ausgabe muss kein gültiges XML sein und wird mit regulären Ausdrücken geparst.
Hier sind die verfügbaren Funktionen im JSONSchema-Format:
{{ WERKZEUGDEFINITIONEN IM JSON-SCHEMA }}
{{ BENUTZER-SYSTEMPROMPT }}
{{ WERKZEUGKONFIGURATION }}

[Fortsetzung folgt…]