# Aufgabe 03: Chat Messages modellieren ## Ziel Du modellierst Chat Messages als strukturierte Daten statt als String-Konkatenation. ## Warum ist das wichtig? Tool Calling und Conversation History funktionieren nur sauber mit expliziten Rollen und Feldern. ## Voraussetzungen - Aufgabe 01 - JSON/Serde oder Pydantic ## Theorie Strukturierte Nachrichten verhindern Prompt-Chaos. Der Code kann validieren, kürzen, speichern und gezielt System- oder Tool-Nachrichten einfügen. ## Aufgabe Definiere Typen für system, user, assistant und tool messages und serialisiere sie in das API-Format deines Providers. ## Akzeptanzkriterien - Rollen sind typisiert oder validiert. - JSON-Ausgabe entspricht dem Provider-Format. - Ungültige Rollen werden abgefangen. ## Erweiterungen - Schreibe Unit Tests für Serialisierung. ## Reflexionsfragen - Warum sind Rollen besser als ein langer Prompt? - Was muss eine Tool-Nachricht enthalten? - Wie würdest du binäre Daten vermeiden?