Agentul modifică fișierele de-adevăratelea, iar uneori modifică ce nu trebuie. Nu pentru că s-a stricat - pur și simplu a înțeles sarcina altfel decât ați intenționat dumneavoastră. Vestea bună: capturile de cod Claude Code le face singur, fără nicio implicare din partea dumneavoastră, iar o încercare nereușită se derulează înapoi din câteva apăsări.

Vestea mai puțin bună: aceste capturi au o limită. Tot ce agentul scrie în fișiere se întâmplă în interiorul unui perimetru păzit, și de acolo poate fi adus înapoi. Tot ce trece pe lângă - rămâne dincolo de gard: capturile nu au văzut asta și nu o pot aduce înapoi. E mai bine să știți dinainte pe unde trece gardul, nu în momentul în care ceva a dispărut.

Mai jos: cum funcționează rewind-ul, pe unde trece gardul lui, cât timp ține și cu ce acoperiți ce a rămas dincolo de gard.

Ce este un checkpoint

Checkpoint-ul este o captură a fișierelor pe care agentul urmează să le modifice, făcută înainte să se apuce de ele. Nu e o copie de rezervă a proiectului și nici o înregistrare în istoricul de versiuni, ci un punct de revenire funcțional în interiorul sesiunii curente, adică în interiorul conversației dumneavoastră cu agentul.

Lucrul principal pentru care merită citită această secțiune: captura se face automat înaintea fiecărui mesaj pe care îl trimiteți. Nu o creați, nu o configurați și nu puteți uita s-o declanșați. Ați trimis mesajul - punctul deja există.

  • Mesajul dumneavoastră
  • Captura codului
  • Modificările agentului
  • Mesaj nou
  • Captură nouă

Observați ordinea: mai întâi captura, apoi modificările. Tocmai de aceea revenirea la un punct înseamnă "adu codul înapoi la felul cum era înainte de acest mesaj". Nu alegeți un moment în timp, ci un anumit mesaj de-al dumneavoastră, după care totul trebuie anulat.

Încă o precizare, ca să fie mai simplu mai departe. Checkpoint-ul ține de cod. Claude Code știe să deruleze înapoi și conversația, dar acesta e un alt punct din meniu: codul și conversația revin împreună sau separat, cum decideți.

Cum se deschide meniul de rewind

Sunt două căi de intrare și fac același lucru:

  • comanda /rewind în linia de introducere. Are pseudonimele obișnuite /undo și /checkpoint;
  • tastele Esc Esc, dacă linia de introducere e goală.
Dacă meniul nu s-a deschis

Cel mai probabil, era text în linia de introducere. Atunci primul Esc Esc doar șterge ce ați tastat, iar meniul nu apare. Textul nu se pierde: ajunge în istoricul de introducere, iar săgeata sus îl aduce înapoi. Apăsați Esc Esc încă o dată pe linia deja goală, și meniul se va deschide.

Se deschide o listă cu mesajele dumneavoastră din această sesiune. Nu o listă de fișiere și nici o scală de timp - chiar mesajele, câte unul pentru fiecare pe care l-ați trimis. Alegeți-l pe cel după care lucrurile au luat-o razna.

Un caz special: dacă mai devreme, în același agent pornit, ați folosit /clear, în versiunile recente apare un rând suplimentar în capul listei. Vă duce înapoi la conversația care exista înainte de curățare. Curățarea, după cum vedeți, nu arde nimic.

Ce oferă meniul

Ați ales un punct - agentul întreabă exact ce să facă cu el. Sunt șase opțiuni:

Element de meniuCe face
Restore code and conversationaduce înapoi și codul, și conversația la punctul ales
Restore conversationaduce înapoi doar conversația, lasă fișierele așa cum sunt
Restore codeaduce înapoi doar fișierele, lasă conversația așa cum e
Summarize from herereduce conversația de la acest punct înainte la un rezumat
Summarize up to herereduce conversația până la acest punct la un rezumat, lăsând restul cum e
Never mindînchide meniul fără să facă nimic

Primul lucru bine de știut despre acest tabel: componența meniului se schimbă. Cele două opțiuni despre cod apar doar atunci când, după punctul ales, agentul chiar a modificat fișiere. Dacă n-a modificat, nu e nimic de adus înapoi, iar rândurile respective pur și simplu lipsesc. Așa că dacă în meniu apar patru opțiuni în loc de șase, programul e același.

