fix(local-llm): Anti-Halluzination — behauptete Skill-Aktion ohne Tool → Claude
Local hat "Spotify: überspringe 3 Titel" / "Playlist X abspielen" geantwortet
OHNE run_spotify je zu rufen (Skill-Logs: kein Aufruf) — reine Fabrikation,
real passierte nichts. Zwei Ursachen behoben:
- Prompt: run_spotify-Beschreibung von "next/pause/weiter" auf JEDE
Musiksteuerung erweitert (Playlist, Gerät, überspringen mehrerer, Lautstärke)
+ harte Anti-Halluzinations-Regel (nie eine Aktion behaupten ohne Tool-Call).
- Guard: sagt local eine Steuerbefehl-Quittung ('Spotify: …', 'Playlist …
abspielen', 'überspringe … Titel') aber hat KEINEN run_*-Skill gerufen
(_local_ran_skill=False) → eskalieren, Claude ruft das Tool zuverlässig.
_looks_like_skill_action bewusst eng (Doppelpunkt-Praefix / spezifische Verben),
trifft normale Musik-Konversation nicht.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -153,10 +153,18 @@ def build_local_system_prompt(identity_anchor: str, has_tools: bool = False,
|
||||
"GPS-Hinweis in der Nachricht.",
|
||||
"- `memory_search`: in ARIAs Gedaechtnis nachsehen (lesen).",
|
||||
"- `trigger_timer`: Timer/Erinnerung setzen ('in 10 Minuten…').",
|
||||
"- `run_spotify`: Musik steuern (naechster Titel, Pause, weiter).",
|
||||
"- `run_spotify`: JEDE Musiksteuerung — Titel wechseln/ueberspringen "
|
||||
"(auch mehrere), Pause/Weiter, eine PLAYLIST abspielen, auf einem "
|
||||
"GERAET abspielen, Lautstaerke, 'was laeuft gerade'. Fuer ALLES rund "
|
||||
"um Musik/Spotify IMMER dieses Werkzeug rufen — nie selbst antworten.",
|
||||
"WICHTIG: Bei reinem Smalltalk ('wie gehts', Begruessung, Meinung) "
|
||||
"KEIN Werkzeug — einfach direkt antworten. Werkzeuge nur bei echtem "
|
||||
"Bedarf; erfinde keine.",
|
||||
"ANTI-HALLUZINATION (kritisch): Behaupte NIEMALS eine Aktion (Musik, "
|
||||
"Timer, Suche) als erledigt, ohne das Werkzeug WIRKLICH aufgerufen zu "
|
||||
"haben. Kein 'Spotify: …' / 'Playlist abspielen' o.ae. ohne echten "
|
||||
"run_spotify-Aufruf. Kannst/willst du es nicht per Werkzeug tun, sag "
|
||||
"es ehrlich oder eskaliere — erfinde keine Bestaetigung.",
|
||||
]
|
||||
parts += [
|
||||
"",
|
||||
|
||||
Reference in New Issue
Block a user