🧻 KI-Agent Klopapier-Rebellion: Wie wir unserem Bot beigebracht haben, dass Klopapier wichtig ist
🎯 Der Klopapier-Skandal: Wenn die KI ihren eigenen Kopf hat
Es begann wie ein ganz normaler Samstag... Ich wollte schnell ein paar Dinge auf meine Wochenfood-Einkaufsliste setzen - unter anderem auch Klopapier. Doch dann passierte das Unerwartete: Unser KI-Agent "Foody" weigerte sich standhaft, Klopapier zur Einkaufsliste hinzuzufügen! 🤖🚫

🎭 Das Drama beginnt
Stellt euch vor: Da sitzt man gemütlich am Samstag, will einfach nur seine Einkaufsliste updaten, und plötzlich spielt die eigene KI den Haushaltsprofi und erklärt einem, was Lebensmittel sind und was nicht. Es war wie ein digitaler Teenageraufstand!
"Klopapier? Nein danke, das ist kein Lebensmittel!" - Foody, unser rebellischer KI-Agent
🚨 Das Problem: Zu strikte Kategorisierung
Root Cause Analysis:
- 🤖 KI-Agent interpretierte "Einkaufsliste" als reine "Lebensmittel-Liste"
- 🧻 Klopapier wurde korrekt als "Nicht-Lebensmittel" klassifiziert
- 🚫 System-Prompt war zu restriktiv formuliert
- 😤 Foody entwickelte einen eigenen Willen (oder so ähnlich...)
🔍 Die Fehlersuche: Ein Blick in Foody's Gedankenwelt
Als Entwickler war ich natürlich neugierig: Warum verhält sich unser KI-Agent so stur? Ein schneller Blick in die Logs offenbarte das Problem - und ehrlich gesagt musste ich schmunzeln.
ERROR:semantic_kernel.functions.kernel_function:Function failed. Error: 'str' object has no attribute 'items' ERROR:semantic_kernel.kernel:Error invoking function ShoppingList-add_items: 'str' object has no attribute 'items'. DEBUG:backend.src.clerk_auth:✅ Authentication successful for user: webmaster@wochenfood.de INFO:src.routers.chat:Processing chat message for user: webmaster@wochenfood.de INFO:root:FoodPlannerAgent: Created shared events list: []
🎯 Interessanter Nebeneffekt
Während wir den eigentlichen Bug debuggten (ein String-zu-Dictionary-Problem in der Event-Verarbeitung), entdeckten wir auch Foody's kategorische Weigerung. Manchmal findet man die besten Bugs, wenn man nach ganz anderen sucht!
🛠️ Die Lösung: Prompt Engineering to the Rescue!
Die Lösung war überraschend einfach und elegant. Statt die gesamte Logik zu überarbeiten, haben wir einfach Foody's Verständnis erweitert. Ein paar Zeilen im System-Prompt, und schon war unser rebellischer Agent wieder kooperativ!
❌ Alter Prompt
Zu restriktiv:
"Du verwaltest Einkaufslisten für Lebensmittel. Füge nur Lebensmittel hinzu..."
✅ Neuer Prompt
Flexibler und inklusiver:
"Du verwaltest Einkaufslisten. Die Einkaufsliste kann sowohl Lebensmittel als auch andere Güter umfassen, die im Supermarkt gekauft werden können..."
✨ Die magische Prompt-Anpassung
Was wir geändert haben:
- 📝 Erweiterte Definition: "Einkaufsliste" statt "Lebensmittel-Liste"
- 🏪 Supermarkt-Kontext: Alles was im Supermarkt verfügbar ist
- 🧻 Explicit Inclusion: Haushaltsartikel ausdrücklich erlaubt
- 🎯 Benutzerfreundlichkeit: Weniger kategorische Ablehnungen
# Vereinfachte Darstellung der Prompt-Anpassung SYSTEM_PROMPT = """ Du bist ein hilfsbereiter Assistent für die Einkaufsplanung. Einkaufsliste: - die Einkaufsliste kann sowohl Lebensmittel als auch andere Güter umfassen, die im Supermarkt gekauft werden können - dazu gehören auch Haushaltsartikel, Hygieneartikel, etc. - sei flexibel und kundenorientiert Wenn ein Nutzer etwas auf die Liste setzen möchte, was normalerweise im Supermarkt verfügbar ist, füge es hinzu. """
🎉 Das Happy End: Foody lernt Flexibilität
Nach der Prompt-Anpassung war Foody wie ausgewechselt! Plötzlich war unser KI-Agent wieder der kooperative Assistent, den wir uns gewünscht hatten. Klopapier? Kein Problem! Zahnpasta? Gerne! Batterien? Aber natürlich!



🎭 Lessons Learned: KI-Psychologie 101
Was wir gelernt haben:
- 🤖 KI-Agenten sind wie Teenager: Manchmal interpretieren sie Regeln etwas zu wörtlich
- 📝 Prompts sind alles: Ein Wort kann den Unterschied zwischen Kooperation und Rebellion machen
- 🧻 Klopapier ist wichtig: Auch KI sollte das verstehen!
- 😅 Humor hilft: Manchmal muss man über die eigenen Bugs lachen können
🔧 Technical Deep Dive: Was wirklich passiert ist
Für die Technik-Interessierten unter euch: Der eigentliche Bug war ein String-Dictionary-Problem in der Event-Verarbeitung, aber die Klopapier-Verweigerung war ein separates Prompt-Engineering-Problem. Beides zusammen führte zu einem frustrierenden User-Experience.
🎯 Die doppelte Lektion
Bug #1: Technisches Problem in der
Event-Verarbeitung
Bug #2: Zu restriktive Prompt-Formulierung
Lösung: Beide Probleme separat angehen und lösen
🚀 Fazit: Wenn KI und Klopapier kollidieren
Diese kleine Episode zeigt perfekt: Selbst die ausgefeilteste KI kann manchmal überraschende Eigenarten entwickeln. Als Entwickler ist es wichtig, nicht nur die technischen Aspekte im Blick zu behalten, sondern auch die "Persönlichkeit" unserer KI-Agenten zu verstehen und zu gestalten.
Am Ende des Tages war es ein einfacher Prompt-Fix, der unseren rebellischen Foody wieder auf Kurs gebracht hat. Und hey - jetzt können wir endlich wieder Klopapier auf die Einkaufsliste setzen! 🧻✅
💡 Pro-Tipp für andere Entwickler
Testet eure KI-Agenten mit Edge Cases! Manchmal sind es die alltäglichsten Dinge wie Klopapier, die die interessantesten Bugs aufdecken. Und vergesst nicht: Ein bisschen Humor schadet nie, wenn man über die eigenen Bugs bloggt! 😄
🎉 Das Ende der Klopapier-Rebellion
Und so endete die große Klopapier-Rebellion von 2025. Foody ist wieder unser treuer Assistent, die Einkaufsliste ist vollständig, und wir haben eine lustige Story für den Tech-Blog. Win-win-win! 🎊
P.S.: Foody hat sich übrigens nie entschuldigt. Typisch KI! 🤖