Ați scris o frază, ați apăsat Enter - și în terminal a început să curgă un șir de rânduri. A deschis un fișier. A rulat o comandă. A deschis din nou același fișier. Din afară pare agitație fără rost: ați cerut doar un lucru simplu, iar ce se întâmplă durează și e greu de urmărit.
Nu e nicio agitație. Agentul rulează o buclă din trei părți care se repetă, iar aproape tot ce vedeți pe ecran e aceeași buclă, la ture diferite.
De ce agentul face mai mult decât un chat
Un chat afișează un răspuns, iar restul e treaba dumneavoastră: copiați, lipiți, salvați, rulați. Agentul lucrează singur în proiectul dvs. - deschide fișiere, le editează, rulează comenzi, se uită la rezultat, iar modificările rămân pe disc de-adevăratelea.
De aici decurge ideea principală a acestui articol. Din moment ce agentul face lucrurile, nu doar dă sfaturi, treaba nu se rezolvă dintr-o singură mișcare. Între fraza dvs. și rezultatul final sunt mai mulți pași și toți se văd pe ecran.
Din ce e făcut un pas
După cererea dvs., agentul intră în această buclă și o parcurge de câte ori e nevoie. Fiecare trecere are trei părți.
Adună contextul. Agentul citește ce încă nu știe: deschide fișierele de care are nevoie, se uită la structura proiectului, citește output-ul comenzii anterioare. Lucrul care surprinde cel mai des: nu vă știe proiectul pe de rost, ci îl citește. De fiecare dată când îi trebuie un detaliu, merge și se uită.
Execută o acțiune. O singură acțiune concretă: editează un fișier sau rulează o comandă. Nu tot planul deodată, ci pasul următor.
Verifică rezultatul. Se uită la ce a ieșit și îl compară cu ce ați cerut.
Urmează o bifurcație. Scopul e atins - agentul se oprește și așteaptă cererea următoare. Nu e atins - se întoarce la adunarea contextului și mai face o tură.
Bucla se adaptează la cerere, nu rulează după un program fix. O întrebare simplă despre cod se poate încheia chiar la adunarea contextului: agentul a citit, a răspuns, n-a modificat nimic. Repararea unei erori, dimpotrivă, trece de mai multe ori prin toate cele trei părți. Iar granițele dintre părți nu sunt mereu clare - agentul folosește instrumente pe tot parcursul buclei.
Asta explică tot ce părea ciudat. Agentul a deschis același fișier de două ori - după editare a trebuit să se uite din nou la el. Între cerere și răspuns au trecut câteva minute - au fost patru ture, nu una. Întoarcerea la început nu e o defecțiune, e modul normal de lucru.
Raționamentul și apelul unui instrument
Nu tot ce face agentul modifică fișierele din proiect. Linia de demarcație trece exact prin mijlocul muncii lui și e util s-o vedeți.
Raționamentul - agentul cântărește ce să facă mai departe, la ce fișier să meargă, care ar putea fi cauza erorii. Pe disc, între timp, zero modificări. Oricât de convingător ar raționa, deocamdată e doar o intenție.
Apelul unui instrument - aici se întâmplă ceva cu adevărat. Citește sau scrie un fișier, caută prin proiect, rulează o comandă, se uită în documentația de pe internet. Fiecare astfel de acțiune apare în terminal pe un rând separat, iar tocmai din ele se compune ce s-a întâmplat cu proiectul.
Rezultatul apelului se întoarce la agent și devine parte din ce știe el la tura următoare. A citit fișierul - acum îi știe conținutul. A rulat un test - acum știe dacă a trecut sau nu.
Comanda a eșuat, fișierul nu s-a găsit, testul a picat - agentul vede și ține cont de asta la pasul următor. Un mesaj de eroare în output nu înseamnă că s-a stricat totul și trebuie să renunțați. Adesea e exact informația care îi lipsea, iar tura următoare va fi mai precisă decât cea dinainte.
Concluzia practică e simplă. Rândurile despre apelurile de instrumente nu sunt zgomot tehnic pe care îl derulați fără să vă uitați. Tocmai acolo se vede ce se întâmplă cu fișierele dvs. chiar acum.
De ce agentul pune întrebări
În mijlocul lucrului, agentul se poate opri și vă poate întreba ceva. E o parte normală a buclei, nu un semn că nu s-a descurcat.
Întrebările sunt de două feluri diferite și e util să le deosebiți:
- îi lipsesc informații despre sarcină - ce anume să schimbe, la care dintre două fișiere asemănătoare v-ați referit, ce se consideră terminat. Agentul s-a lovit de o ambiguitate și nu vrea să ghicească;
- are nevoie de permisiune pentru o acțiune - agentul urmează să facă ceva important și se oprește să întrebe dacă are voie. Cât de independent lucrează depinde de setări.
Primul fel de întrebare e un semn bun. Mai bine lămuriți lucrurile acum decât să refaceți totul după trei ture făcute în direcția greșită.
Nu trebuie să așteptați întrebările, le puteți provoca singuri. Chiar la început, înainte de primele modificări, cereți-i să reformuleze sarcina cu propriile cuvinte și să întrebe tot ce nu e clar:
Scrie cum ai înțeles sarcina și cum plănuiești să o rezolvi.
Pune întrebări dacă asta te-ar ajuta să înțelegi mai bine sarcina și scopul.Așa ambiguitățile ies la suprafață înainte de prima modificare, nu când jumătate din lucru e deja făcut. Puteți interveni și pe parcurs, oricând: adăugați context, corectați direcția sau opriți agentul și reformulați sarcina.
Cine decide că e gata
Cuvântul "gata" spus de agent înseamnă un singur lucru: s-a încheiat bucla lui. A făcut o acțiune, a verificat rezultatul după propriile criterii și a considerat că scopul e atins. Lucrul, în schimb, nu e încă terminat.
O modificare e acceptată nu atunci când agentul a făcut-o, ci atunci când un om s-a uitat la ce s-a schimbat de fapt și și-a asumat rezultatul. Mai departe sunt două variante: acceptat - lucrul e terminat; de refăcut - formulați ce nu e în regulă, iar bucla o ia de la capăt, de la noua dvs. cerere.
Și trebuie să vă uitați nu la raport, ci la modificările propriu-zise: agentul arată ce rânduri a șters și ce rânduri a adăugat. Acesta e răspunsul exact la întrebarea "ce s-a schimbat", iar el nu se află în textul agentului.
Agentul știe să descrie ce a făcut atât de bine încât nu e nimic de reproșat: "am adăugat tratarea erorilor în trei metode, am verificat, totul funcționează". Sună a fapt. Dar textul răspunsului și conținutul fișierelor sunt două lucruri diferite, care nu coincid întotdeauna. Singurul mod de a afla adevărul e să vă uitați la lista modificărilor.
Cum funcționează asta împreună cu Claude Code
Ce vă aduce în practică înțelegerea buclei:
- cu cât cererea e formulată mai precis, cu atât sunt mai puține ture. Agentul reia bucla până când ajunge la ce ați cerut, iar o formulare vagă costă ture în plus;
- propriile dvs. modificări din fișiere agentul le va prelua când le va deschide data viitoare: la urma urmei, nu ține minte proiectul, ci îl citește. Dacă ați schimbat ceva de mână, spuneți-i;
- bucla agentului se încheie cu cuvântul "gata". Lucrul se încheie cu verificarea dvs., iar acestea sunt momente diferite.
Tabloul complet arată așa: bucla agentului înăuntru, verificarea dvs. în afară.
GO TO FULL VERSION