Agent mení súbory naozaj a niekedy zmení niečo iné, než mal. Nie preto, že by sa pokazil - úlohu si len pochopil inak, ako ste mysleli. Dobrá správa: snímky kódu si Claude Code robí sám, bez vašej účasti, a nepodarený pokus sa dá pretočiť späť na pár stlačení.

Horšia správa: tieto snímky majú hranicu. Všetko, čo agent napíše do súborov, sa deje vnútri strážneho perimetra, a odtiaľ sa to dá vrátiť. Všetko, čo ide mimo neho, zostáva za plotom: snímky to nevideli a vrátiť to nedokážu. Kde presne plot vedie, je lepšie vedieť vopred, a nie vo chvíli, keď niečo zmizne.

Nižšie: ako rollback funguje, kde vedie jeho plot, ako dlho vydrží a čím zakryť to, čo zostalo za plotom.

Čo je checkpoint

Checkpoint je snímka súborov, ktoré sa agent chystá upraviť, urobená ešte predtým, než sa ich dotkol. Nie je to záloha projektu ani záznam v histórii verzií, ale pracovný bod návratu vnútri aktuálnej relácie - teda vnútri vášho rozhovoru s agentom.

Hlavná vec, kvôli ktorej sa oplatí čítať túto časť: snímka sa robí automaticky pred každou vašou správou. Nevytvárate ju, nenastavujete a nemôžete zabudnúť stlačiť tlačidlo. Odoslali ste správu a bod už existuje.

  • Vaša správa
  • Snímka kódu
  • Úpravy agenta
  • Nová správa
  • Nová snímka

Všimnite si poradie: najprv snímka, potom úpravy. Práve preto návrat k bodu znamená "vráť kód taký, aký bol pred touto správou". Nevyberáte si okamih v čase, ale konkrétnu vlastnú správu, po ktorej treba všetko zrušiť.

A ešte jedno upresnenie, nech je ďalší text jasnejší. Checkpoint sa týka kódu. Claude Code vie pretočiť aj rozhovor, no to je samostatná voľba v menu: kód a rozhovor sa vracajú spolu alebo oddelene, podľa toho, ako sa rozhodnete.

Ako otvoriť menu rollbacku

Sú dva vstupy a robia úplne to isté:

  • príkaz /rewind na príkazovom riadku. Má aj známe aliasy /undo a /checkpoint;
  • klávesy Esc Esc, ak je príkazový riadok prázdny.
Ak sa menu neotvorilo

Najskôr bol na riadku nejaký text. V tom prípade prvé Esc Esc len zmaže napísané a menu sa neobjaví. Text sa pritom nestratí: uloží sa do histórie zadávania a šípka nahor ho vráti späť. Stlačte Esc Esc ešte raz na už prázdnom riadku a menu sa otvorí.

Otvorí sa zoznam vašich správ z tejto relácie. Nie je to zoznam súborov ani časová os - sú to práve správy, jeden riadok za každú, ktorú ste odoslali. Vyberiete tú, po ktorej sa niečo pokazilo.

Osobitný prípad: ak ste v tomto istom bežiacom agentovi predtým použili /clear, v novších verziách sa navrchu zoznamu objaví ďalší riadok. Vráti vás k rozhovoru, ktorý prebiehal pred vyčistením. Vyčistenie teda, ako vidíte, nič nezničí.

Čo ponúka menu

Vybrali ste bod - agent sa pýta, čo presne s ním urobiť. Možností je šesť:

Položka menuČo robí
Restore code and conversationvráti aj kód, aj rozhovor k vybranému bodu
Restore conversationvráti len rozhovor, súbory necháva tak, ako sú
Restore codevráti len súbory, rozhovor necháva tak, ako je
Summarize from herezbalí rozhovor od tohto bodu ďalej do stručného zhrnutia
Summarize up to herezbalí rozhovor až po tento bod, zvyšok necháva tak, ako je
Never mindzatvorí menu bez toho, aby čokoľvek urobilo

Prvé, čo o tejto tabuľke treba vedieť: zloženie menu sa mení. Dve položky o kóde sa zobrazia iba vtedy, keď agent po vybranom bode naozaj menil súbory. Ak nemenil, niet čo vracať a tieto riadky jednoducho nebudú. Takže ak sa v menu objavia štyri položky namiesto šiestich, program máte úplne rovnaký.

