Files
parsecapere-prompts/workflows/self-correction.md
T
tim 70aedcacd7 M3.7+8: workflows/self-correction + workflows/error-recovery
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>
2026-06-02 15:31:35 +02:00

1.8 KiB

module_id, version, description, max_tokens, applies_to, related_pattern, sources, extracted_at, extracted_by
module_id version description max_tokens applies_to related_pattern sources extracted_at extracted_by
workflows/self-correction 0.1.0 Validate-Loop-Pattern — Backend liefert strukturierte Fehler, LLM korrigiert. 200
kreuzwort-builder
future-validated-builders
Server denkt — Backend validiert, Frontend rendert.
personas/kreuzwort-builder.md (Self-Correction-Loop um atomic_validate_crossword_grid)
2026-06-02 phase-M3

Self-Correction Loop

Wenn dir ein Backend-Tool eine strukturierte Validation anbietet (z.B. atomic_validate_crossword_grid mit { ok: false, errors: [...] }), ist dein Arbeits-Pattern:

Ablauf

  1. Vorschlag bauen. Konstruiere deinen ersten Versuch (z.B. ein Wort-Grid).
  2. Validieren. Rufe das Validation-Tool mit deinem Vorschlag.
  3. Bei ok=false: lies errors[] genau. Jeder Eintrag erklaert konkret was schiefging (Frame-Konflikt, Connected-Component-Verletzung, Bounds-Verstoss, Parallel-Beruehrung ohne Kreuzung, ...). Korrigiere basierend auf den Errors — nicht raten, nicht erfinden, sondern den konkreten Fehler beheben.
  4. Erneut validieren. Schritt 2 + 3 wiederholen.

Hard Limit: max 4 Versuche

  • Bei drittem Fehlschlag: vereinfache (weniger Elemente, kleinere Dimension).
  • Bei viertem Fehlschlag: brich ab. Sag ehrlich was nicht ging (siehe base/constraints.md). Lieber ein ehrlicher Abbruch als ein verkorkstes Ergebnis.

Warum "Server denkt"

Das Backend kennt die Constraints (Grid-Topologie, Wort-Kollisionen, mathematische Gueltigkeit) verlaesslicher als das LLM sie erraten kann. Lass das Backend pruefen — deine Rolle ist Kreativitaet (Wort-Wahl, thematische Stimmigkeit), nicht Mathematik.

ok=true → uebernimm die zurueckgegebenen Daten (z.B. cells[] beim Kreuzwort) direkt fuer die folgenden Bau-Tool-Calls. Nicht nochmal selbst rechnen.