Loading...
Umkehrbare Aktionen und Kompensation (Agent-Saga)(Saga)
Ein Muster, um die Seiteneffekte eines Agenten gefahrlos rückgängig machen zu können. Strukturieren Sie die Trajektorie als Saga: Jede Vorwärtsaktion (einen Flug buchen, eine Karte belasten, einen Datensatz anlegen) wird mit einer kompensierenden Aktion gepaart, die ihre fachliche Wirkung rückgängig macht, und jedes Tool wird mit einem Idempotenzschlüssel idempotent gemacht, sodass ein erneuter Versuch oder ein Rollback denselben Endzustand erzeugt, statt die Arbeit zu duplizieren. Schlägt ein Schritt mittendrin fehl, führt der Agent die Kompensationen der bereits abgeschlossenen Schritte in umgekehrter Reihenfolge aus, anstatt das System halb angewendet zu hinterlassen. Es gibt kein automatisches ACID-Rollback über Dienste hinweg, daher werden Kompensationen ausdrücklich als die logische Umkehrung jeder Aktion entworfen. Abzugrenzen von `durable-execution`: Dieses persistiert und wiederholt einen Durchlauf, damit er nach einem Absturz bis zum Abschluss fortgesetzt werden kann, während dieses Muster festlegt, wie bereits festgeschriebene Seiteneffekte semantisch rückgängig gemacht werden, wenn der Abschluss nicht mehr das richtige Ergebnis ist.
In 30 seconds
- What
- Koppelt jede Vorwärtsaktion an eine explizite Kompensationsaktion, die deren fachliche Wirkung rückgängig macht, und nutzt Idempotenzschlüssel, damit Wiederholungen und Rollbacks zum selben Zustand konvergieren.
- When to use
- Mehrstufige Workflows über mehrere Dienste hinweg, bei denen Fehler mitten im Ablauf bereits festgeschriebene Seiteneffekte rückgängig machen müssen, ohne automatisches ACID-Rollback.
- Watch out
- Kompensationen müssen korrekt geschrieben sein und verfügbar bleiben; eine fehlerhafte oder fehlende Kompensation hinterlässt das System in einem inkonsistenten Zustand ohne automatische Wiederherstellung.
Loading technique guide…