Claude With The Anthropic Api
← Alle Lektionen
Lektion 37Claude With The Anthropic Api

Multi-turn conversations with tools

Zusammenfassung (Audio)

Keine Audio-Zusammenfassung für diese Lektion.

Studiennotizen

📚 Lernnotizen: Mehrere Tools mit Claude verbinden

Ziel: Die erfolgreiche Anbindung und Nutzung mehrerer Tools (Funktionsaufrufe) innerhalb einer einzigen Konversation mit Claude.

⚙️ Kernkonzepte des Tool-Workflows

  • Sequenzielle Tool-Nutzung: Bei komplexen Anfragen benötigt Claude oft mehrere Tools nacheinander, um eine Antwort zu generieren (z. B. getCurrentDateTime → addDurationToDateTime).
  • Annahme von Mehrfachaufrufen: Die Anwendung muss immer davon ausgehen, dass Claude mehr als einen Tool-Aufruf anfordern kann.
  • Zyklischer Prozess:
  • Benutzer fragt → Claude antwortet mit Tool Use Block.
  • Anwendung führt Tool aus → Ergebnis wird an Claude zurückgesendet.
  • Claude analysiert Ergebnis → Entweder finale Antwort oder neuer Tool Use Block.
  • Dieser Prozess wiederholt sich, bis Claude keine Tools mehr benötigt.

🛠️ Implementierungsstrategie (Refactoring)

Um diesen zyklischen Prozess zu ermöglichen, muss der Code angepasst werden:

  • Funktion runConversation: Es muss eine Hauptfunktion implementiert werden, die die Konversation fortsetzt, solange Claude Tool-Aufrufe anfordert.
  • Anpassung der Nachrichten-Helfer:
  • Die Funktionen addUserMessage und addAssistantMessageHelper müssen so erweitert werden, dass sie nicht nur reinen Text, sondern auch mehrere Nachrichtensblöcke (z. B. Textblock + Tool Use Block) verarbeiten können.
  • Anpassung der chat-Funktion:
  • Die chat-Funktion muss die Liste der verfügbaren Tool-Schemas entgegennehmen.
  • Wichtig: Statt nur den Textblock zurückzugeben, muss die Funktion nun die gesamte Nachricht (Message Object) von Claude zurückgeben, da diese mehrere Blöcke enthalten kann.
  • Hilfsfunktion text_from_message:
  • Diese neue Funktion dient dazu, alle Textinhalte aus einer Nachricht zu extrahieren, die möglicherweise aus mehreren Blöcken besteht. Sie filtert alle Blöcke, deren Typ Text ist.

🎯 Zusammenfassung des Workflows

Die Anwendung muss einen Loop implementieren, der:

  • Die aktuelle Nachricht an Claude sendet.
  • Prüft, ob Claude einen Tool-Aufruf anfordert.
  • Wenn ja: Tool ausführen → Ergebnis zurücksenden → Loop fortsetzen.
  • Wenn nein: Finale Antwort an den Benutzer liefern.

Takeaways

  • Der Tool-Workflow ist zyklisch: Benutzeranfrage → Claude Tool Use → Anwendung führt Tool aus → Claude analysiert Ergebnis.
  • Die Anwendung muss einen Loop implementieren, der die Konversation fortsetzt, solange Claude Tool-Aufrufe anfordert.
  • Nachrichten-Helfer müssen erweitert werden, um mehrere Nachrichtensblöcke (z. B. Textblock und Tool Use Block) zu verarbeiten.
  • Die chat-Funktion muss das gesamte Message Object zurückgeben, da Claude mehr als nur reinen Text senden kann.
Lernkarten 8 Karten
Frage
zum Aufdecken klicken · ←/→
Antwort
zum Zurückdrehen klicken
Nach Anki exportieren (.tsv) ↓
Wissensüberprüfung 0 Fragen

No quiz for this lesson yet.