docs: README um Einheiten- und Szenario-Abnahme ergänzt

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-09-17 14:47:43 +02:00
commit 6af1d34842

View file

@ -26,8 +26,9 @@ Aufgabentext (+ optional beigelegte Daten: --daten kurse.csv)
6. Solver ──────────── LLM erzeugt Python-Code, Ausführung in der Sandbox, Reparatur
│ solving/ bei Fehlern; Szenarien = Datenvarianten, ohne LLM nachgerechnet
▼
7. Abnahme ─────────── ohne LLM: jede Teilfrage beantwortet? jede Zahl der Antwort
│ solving/ belegt? Lösung zulässig? Eingabedaten ausgewiesen?
7. Abnahme ─────────── ohne LLM: jede Teilfrage beantwortet? jede Zahl und Einheit
│ solving/ der Antwort belegt? Lösung zulässig? Eingabedaten ausgewiesen?
│ jedes Szenario mit Ergebnis?
▼
Report (Markdown/HTML) + JSON + eigenständiges Solver-Skript reporting/
```
@ -150,8 +151,9 @@ Das LLM kann Fehler machen – deshalb gibt es mehrere Sicherungen:
- **Jede Zahl der Antwort belegt:** Zahlen im Antworttext müssen aus dem Ergebnis oder der Aufgabe stammen (Rundungen und Einheitenumrechnungen werden akzeptiert). Ein Vergleichswert, der in keiner Tabelle steht, fällt auf.
- **Jede Zahl der Aufgabe erfasst:** Zahlen des Aufgabentexts müssen als Fakt mit Fundstelle oder mit Begründung als irrelevant ausgewiesen sein – sonst betreten sie die Pipeline erst im Solver-Code, hinter allen Prüfungen.
- **Selbst erzeugte Daten sind gekennzeichnet:** Erzeugt das Programm Eingabedaten (Zufallszahlen, synthetischer Markt, verkleinertes Universum), muss das in `data_assumptions` stehen, nicht nur im Fließtext – sonst folgt eine Reparatur und notfalls die Markierung „unzuverlässig“.
- **Szenarien nachgerechnet:** Vergleicht die Aufgabe mehrere Konfigurationen, wird jede durch erneutes Ausführen des Programms bestätigt – ohne LLM.
- **Keine erfundene Bedeutung (Prompt-Regel, nicht automatisch geprüft):** Nennt der Text keine Bedeutung – etwa bei einem reinen Formelsatz –, erklärt das Modell mathematisch (Mindest-/Höchstbedingungen) und sagt, dass die Bedeutung fehlt, statt ein Produktionsproblem zu erfinden.
- **Szenarien nachgerechnet:** Vergleicht die Aufgabe mehrere Konfigurationen, wird jede durch erneutes Ausführen des Programms bestätigt – ohne LLM. Hat ein Szenario kein Ergebnis und ist nicht als unlösbar belegt (beobachtet: Zeitlimit abgelaufen, gemeldet als „keine Lösung“), folgt eine Reparatur und notfalls die Markierung „unzuverlässig“.
- **Keine erfundenen Einheiten:** Eine Einheit hinter einer Zahl im Antworttext muss im Aufgabentext oder in beigelegten Daten vorkommen (nach Größenart: „Tausend Euro“ deckt „€“); neutrale Geld- und Mengeneinheiten (GE, ME) nur, wenn der Text von Kosten bzw. Mengen spricht. Sonst folgt eine Reparatur.
- **Keine erfundene Bedeutung (Prompt-Regel, nur teilweise wirksam):** Nennt der Text keine Bedeutung – etwa bei einem reinen Formelsatz –, soll das Modell mathematisch erklären statt ein Produktionsproblem zu erfinden. Gemessen wirkt das nur halb: Bedeutungswörter („Kosten“, „Ressourcen“) tauchen weiter auf; automatisch geprüft werden nur die Einheiten.
- **Sandbox:** Der erzeugte Code läuft ohne Netzzugang, mit nur lesbarem Dateisystem und beschreibbar allein dem Arbeitsverzeichnis des Laufs.
- **Kein falsches „optimal“:** Bleibt das Modell fehlerhaft, wird das Ergebnis als **unzuverlässig** markiert – bei falscher Zielgröße ohne Solver-Lauf, mit Warnkasten im Report und Exit-Code 2.