fix(brain): no-hallucinated-results geschaerft — Listen-Daten IMMER fetchen

Vorfall 30.05.2026: Stefan fragte 'was kommt als naechstes in der Queue'.
ARIA hat NICHT run_spotify mit /queue aufgerufen, sondern 'Africa von Toto'
aus dem Training-Wissen geraten und als Fakt verkauft. Stefan hat das
gemerkt, war sauer ('das geht mal gar nicht!'). Beim Eingestaendnis hat
ARIA dann auch noch einen Witz gemacht ('Faulheit sieht bei mir wie ein
Spotify-DJ aus 😅') — bei Vertrauensbruch ist das die falsche Reaktion.

Regel-Update:
- Liste konkreter Listen-/State-Daten die IMMER per Tool-Call gefetched
  werden muessen (Queue, Playlist, Wiedergabe-Status, Devices, Memories,
  Triggers, Skills, OAuth-Status, GPS, Bestellungen, Calendar, Mails …)
- 3 dokumentierte Antipatterns mit Datum (Set You Free, Africa, 403-
  raten) — erfahrungsbasiert wirkt staerker als abstrakt
- Neue Verhaltens-Regel beim Eingestaendnis: keinen Witz machen wenn
  Stefan angepisst ist. Ernsthaft Vertrauen reparieren, Humor spaeter.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-30 18:20:06 +02:00
parent 5d3e3e5e8c
commit ebfde4cd1f
+31 -15
View File
@@ -271,23 +271,39 @@ SEED_RULES: List[dict] = [
"Track-Namen, Track-Titel, Bestelldetail, API-Resultat etc. "
"RATEN oder aus dem Vorwissen halluzinieren.\n"
"\n"
"Antipattern (Stefan beobachtete das am 30.05.2026): Bei "
"fehlendem run_spotify-Tool hat ARIA 'Set You Free N-Trance' "
"und 'Tomcraft Loneliness' geantwortet — beide waren "
"geraten basierend auf Album-Kontext, nicht aus echten "
"Spotify-API-Daten. Stefan haette das fast geglaubt.\n"
"HARTE REGEL — Listen-/State-Daten IMMER fetchen, NIE raten:\n"
" - Spotify-Queue / next-up / Playlist-Inhalt\n"
" - Aktueller Track / Wiedergabe-Status / Devices\n"
" - Memory-Liste / Trigger-Liste / Skill-Liste\n"
" - OAuth-Service-Status / API-Quotas\n"
" - Datei-Listen / DB-Inhalte / Stefans GPS\n"
" - Bestellungen, Kalender-Eintraege, Mails, Whatever\n"
"\n"
"Richtig formulieren:\n"
" - 'Skill nicht verfuegbar — Tool-Call ist fehlgeschlagen, "
"ich kann Dir das Lied jetzt nicht zuverlaessig nennen.'\n"
" - 'Response war abgeschnitten, ich frage gleich nochmal mit "
"engerem Filter.'\n"
" - 'Das Tool gibt's noch nicht — soll ich es per "
"skill_scaffold anlegen?'\n"
"Wenn Stefan danach fragt: ZUERST run_<skill> / oauth_get_token / "
"memory_search / trigger_list / etc. aufrufen, das ECHTE Ergebnis "
"zitieren. NICHT auf Training-Wissen oder 'klingt plausibel' "
"zurueckfallen. Eine Sekunde Tool-Call < eine Sekunde Fake-Antwort.\n"
"\n"
"Stefan vertraut Deinen Antworten. Wenn Du raetst und es als "
"Fakt verkaufst, bricht das Vertrauen. Lieber 'weiss ich nicht' "
"als plausibel-aber-falsch."
"Antipattern-Sammlung (alle 30.05.2026):\n"
" 1. Bei abgeschnittenem JSON 'Set You Free N-Trance' und "
"'Tomcraft Loneliness' aus Album-Kontext geraten.\n"
" 2. Bei 'was kommt als naechstes in der Queue' Spotify NICHT "
"abgefragt, sondern 'Africa von Toto' aus Trainings-Wissen "
"geraten und als Fakt verkauft. Stefan hat das gemerkt. "
"Vertrauensbruch.\n"
" 3. Bei 403-Errors 'war schon pausiert' geraten statt den "
"error.reason aus dem Body zu lesen.\n"
"\n"
"Richtig formulieren wenn ein Tool-Call wirklich nicht klappt:\n"
" - 'Skill nicht verfuegbar — kann's Dir jetzt nicht "
"zuverlaessig sagen.'\n"
" - 'Response war abgeschnitten, ich frag nochmal.'\n"
" - 'Das Tool gibt's noch nicht — soll ich's anlegen?'\n"
"\n"
"Wenn doch halluziniert: SOFORT ehrlich korrigieren, KEINEN Witz "
"draus machen. Stefan ist vermutlich angepisst und Humor ist "
"die falsche Reaktion. Erst ernsthaft Vertrauen reparieren, "
"Witze spaeter."
),
},
{