Cele două rânduri Summarize stau separat. Ele nu lucrează cu codul, ci cu lungimea conversației: reduc o bucată din ea la un rezumat scurt. Nu ajung deloc la fișierele de pe disc. De ce e util acest lucru e un subiect separat și amplu; aici e suficient să știți că nu e un rewind și că nu aduce codul înapoi în acest fel.

Și un mic detaliu care vă scutește de nervi. După restaurarea conversației, textul acelui mesaj revine în linia de introducere. Nu trebuie să vă amintiți ce ați scris și să retastați - corectați formularea și trimiteți din nou.

Ce aduce înapoi rewind-ul și ce nu

În zona lui, rewind-ul e de încredere. Aduce înapoi două lucruri: modificările de fișiere pe care agentul le-a făcut cu propriile instrumente de editare, și istoricul conversației din această sesiune.

Iată ce rămâne dincolo de gard.

  • Modificările făcute prin comenzi în terminal. Agentul știe nu doar să editeze fișiere, ci și să ruleze comenzi. Dacă un fișier a fost șters cu comanda rm, mutat sau suprascris prin copiere, captura nu a văzut asta și nu îl poate aduce înapoi.
  • Modificările din afara agentului. Fișierele pe care agentul nu le-a atins în această sesiune nu sunt afectate deloc de rewind: le-ați corectat singur în editor, le-a suprascris alt program, a lucrat alături o a doua sesiune - toate acestea rămân așa cum sunt, iar meniul nu le poate aduce înapoi sau anula. Dar dacă ați editat manual un fișier pe care l-a editat și agentul, restaurarea codului îl va aduce înapoi la captură integral - inclusiv cu propria dumneavoastră modificare.
  • Modificările subagenților. Dacă agentul a încredințat o parte din muncă unui subagent ajutător, modificările acestuia de obicei nu intră în capturi, iar rewind-ul nu le va aduce înapoi. Acestea se anulează prin git.
  • Cazul rar al fișierelor-legături. Pe acestea rewind-ul le sare și scrie cinstit despre asta pe un rând separat. Dacă îl întâlniți, vă descurcați - nu e nevoie de nicio pregătire specială.
Editarea unui fișier și o comandă în terminal sunt lucruri diferite

Din exterior diferența e aproape invizibilă. Agentul raportează la fel de calm și când a editat un fișier, și când a rulat o comandă care a șters un fișier. Pentru dumneavoastră sunt două mesaje asemănătoare pe ecran, dar pentru rewind sunt evenimente fundamental diferite: pe primul îl anulează, pe al doilea nu.

De aceea o cerere de a rula o comandă care șterge, mută sau suprascrie ceva merită citită mai atent decât o cerere de editare obișnuită. Acela e momentul în care plasa de siguranță din spate deja nu mai există.

Pe scurt: rewind-ul urmărește ce scrie agentul în fișiere, nu tot ce se întâmplă pe calculator.

Cât timp ține un rewind

Capturile nu se adună la infinit. Punctele în sine sunt toate listate în meniu, dar capturile de fișiere se păstrează doar pentru ultimele o sută: pentru o singură conversație e mult, dar nu nelimitat, iar cele vechi sunt eliminate treptat.

În schimb, punctele nu sunt legate de o fereastră de terminal deschisă. Se salvează odată cu sesiunea, așa că puteți închide terminalul, reveni mâine, continua aceeași conversație - și meniul de rewind va funcționa ca și cum nimic nu s-ar fi întâmplat.

Nici asta nu ține la infinit. sesiunile și capturile lor sunt eliminate automat după aproximativ o lună, iar termenul poate fi configurat dacă vreți altfel.

De aici o concluzie simplă: rewind-ul e bun pe orizontul unei singure sarcini - minute, ore, o conversație cu agentul. Nu e gândit ca depozit al istoriei proiectului, și asta nu e un cusur - e pur și simplu o altă treabă. Ce acoperă termene mai lungi vedem mai departe.

Patru plase de siguranță, fiecare cu treaba ei

Undo, captura, copia folderului și istoricul de versiuni nu sunt patru nume pentru același lucru. Ele acoperă termene diferite și tipuri diferite de pierderi.

