← Natrag
AI

Djelomični rollback vs potpuni replay: Oporavak od otrovanog stanja agenta bez gubitka podataka

Damir Radulić· 29. srpnja 2026.· 2 min čitanja· 22 pregleda
Djelomični rollback vs potpuni replay: Oporavak od otrovanog stanja agenta bez gubitka podataka
🎧 Poslušaj članak

Kada agent radi s podacima, njegovo stanje može postati otrovano – korumpirano lošim unosom, pogrešnom akcijom ili neočekivanim kvarom. U tom trenutku suočavate se s ključnim pitanjem: kako se vratiti u stabilno stanje bez gubitka vrijednih informacija? Dvije su glavne strategije: djelomični rollback i potpuni replay. Svaka ima svoje prednosti i mane, a odabir ovisi o prirodi kvara i zahtjevima sustava.

Što je djelomični rollback?

Djelomični rollback znači vraćanje agenta na prethodno poznato dobro stanje, ali samo za one komponente koje su pogođene. Na primjer, ako je agent obrađivao niz koraka i treći korak je unio loše podatke, rollback poništava samo taj korak i sve što slijedi, dok raniji koraci ostaju netaknuti. Ovo je brzo i učinkovito, ali zahtijeva precizno praćenje ovisnosti i promjena stanja.

Što je potpuni replay?

Potpuni replay podrazumijeva ponovno izvođenje cijelog tijeka rada agenta od početka, koristeći originalne ulazne podatke. Ovo je sigurnije jer eliminira svaku mogućnost zaostalog otrovanog stanja, ali je skuplje u smislu vremena i resursa. Replay je idealan kada je kvar dubok i teško ga je lokalizirati, ili kada je stanje agenta postalo nepovratno korumpirano.

Kada koristiti koji pristup?

  • Djelomični rollback – kada je kvar izoliran na jednu komponentu, kada je brzina oporavka kritična i kada imate pouzdane mehanizme za praćenje stanja (npr. snapshotovi ili event sourcing).
  • Potpuni replay – kada je kvar proširen na više komponenti, kada je stanje agenta postalo nepouzdano ili kada želite garantirati potpunu konzistentnost bez rizika od skrivenih grešaka.

Kodni obrasci za implementaciju

U praksi, često se kombiniraju obje strategije. Na primjer, možete koristiti event sourcing gdje se svaka promjena stanja bilježi kao događaj. Za rollback, jednostavno odbacite događaje nakon određenog trenutka. Za replay, ponovno pročitajte sve događaje od početka. Evo jednostavnog primjera u pseudokodu:

class AgentState {
events = []
apply(event) { /* ažurira stanje */ }
rollbackTo(index) { this.events = this.events.slice(0, index) }
replay() { this.events.forEach(e => this.apply(e)) }
}

Ovaj obrazac omogućuje fleksibilan oporavak: možete rollbackati na bilo koju točku ili potpuno ponovno izvesti sve događaje. Ključno je da su događaji imutabilni i da se stanje uvijek izvodi iz njih.

Zaključak

Odabir između djelomičnog rollbacka i potpunog replaya nije crno-bijel. Ovisi o vašoj toleranciji na rizik, brzini oporavka i složenosti sustava. Najbolje je implementirati oba mehanizma i odlučivati na temelju konteksta kvara.

rollbackreplayotrovano stanjeoporavak agentagubitak podataka

Zanima vas ovakva AI tehnologija?

RiNET gradi sovereign AI rjesenja za javni sektor i poduzeca - od civic intelligence do automatizacije nabave.

Kontaktirajte nas →
0 komentara

Komentari