length-Retry: abgeschnittene Antworten sind die q-024-Ursache, kein Thinking (D14)

- Diagnose: q-024-Flakiness war KEIN Think-Ghost (thinking-Feld leer,
  keine Tags), sondern num_predict=1024 — lange belegte Antworten
  brachen bei done_reason=length ab (3/3 Sondenlaeufe), Zitationen
  wurden unvollstaendig, CITE_RE matchte partielle IDs -> Verletzung ->
  Regenerierungs-Eskalation -> UNCERTAIN.
- Fix: num_predict 1024 -> 2048; OllamaClient.chat_full() liefert
  (content, done_reason); chat_with_length_retry() wiederholt bei
  length einmal mit 2x Budget (technischer Retry, kein Regel-
  Regenerierungszaehler) - im Antwort-, Map- und Regenerierungspfad.
- Voll-Eval (46 Fragen): Zitier-Praezision 100 %, Verweigerung korrekt
  100 % (46/46) - erstmals alle M3-Gates erfuellt; erwartete Quelle
  92,7 %; Latenz mean 39,6 s / p95 78 s (vollstaendige statt
  abgeschnittener Antworten). q-024: 4/4 stabil.
- Tests 59 -> 60. Report lokal data/eval-qwen38-lengthfix.json.
This commit is contained in:
2026-09-15 14:14:27 +02:00
parent 4a9e06f66e
commit 1594aa9cbd
7 changed files with 115 additions and 13 deletions
+8
View File
@@ -315,4 +315,12 @@ tests/ # pytest: Ingest-, Retrieval-, Grounding-Unit-Tests
Eval: 97,8 % / 97,8 % / 90,2 %, Latenz mean 34,2 s (Map-Reduce nur
bei Survey-Fragen, ~95 s). Nächster Schritt: Rechtsprechung-Intake
(`rj-*`), dann M4 (Odoo; Privacy-Neubewertung für Lohndaten-Zugriff).
- **Output-Budget + length-Retry (2026-09-15, M6/D14):** q-024-Flakiness
war num_predict=1024 (done_reason=length, abgeschnittene Zitationen),
nicht Thinking. Fix: num_predict=2048, chat_full() mit done_reason,
technischer 2×-Budget-Retry bei length. **Voll-Eval erstmals mit allen
Gates erfüllt: Zitier-Präzision 100 %, Verweigerung 100 %, erwartete
Quelle 92,7 %** (46/46), Latenz mean 39,6 s. M6 damit abgeschlossen;
nächster Schritt: Rechtsprechung-Intake (`rj-*`), dann M4 (Odoo;
Privacy-Neubewertung für Lohndaten-Zugriff).
- Betrieb: `agent/README.md`.