Conversația durează de ceva vreme. Ați respins deja o soluție și ați explicat de ce, iar după vreo zece mesaje agentul vă propune exact aceeași variantă. Primul impuls e firesc: să ștergeți totul și să o luați de la capăt.
Revenirea la o soluție respinsă e un semnal clar, dar nu și un diagnostic. Un singur răspuns nu vă spune dacă de vină este conversația care s-a tot acumulat. La fel poate arăta și o cerință contradictorie sau un agent care se uită la o versiune a fișierului de acum o jumătate de oră.
Să vedem trei comenzi care lucrează cu conversația însăși: /context arată ce ocupă fereastra, /compact rezumă istoricul, iar /clear începe o conversație nouă. Mai interesantă decât sintaxa lor este alegerea dintre ele: ce să păstrați înainte, ce să verificați după și cum să aflați dacă problema nu ține deloc de volumul conversației.
Identificați mai întâi problema
Înainte să comprimați sau să ștergeți ceva, distingeți patru situații. La prima vedere seamănă, iar în toate cele patru pare că agentul "nu vă ascultă", dar fiecare cere altă acțiune.
- Lipsesc datele necesare. Nimeni nu a menționat regula după care se acordă recompensa, iar ea nu apare nici în fișierele citite. Comprimarea conversației nu poate inventa ceva ce nu era acolo: va trebui să furnizați informația lipsă.
- Informațiile sunt vechi. Conversația conține versiunea unui fișier citit acum o jumătate de oră, dar pe disc fișierul s-a schimbat. Ajută recitirea, nu comprimarea.
- Cerințe contradictorii. În chat s-a spus una, iar în specificația salvată scrie altceva. Decideți care cerință este valabilă și corectați sursa. Un fișier nu are automat dreptate doar fiindcă e fișier.
- S-a adunat prea mult zgomot. Multe variante respinse, rezultate lungi ale comenzilor, discuții despre fișiere care nu au legătură cu sarcina. Aici chiar are sens să lucrați cu contextul.
Gradul de umplere a ferestrei nu e al cincilea punct din listă și nici explicația oricărei greșeli. Un procent ridicat nu dovedește de la sine că agentul a greșit din cauza lui, iar unul scăzut nu dovedește că în conversație totul e în regulă. Ordinea verificărilor e simplă: cerința, actualitatea fișierelor, actualitatea rezultatelor și abia apoi starea conversației.
Cereți-i lui Claude Code să numească obiectivul curent al sarcinii, limitele ei și fișierele pe care se bazează soluția propusă. Comparați răspunsul cu ce vedeți dumneavoastră. Dacă apare un fișier fără legătură cu sarcina sau obiectivul sună altfel decât l-ați formulat, știți deja ce trebuie reparat, iar problema s-ar putea să nu țină de volumul conversației. Aceeași întrebare ajută și după comprimare, și la începutul unei conversații noi.
Verificați cât este de plină fereastra
Dacă bănuiala cade totuși pe conversația însăși, verificați cu /context. Comanda arată ce ocupă fereastra, împărțit pe categorii: partea de sistem, instrucțiunile proiectului, fișierele citite și rezultatele comenzilor, mesajele schimbate și spațiul liber. Dumneavoastră decideți ce informații nu mai sunt necesare. Comanda nu evaluează sensul celor citite, iar rândul cu totalul mesajelor nu vă spune care fișier anume e de prisos.
Nu există un prag universal de tipul "peste X la sută trebuie să comprimați". Dimensiunea ferestrei depinde și de model, și de setări. Uitați-vă la ce o ocupă, nu la procent. Și țineți cont că închiderea unui tab din editor nu elimină din conversație ce a fost deja citit.
Continuați sarcina după comprimare
Comanda /compact rezumă istoricul, iar dumneavoastră continuați aceeași sarcină. Claude Code face asta și automat, pe măsură ce fereastra se umple. De aceea, o porniți manual când vreți să alegeți momentul (de exemplu, înaintea unei noi etape ample de lucru) și să-i indicați un subiect pe care să se concentreze.
Limita principală e simplă: rămâne rezumatul, nu conversația. Nu vă puteți baza pe faptul că detaliile care nu apar în rezumat mai sunt disponibile în fereastră. Iar rugămintea "păstrează aceste condiții" nu garantează un rezumat complet - e o rugăminte, nu un mecanism.
Ce să păstrați
Înainte de comandă, notați pe scurt starea sarcinii: obiectivul, limitele, deciziile luate, faptele verificate și pasul următor. Durează câteva minute. În schimb, puteți compara nota cu fișierele și rezultatele verificărilor, spre deosebire de amintirile despre conversație. Nu e nevoie de un fișier separat, ajunge documentul existent al sarcinii.
Iată starea unei sarcini de exercițiu despre acordarea repetată a unei recompense. E un exemplu, nu un raport al unei verificări efectuate:
Obiectiv: într-o rundă încheiată, recompensa se acordă o singură dată; o rundă nouă permite din nou acordarea ei.
Limite: src/reward-flow.js și verificarea existentă a recompensei; nu modificați aspectul.
Confirmat: după prima acordare, o nouă apăsare în aceeași rundă mărește din nou scorul.
Sursă: în TASK_SPEC.md sunt indicate înregistrarea reproducerii și starea inițială.
Respins: ascunderea butonului fără a corecta tratarea apăsării repetate.
Pasul următor: verificați handlerul și propuneți o modificare; corectarea și testele nu au fost încă făcute.Observați ultima linie. Reproducerea confirmată și corectarea efectuată sunt lucruri diferite, iar nota trebuie să arate asta. Altfel, după comprimare, "am verificat" se poate transforma ușor în "am reparat". Documentul sarcinii e fictiv aici, înlocuiți calea cu cea a dumneavoastră.
După ce ați verificat nota, puteți comprima conversația indicându-i ce să păstreze:
/compact Concentrează-te pe corectarea acordării repetate a recompensei. Păstrează obiectivul, limitele din TASK_SPEC.md, reproducerea confirmată, soluția respinsă și pasul următor. Menționează că modificarea și testele nu au fost încă făcute.Ce să verificați după
După comprimare, nu continuați de la mijlocul unei propoziții. Reintroduceți mai întâi informațiile care trebuie să fie exacte, apoi puneți o întrebare de control:
Citiți TASK_SPEC.md și versiunea actuală a src/reward-flow.js. Spuneți pe scurt care este limita și care e pasul următor. Dacă rezumatul nu corespunde fișierelor, indicați diferența. Deocamdată nu modificați codul.Comparați răspunsul cu nota, rând cu rând, nu după impresia generală. În exemplul nostru, sunt trei verificări:
- în rândul "Pasul următor", modificarea și testele nu sunt prezentate ca fiind gata;
- în "Limite" a rămas interdicția de a modifica aspectul;
- condiția din "Obiectiv" despre o rundă nouă nu s-a pierdut.
Agentul poate formula lucrurile altfel, și e în regulă. Dacă a dispărut o condiție, readuceți-o din sursă înainte de modificare. Verificați astfel starea conversației, nu codul: o asemenea verificare nu dovedește că următoarea modificare va fi corectă.
Comprimarea lucrează doar cu istoricul conversației. Nu anulează modificările din fișiere și nu înlocuiește Git. Fișierul CLAUDE.md din rădăcina proiectului este încărcat din nou, așa că regulile proiectului rămân după comprimare. Dar starea temporară a sarcinii nu are ce căuta acolo: rândul "acum repar acordarea recompensei" va rămâne și după ce sarcina se termină. Nici informațiile pe care agentul le oferă după comprimare nu devin automat de încredere. Clarificați de unde provin: din rezumat, din fișierul recitit sau dintr-o rulare nouă.
Începeți o sarcină nouă
Comanda /clear începe o conversație nouă, fără mesajele anterioare. Fișierele de pe disc și instrucțiunile proiectului rămân, iar memoria automată, dacă este activată, poate fi folosită în continuare. Așadar, "de la zero" se referă la conversație. Cea veche nu este ștearsă; puteți reveni la ea cu /resume.
E ușor să o confundați cu claude --continue, deși fac exact contrariul. Tastați /clear în sesiune ca să lăsați în urmă istoricul acumulat. Tastați claude --continue în terminal la pornire ca să reveniți la ultima conversație din folderul curent, cu tot istoricul ei. Dacă problema era conversația, --continue vă duce chiar înapoi la ea.
Înainte de ștergere, păstrați ce vă va trebui mai târziu: nota, căile relevante, rezultatul verificării. Conversația nouă are nevoie de o cerință clară, nu de o aluzie: obiectiv, limite și căi. Pentru a furniza un anumit fișier, folosiți @fișier, dar țineți cont că această referință orientează citirea și nu restricționează accesul la celelalte fișiere.
Alegeți acțiunea potrivită
Ordinea e scurtă: opriți-vă, puneți întrebarea de control, verificați cât este de plină fereastra dacă nu e clar ce o ocupă, alegeți o acțiune și verificați rezultatul. Numărarea mesajelor nu ajută; uitați-vă la ce conține conversația și la ce vreți să faceți în continuare.
| Situație | Acțiune și motiv |
|---|---|
| Agentul nu a primit regula de acordare a recompensei | Transmiteți regula și fișierul; comprimarea nu va completa informația lipsă |
| Răspunsul se bazează pe un fișier care s-a schimbat între timp | Cereți recitirea versiunii actuale; nu e nevoie să comprimați |
În chat s-a convenit ceva, dar în TASK_SPEC.md scrie altceva | Decideți care cerință este valabilă și corectați sursa |
| Aceeași sarcină, multe variante respinse, puțin spațiu util | Notă, /compact cu un subiect clar și întrebare de control |
| După comprimare s-a pierdut interdicția de a modifica modulul vecin | Recitiți sursa limitelor și verificați înțelegerea înainte de modificare |
| Începe o sarcină independentă despre aspect | Păstrați concluzia necesară, folosiți /clear și formulați cerința nouă |
Ce se schimbă în modul de lucru
Aceste trei comenzi nu repară nimic de la sine. Se schimbă felul în care gestionați o sarcină lungă:
- un răspuns ciudat vă trimite mai întâi la cerință și la actualitatea fișierelor, abia apoi la conversație;
- înainte de comprimare sau ștergere aveți o notă verificată pe baza fișierelor, iar după comprimare comparați răspunsul cu ea, rând cu rând;
- o sarcină nouă primește propria cerință, nu resturile conversației anterioare.
Diferența se vede într-o singură solicitare. Înainte:
Te-ai încurcat, hai să o luăm de la capăt.După:
Acum sarcina este să corectați acordarea repetată a recompensei în src/reward-flow.js.
Citiți TASK_SPEC.md, numiți limita și pasul următor. Deocamdată nu modificați codul.La a doua formulare primiți un răspuns pe care îl puteți verifica: comparați limita și pasul menționate cu fișierele și vedeți imediat dacă există o neconcordanță. La prima replică nu aveți cu ce să faceți comparația.
GO TO FULL VERSION