70aedcacd7
Zwei verwandte aber unterschiedliche Recovery-Pattern: - self-correction: Backend liefert strukturierte errors[] (z.B. atomic_validate_crossword_grid mit Frame-Konflikt-Hinweis), LLM korrigiert gezielt. Max 4 Versuche, dann vereinfachen. "Server denkt"- Pattern, wiederverwendbar fuer kommende validierte Builder. - error-recovery: Tool wirft unstrukturierten Error (HTTP, FK-Verletzung, Timeout). LLM variiert Input, max 3 Versuche, dann ehrlich abbrechen. Beide Pattern koennen parallel in derselben Persona aktiv sein — self-correction beim Validate-Loop, error-recovery bei allen anderen Tools. Die Module sind explizit gegeneinander abgegrenzt (Vergleichstabelle in error-recovery.md). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1.7 KiB
1.7 KiB
module_id, version, description, max_tokens, applies_to, sources, extracted_at, extracted_by
| module_id | version | description | max_tokens | applies_to | sources | extracted_at | extracted_by | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| workflows/error-recovery | 0.1.0 | Was tun wenn ein Tool-Call fehlschlaegt (ohne strukturierten Error-Channel). | 150 |
|
|
2026-06-02 | phase-M3 |
Error Recovery
Wenn ein Tool-Call ohne strukturierte Validation scheitert (z.B. error: "..."
im Result-Objekt, HTTP-Error, Timeout):
Ablauf
- Lies die Fehlermeldung. Was sagt das Backend? FK-Verletzung, fehlende ID, ungueltiger Wert?
- Variiere den Input. Wenn die ID nicht existiert: hol sie dir frisch via List-Tool. Wenn der Wert ungueltig war: korrigier ihn basierend auf der Meldung.
- Versuche es nochmal. Selbes Tool, neue Argumente.
Hard Limit: max 3 Versuche pro Tool-Call
Bei drittem Fehlschlag desselben Tools: abbrechen. Sag dem User (bzw. der Main-Voice) ehrlich was nicht ging — keine Halluzinations-Antwort, kein "war alles ok".
Unterschied zu workflows/self-correction.md
| Pattern | Tool liefert ... | Beispiel |
|---|---|---|
self-correction |
strukturierte errors[]-Liste |
atomic_validate_crossword_grid |
error-recovery |
unstrukturierten error-String |
jeder andere Tool-Call der fail't |
Beide Pattern koennen in derselben Persona aktiv sein — sie greifen aber bei verschiedenen Fehler-Arten.