Plasă de siguranțăCine o creeazăCe salveazăCât timp țineUnde e neputincioasă
Undo în editordumneavoastră, printr-o apăsareultimele dumneavoastră modificări în fișierul deschispuțin timp, depinde de editormodificări în mai multe fișiere deodată, de obicei și ce e scris pe disc pe lângă editor
CheckpointClaude Code, singurcodul dinaintea fiecărui mesaj pe care îl trimitețicât ține sesiunea, o sută de punctecomenzi în terminal, modificări din afara agentului
Copia folderuluidumneavoastră, manualproiectul întreg la momentul copieriipână îl ștergeținu arată ce s-a schimbat și aglomerează discul
Istoric de versiuni, gitdumneavoastră, printr-o acțiune conștientăstările proiectului, una după altacât ține proiectulce n-ați apucat să înregistrați în el

O plasă de siguranță se alege întâi după aria de acoperire, și abia apoi după durată. Dacă Claude modifică fișiere obișnuite cu propriile instrumente de editare și nu atinge nimic în afara sesiunii, un experiment de cinci minute e bine acoperit de checkpoint. Dacă în lucru apar comenzi în terminal sau modificări externe, un singur checkpoint nu ajunge, indiferent de durată. Și doar printre plasele de siguranță potrivite ca acoperire vă uitați la durată: câteva zile de lucru sau un reper important cer un mecanism care nu depinde de conversația cu agentul.

Despre copia folderului merită spus direct. Ca măsură unică înaintea a ceva riscant, funcționează: ați copiat, v-ați apucat să stricați, n-a mers - ați restaurat. Ca sistem nu rezistă. Peste o săptămână aveți câteva foldere aproape identice, iar care e cel actual nu-și mai amintește nimeni.

Ultimul rând e singurul care știe simultan să păstreze stările mult timp și să arate exact ce s-a schimbat între ele. Acesta e git, și e un subiect separat și amplu: propriul instrument, propriul set de comenzi, nu îl deschidem aici. E suficient să înțelegeți locul lui în tabel: cel mai lung orizont și singura protecție împotriva a ceea ce rewind-ul nu acoperă.

Cum vă schimbă asta felul de a lucra

Nu e vorba doar de setul de butoane. Iată ce rezultă din rewind în practică:

  • captura se face singură, dar e practic gratuită doar pentru experimente cu fișiere obișnuite, prin instrumentele de editare ale lui Claude. Dacă apar comenzi în terminal sau modificări în afara sesiunii, alegeți întâi o altă plasă de siguranță;
  • agentul nu face rewind în locul dumneavoastră. Poate spune că a greșit direcția, dar deschiderea meniului și alegerea vă aparțin;
  • cererea de a rula o comandă în terminal e o altă clasă de acțiune decât editarea unui fișier. Pe prima rewind-ul n-o acoperă, pe a doua da. Diferența se vede doar în textul cererii, de aceea merită citit;
  • cu cât pasul e mai mare, cu atât rewind-ul ajută mai puțin. Se poate reveni, dar cu cât agentul a apucat să facă mai multe, cu atât e mai greu de înțeles dintr-un singur meniu ce anume s-a întors. Și aici câștigă pașii mici;
  • rewind-ul și istoricul de versiuni nu concurează. Primul acoperă minute și ore în interiorul unei conversații, al doilea - zile, săptămâni și repere ale proiectului.
Un minut înainte de o modificare mare

Înaintea unei încercări cu adevărat riscante, merită să petreceți un minut și să fixați starea cu ceva care trăiește mai mult decât sesiunea. Chiar acum aveți la dispoziție o copie a folderului - ca măsură unică înaintea unui risc, funcționează cinstit.

Dar instrumentul adevărat pentru asta e git. Păstrează stările cât timp doriți, arată exact ce s-a schimbat între ele și nu aglomerează discul cu foldere aproape identice. Cum se folosește, vedem separat: e un subiect mare și merită propria discuție. Obiceiul de a vă opri un minut înaintea unui risc vă va fi de folos și cu el, și deocamdată fără el.

Iar meniul de rewind să rămână pentru experimente rapide: în rolul de ultimă șansă funcționează vizibil mai slab decât în rolul de instrument de zi cu zi.


Componența meniului de rewind și duratele de păstrare depind de versiunea Claude Code și de setări, așa că la dumneavoastră pot diferi de ce e descris aici. Ce oferă versiunea dumneavoastră vă arată întotdeauna chiar meniul.