revert(router): Live-Wortliste raus — Modell soll selbst eskalieren

_LIVE_HINTS war die falsche Idee: aus offenem Freitext per Wortliste die
Absicht raten ist nie vollstaendig, jeder Miss = Halo (nur von per-Skill auf
per-Wort verschoben). Generisch heisst nicht 'groessere Regex', sondern: das
Modell entscheidet selbst ob es Grundwahrheit/ein Tool braucht (<<ESCALATE>>,
Prompt). Der 8B kann das noch nicht zuverlaessig → local bleibt per Einstellung
abschaltbar (aus, nicht raus); ein staerkeres lokales Modell uebernimmt spaeter
die Selbst-Erkennung. Absicherung bleibt der Output-Guard, nicht der Input.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-12 00:20:02 +02:00
co-authored by Claude Opus 4.8
parent fc13957000
commit 44220edbd1
2 changed files with 14 additions and 23 deletions
+5 -2
View File
@@ -1423,8 +1423,11 @@ class Agent:
# er lieber eine plausible Antwort ('der Song ist X'), statt das Tool zu
# rufen — das war die Halo-Quelle UND zwang zu per-Skill-Guards. Ohne
# Tools KANN er kein Skill-Ergebnis faelschen. Alles mit Grundwahrheit
# (Fakt/Live-Zustand/Gedaechtnis/Aktion) gehoert an Claude (Router-Gate
# vorab) oder an den deterministischen Fast-Path — nicht an den 8B.
# (Fakt/Live-Zustand/Gedaechtnis/Aktion) gehoert an Claude oder an den
# deterministischen Fast-Path — nicht an den 8B. WIE es dorthin kommt:
# das Modell eskaliert SELBST (<<ESCALATE>>, siehe Prompt) — bewusst KEINE
# Input-Wortliste im Router. Der Output-Guard unten faengt ab, wenn der
# 8B doch mal statt zu eskalieren einen Live-Zustand behauptet.
tools = []
sys_prompt = router_mod.build_local_system_prompt(IDENTITY_ANCHOR,