Dva riadky Summarize stoja bokom. Nepracujú s kódom, ale s dĺžkou rozhovoru: zbalia jeho kus do stručného zhrnutia. K súborom na disku sa v podstate vôbec nedostanú. Prečo sa to niekedy hodí, je samostatná a rozsiahla téma - tu stačí vedieť, že toto nie je rollback a kód sa takto späť nevráti.

A drobnosť, ktorá ušetrí nervy. Po obnovení rozhovoru sa text danej správy vráti do vstupného riadku. Netreba si spomínať, čo ste napísali, ani to písať znova - stačí upraviť formuláciu a odoslať znova.

Čo rollback vráti a čo nie

Vo svojej zóne je rollback spoľahlivý. Vracia dve veci: úpravy súborov, ktoré agent urobil svojimi nástrojmi na editovanie, a históriu rozhovoru v tejto relácii.

A toto zostáva za plotom.

  • Zmeny urobené príkazmi v termináli. Agent vie nielen upravovať súbory, ale aj spúšťať príkazy. Ak sa súbor zmazal príkazom rm, presunul sa alebo prepísal kopírovaním, snímka to nevidela a nevráti to.
  • Zmeny mimo agenta. Súborov, ktorých sa agent v tejto relácii nedotkol, sa rollback vôbec netýka: upravili ste ich sami v editore, prepísal ich iný program, bežala vedľa druhá relácia - všetko to zostáva tak, ako je, a cez menu to vrátiť ani zrušiť nemožno. Ak ste však ručne upravili súbor, ktorý zároveň editoval aj agent, obnovenie kódu ho vráti k snímke celý - vrátane vašej úpravy.
  • Úpravy subagentov. Ak agent zveril časť práce pomocnému subagentovi, jeho úpravy sa do snímok zvyčajne nedostanú a rollback ich nevráti. Tie sa vracajú cez git.
  • Zriedkavý prípad súborov-odkazov. Také súbory rollback preskočí a poctivo to napíše na samostatnom riadku. Ak sa s tým stretnete, poradíte si, špeciálne sa netreba pripravovať.
Úprava súboru a príkaz v termináli sú rozdielne veci

Navonok je rozdiel takmer neviditeľný. Agent hlási rovnako pokojne, či už súbor upravil, alebo spustil príkaz, ktorý súbor zmazal. Pre vás sú to dve podobné správy na obrazovke, pre rollback sú to zásadne odlišné udalosti: prvú vráti, druhú nie.

Preto si žiadosť o spustenie príkazu, ktorý niečo maže, presúva alebo prepisuje, zaslúži pozornejšie čítanie než žiadosť o bežnú úpravu. Je to prípad, keď za vami už nie je žiadna poistka.

Ak to zhrniem: rollback sleduje, čo agent píše do súborov, nie všetko, čo sa deje vo vašom počítači.

Ako dlho rollback vydrží

Snímky sa nehromadia donekonečna. Samotné body sú v menu vypísané všetky, no snímky súborov sa uchovávajú len pre posledných sto: na jeden rozhovor je to veľa, ale nie neobmedzene, a staré sa postupne vytláčajú.

Body však nie sú viazané na otvorené okno terminálu. Ukladajú sa spolu s reláciou, takže môžete zavrieť terminál, vrátiť sa zajtra, pokračovať v tom istom rozhovore - a menu rollbacku bude fungovať, akoby sa nič nestalo.

Navždy to však tiež nezostáva. Relácie a ich snímky sa automaticky odstránia približne po mesiaci, doba sa dá podľa potreby nastaviť.

Z toho plynie jednoduchý záver: rollback je dobrý na horizonte jednej úlohy - minúty, hodiny, jeden rozhovor s agentom. Ako úložisko histórie projektu navrhnutý nebol, a to nie je nedostatok - je to len iná práca. Kto pokrýva dlhšie horizonty, rozoberieme ďalej.

Štyri poistky, a každá má svoju úlohu

Undo, snímka, kópia priečinka a história verzií nie sú štyri názvy pre jednu vec. Pokrývajú rôzne časové horizonty a rôzne typy strát.

