fix: abgeschnittene Antworten meiden den Anbieter; LLM-Ausfall macht unzuverlässig statt abzustürzen

Grundlinie 20260918-191400: 9 von 22 Läufen hatten Aufrufe, die an LLM_MAX_TOKENS abgeschnitten
wurden (Venice 4/28, Makora 2/43, übrige 0/54); hard_portfolio_kardinalitaet brach nach vier
Abschneidungen ab, Kosten gingen verloren.

- Abschneiden: sofort neu versuchen, Anbieter per provider.ignore meiden (_avoid_provider,
  gemeinsam mit „zu langsam“)
- nach allen Wiederholungen LLMUnavailable (Stufe + Ursache); fatale Fehler bleiben unverpackt
- Solver-Stufe behält Modell und Prüfbericht (Solver-Fehler), Gegenprobe behält erstes Ergebnis,
  davor Ergebnis ohne Spezifikation mit Kosten („LLM-Fehler“, Report „Lauf abgebrochen“)
- Benchmark: Status „LLM-Fehler“ statt ABBRUCH, zählt nicht als ehrliches Scheitern
- TextToModel.py: Shebang

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-09-18 19:24:23 +02:00
commit 6b2b2c6466

View file

@ -518,6 +518,8 @@ Mit dem Gemini-Gratiskontingent ist der Benchmark praktisch nicht durchführbar;
|---|---|---|
| `KeyError: 'OPENROUTER_API_KEY'` | Schlüssel nicht gesetzt | `export OPENROUTER_API_KEY=…` in derselben Shell |
| `Error code: 401` | Schlüssel ungültig | Schlüssel prüfen |
| `Anbieter … schnitt die Antwort ab – … gemieden` | das Modell hat die Tokengrenze (`LLM_MAX_TOKENS`) mit Nachdenken aufgebraucht | nichts – der Aufruf wird sofort bei einem anderen Anbieter wiederholt |
| `LLM-Aufruf '…' nach allen Wiederholungen gescheitert` (Exit-Code 2) | viermal Überlastung/Abschneiden hintereinander | später erneut; war das Modell schon fertig, `--von solver ERGEBNIS.JSON` |
| `Error code: 402` | Guthaben bei OpenRouter aufgebraucht | Guthaben aufladen |
| `RESOURCE_EXHAUSTED` | Gemini-Kontingent erschöpft | später erneut oder OpenRouter-Modell |
| `Vorübergehender LLM-Fehler – neuer Versuch in … s` | Überlastung, Ratelimit, Zeitüberschreitung | nichts tun; es wird automatisch bis zu dreimal wiederholt |