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
Wissensüberprüfung 0 Fragen
No quiz for this lesson yet.