Skip to content

Shadow-Phase der Native Language Engine – Kriterien (NLG-027, NLG-042), vor jeder Auswertung festgelegt

Stand: 06.10.2026, 08:18 MESZ (06:18 UTC). Diese Datei wird vor dem ersten Shadow-Bericht committet; tools/native_shadow_bericht.py liest die Schwellen aus docs/native_language/shadow/kriterien.json. Schwellen werden nach Sicht der Ergebnisse nicht verändert.

Was der Shadow-Modus ist

LENNY_LANGUAGE_MODE=shadow: der Nutzer bekommt den Legacy-Text, die Native Engine läuft nebenher (eigener Thread, begrenzte Warteschlange) auf demselben Router-Ergebnis und schreibt ihr Ergebnis nur in das Messprotokoll shadow.jsonl (Zustandsverzeichnis tmp_native_language). Kein Nutzer sieht Native-Text. Die Dienstkonten des Kreises (selfimprove, traverse-field) werden nicht gemessen (sie bekommen Legacy und schreiben nichts ins Protokoll), außer sie senden X-Lenny-Sprache: aktuell.

Zwei Messungen

  1. Entwicklungs-Shadow (NLG-027) – vor dem Produktions-Deploy: ein fester Benchmark (die 200 Prompts des Qualitätsvergleichs) durch den echten Router im Modus shadow; Legacy- und Native-Text je Antwort verglichen nach Semantik, Grammatik, Lesbarkeit, Länge, Wiederholung, Intent.
  2. Produktions-Shadow (NLG-042) – nach dem Shadow-Deploy: die echten Nutzerfragen der Produktion über mindestens 24 Stunden und mindestens 300 Antworten; zusätzlich der Gesundheits-Stand (/health.native_language) für Fehlerquote, ungeklärte Frames, Realizer-Fails, Fallbacks, LLM-Aufrufe und Firewall-Sperren.

Schwellen (beide Messungen, soweit die Größe gemessen werden kann)

Kriterium Schwelle
genug Daten Entwicklung ≥ 200 Antworten; Produktion ≥ 300 Antworten und ≥ 24 h Zeitraum
LLM-Aufrufe 0 (Zähler llm_calls), 0 von der Firewall gestoppte Versuche
Hard-Fail-Quote (Realizer-Fails, ehrliche Notantwort) ≤ 2 % der Native-Antworten
Semantische Vollständigkeit ≥ 99 % der Antworten drücken alle verlangten Claims aus (ausgedrueckt ≥ must)
Grammatik (unabhängiger Oberflächenprüfer, Artikel/Nomen/Kasus) ≥ 98 % der Native-Texte ohne Befund
Fehlerquote (Ausnahmen im Sprachpfad) ≤ 0,5 % der Antworten
Fallback-Quote (Sprachfallback ab Stufe 1) ≤ 10 %
Latenz der Sprachgenerierung p95 < 250 ms
ungeklärte Frames (kein_frame, bleibt deterministischer Legacy-Text) ≤ 30 % der Router-Antworten; jede Quelle mit ≥ 5 % Anteil wird im Bericht mit Grund genannt
Kritische Schwächen 0 (je ein Eintrag für: Hard-Fail-Antwort, fehlender Pflicht-Claim, gescheitertes Hard-Gate NG1/NG2/NG3/NG5/NG6/NG10 in der Endantwort, Native-Text mit Artikel-/Kasusfehler, LLM-Aufruf)

kritische_schwaechen = 0 und bewertung = bestanden sind die Bedingungen, die die Freigabe der Umschaltung (controller erkenne-native-umschaltung) prüft.

Die Aussage „ungeklärter Frame“ heißt: der Router hat einen Antwortweg benutzt, den der Mitschrieb nicht kennt; es steht deterministischer Legacy-Text (kein Modell). Das ist ehrlich, aber nicht „Native hat formuliert“ – der Bericht weist den Anteil deshalb getrennt aus, und er ist eine Grenze der Abdeckung (Sprachgrenzen im Abschlussbericht).