# Aufgabe 02: Tool Calling simulieren ## Ziel Du lernst, wie ein LLM nicht nur Text erzeugt, sondern Aktionen auslösen kann. ## Szenario Der User fragt: ```text Wie viele Personen sind im Raum? ``` Das LLM soll nicht raten, sondern ein Tool anfordern: ```json { "tool": "count_people", "arguments": {} } ``` ## Aufgabe Baue ein Programm mit mindestens 3 Tools: - `get_time()` - `count_people()` - erstmal fake: gibt z. B. `2` zurück - `look(direction)` - erstmal fake: gibt `looked left` zurück Das Programm soll: 1. User-Input entgegennehmen 2. LLM entscheiden lassen, ob ein Tool nötig ist 3. Tool ausführen 4. Ergebnis zurück ans LLM geben 5. finale Antwort ausgeben ## Lernpunkte - Warum Tool Calling für Robotik zentral ist - Warum ein LLM nicht direkt Motoren steuern sollte - Wie man Tools typisiert und validiert - Wie man gefährliche Aktionen begrenzt ## Akzeptanzkriterien - Frage nach Uhrzeit ruft `get_time()` auf. - Frage nach Personen ruft `count_people()` auf. - Befehl "schau nach links" ruft `look("left")` auf. ## Erweiterung Logge jeden Tool-Call mit Timestamp, Argumenten und Ergebnis.