PoistkaKto ju vytváraČo uchovávaAko dlho vydržíKde je bezmocná
Undo v editorevy, stlačenímvaše posledné úpravy v otvorenom súborekrátko, závisí od editoraúpravy naraz vo viacerých súboroch a obyčajne aj to, čo sa zapíše na disk mimo editora
CheckpointClaude Code, sámkód pred každou vašou správouspolu s reláciou, sto bodovpríkazy v termináli, zmeny mimo agenta
Kópia priečinkavy, ručnecelý projekt v okamihu kopírovaniakým ju nezmažeteneukazuje, čo sa zmenilo, a zapratáva disk
História verzií, gitvy, cieleným krokomstavy projektu jeden za druhýmspolu s projektomto, čo ste do nej nestihli zapísať

Poistku si vyberáte najprv podľa toho, čo pokrýva, a až potom podľa toho, ako dlho vydrží. Ak Claude mení bežné súbory svojimi nástrojmi na editovanie a nezasahuje nič mimo relácie, päťminútový experiment dobre pokryje checkpoint. Ak je v hre práca s terminálom alebo externé zmeny, samotný checkpoint nestačí bez ohľadu na dĺžku úlohy. A až medzi poistkami, ktoré vyhovujú svojím pokrytím, sa pozerajte na časový horizont: niekoľko dní práce alebo dôležitý medzník si žiadajú mechanizmus, ktorý nezávisí od rozhovoru s agentom.

O kópii priečinka treba povedať otvorene. Ako jednorazové opatrenie pred niečím riskantným funguje: skopírovali ste, skúsili niečo rozbiť, nevyšlo - vrátili ste. Ako systém však nefunguje. O týždeň máte niekoľko takmer identických priečinkov a nikto si už nepamätá, ktorý je aktuálny.

Posledný riadok je jediný, ktorý dokáže súčasne uchovávať stavy dlho aj ukázať presne, čo sa medzi nimi zmenilo. To je git a je to samostatná veľká téma: vlastný nástroj, vlastná sada príkazov, tu sa jej podrobne venovať nebudeme. Stačí poznať jeho miesto v tabuľke: najdlhší horizont a jediná ochrana pred tým, čo rollback nepokrýva.

Ako to mení spôsob práce

Nejde len o sadu tlačidiel. Toto z rollbacku vyplýva v praxi:

  • snímka sa robí sama, no takmer nič nestojí len experiment s bežnými súbormi cez editovacie nástroje Claude. Ak budete potrebovať príkazy v termináli alebo zmeny mimo relácie, najprv zvoľte inú poistku;
  • agent za vás nevracia späť. Môže povedať, že sa vydal nesprávnym smerom, ale menu otvárate a vyberáte vy;
  • žiadosť o spustenie príkazu v termináli je iná trieda akcie než úprava súboru. Prvé rollback nepokryje, druhé áno. Rozdiel je vidieť len v texte požiadavky, a preto sa oplatí ju čítať;
  • čím väčší krok, tým menej z rollbacku profitujete. Vrátiť sa dá, ale pochopiť z jedného menu, čo presne sa vrátilo, je tým ťažšie, čím viac toho agent stihol urobiť. Aj tu vyhrávajú malé kroky;
  • rollback a história verzií si nekonkurujú. Prvý pokrýva minúty a hodiny v rámci jedného rozhovoru, druhá dni, týždne a míľniky projektu.
Minúta pred veľkou úpravou

Pred naozaj rizikovým pokusom sa oplatí venovať minútu tomu, aby ste stav zafixovali niečím, čo vydrží dlhšie než relácia. Práve teraz máte poruke kópiu priečinka - ako jednorazové opatrenie pred rizikom funguje poctivo.

Skutočným nástrojom na túto prácu je však git. Uchováva stavy tak dlho, ako chcete, ukazuje presne, čo sa medzi nimi zmenilo, a nezapratáva disk takmer identickými priečinkami. Ako ho používať, rozoberieme samostatne: téma je veľká a zaslúži si vlastný priestor. Zvyk zastaviť sa na minútu pred rizikom sa vám však zíde aj s ním, aj bez neho zatiaľ.

Menu rollbacku nech zostane na to, v čom je dobré - na rýchle experimenty: v úlohe poslednej záchrany funguje badateľne horšie než ako každodenný nástroj.


Zloženie menu rollbacku a doby uchovávania závisia od verzie Claude Code a nastavení, takže vaše sa môžu líšiť od toho, čo je opísané tu. Čo ponúka vaša verzia, vždy ukáže samotné menu.