Claude On Google Cloud
← Alle Lektionen
Lektion 33Claude On Google Cloud

Multi-turn conversations with tools

Zusammenfassung (Audio)

Keine Audio-Zusammenfassung für diese Lektion.

Studiennotizen

📝 Lernnotizen: Mehrere Tools mit Claude verbinden

💡 Kernkonzept: Sequenzielle Tool-Nutzung

  • Ziel: Mehrere verschiedene Tools mit Claude verknüpfen, um komplexe Anfragen zu beantworten.
  • Beispiel: Die Frage nach dem Datum in 103 Tagen erfordert zwei aufeinanderfolgende Tool-Aufrufe:
  • getCurrentDateTime (Aktuelles Datum ermitteln).
  • addDurationToDateTime (103 Tage zum aktuellen Datum addieren).
  • Prinzip: Man muss immer davon ausgehen, dass Claude eine Kette von Tool-Aufrufen benötigt, um die ursprüngliche Benutzeranfrage zu beantworten.

🔄 Der Gesprächsprozess (Conversation Loop)

  • Notwendigkeit: Ein iterativer Prozess (z. B. eine while-Schleife) ist erforderlich, um die Interaktion mit Claude zu steuern.
  • Logik der Schleife (runConversation):
  • Sende die aktuelle Nachricht an Claude.
  • Prüfe die Antwort:
  • Kein Tool-Use: Claude hat die finale Antwort generiert → Antwort an den Benutzer senden.
  • Tool-Use: Claude fordert einen Tool-Aufruf an → Tool ausführen → Ergebnis als Nachricht an Claude zurücksenden.
  • Wiederhole den Schritt 1, bis Claude keine weiteren Tools mehr benötigt.

🛠️ Refactoring für Flexibilität (Datenstruktur-Anpassungen)

Um die mehrstufigen Antworten von Claude korrekt verarbeiten zu können, müssen die Hilfsfunktionen angepasst werden:

  • add_user_message & add_assistant_message:
  • Änderung: Diese Funktionen dürfen nicht mehr nur Text-Blöcke erwarten.
  • Anpassung: Sie müssen in der Lage sein, die gesamte Antwort von Claude (einschließlich Text- und Tool-Use-Blöcken) zu speichern.
  • chat Funktion:
  • Tool-Integration: Die Funktion muss eine Liste von Tool-Schemata (tool_schemas) akzeptieren und diese an den API-Aufruf übergeben.
  • Rückgabewert: Die Funktion gibt nicht mehr nur den Text zurück, sondern die gesamte Nachricht von Claude (da diese mehrere Blöcke enthalten kann).
  • Neue Hilfsfunktion (text_from_message):
  • Zweck: Extrahiert und kombiniert den Text aus allen Text-Blöcken innerhalb einer gegebenen Nachricht.
  • Funktionsweise: Durch Iteration über message. content wird der Text aus allen Blöcken extrahiert, deren Typ text ist.

Takeaways

  • Die Lösung komplexer Anfragen erfordert die sequenzielle Nutzung mehrerer Tools (Tool-Ketten).
  • Der gesamte Gesprächsprozess muss durch eine iterative Schleife gesteuert werden, die prüft, ob Claude ein Tool anfordert oder die finale Antwort generiert.
  • Die Nachrichtenfunktionen müssen angepasst werden, um die gesamte Antwort von Claude (Text und Tool-Use-Blöcke) zu speichern.
  • Eine spezielle Funktion (text_from_message) ist notwendig, um den reinen Text aus komplexen Claude-Nachrichten zu extrahieren.
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.