8 min readDe Kicked Team
Adoptarea agenților AI de programare într-o echipă mică: un playbook practic
Majoritatea sfaturilor despre adoptarea AI sunt scrise pentru enterprise-uri cu echipe de platformă și comitete de pilotare. Iată playbook-ul pentru o echipă de două până la zece persoane: ce trebuie să ai pus la punct înainte, de unde să începi, ce să măsori și la ce moduri de eșec să te aștepți în prima lună.
- AI
- Agentic Development
- Best Practices
- DevOps
Majoritatea sfaturilor despre adoptarea agenților AI de programare sunt scrise pentru organizații care au o echipă de platformă, un comitet de revizuire a securității și o linie de buget pentru „AI enablement”. Echipele mici nu au nimic din toate astea. Au un backlog, un sistem în producție și poate zece ingineri — și sunt exact echipele în care agenții pot face cea mai mare diferență relativă, pentru că nu există capacitate de rezervă care să absoarbă munca plictisitoare.
Noi înșine am adoptat agenți ca echipă mică și i-am folosit ca să livrăm trei unelte open-source de infrastructură. Acesta este playbook-ul pe care l-am înmâna unei versiuni din trecut a noastră — ce trebuie să ai pus la punct înainte, de unde să începi și ce va merge prost în prima lună.
Alege pilotul potrivit
Începe cu un proiect care este real, dar nu critic. Un demo de aruncat nu te învață nimic, pentru că nimeni nu revizuiește serios cod de aruncat, iar revizuirea este exact abilitatea pe care o construiești. Un sistem critic este problema opusă: prima greșeală devine un argument pentru abandonarea întregului efort.
Piloți buni pe care i-am văzut: o unealtă internă, un serviciu nou care încă nu e pe traseul veniturilor, un modul bine izolat dintr-un sistem mai mare, o refacere a documentației. Ceva la care echipei chiar îi pasă de rezultat, dar unde o săptămână proastă costă o săptămână proastă, nu un outage.
Precondițiile care contează mai mult decât alegerea uneltei
Echipele se chinuie să aleagă ce agent să folosească. Din experiența noastră, alegerea uneltei contează mult mai puțin decât mediul în care aterizează agentul. Înainte să înceapă pilotul, repo-ul are nevoie de:
- Teste care rulează rapid și înseamnă ceva. Agentul le va folosi ca buclă de feedback de sute de ori pe zi. Dacă suita ta de teste e instabilă sau durează douăzeci de minute, repară asta mai întâi — este, de departe, pregătirea cu cel mai mare efect de pârghie.
- CI care condiționează merge-urile. Lint, typecheck, teste, build. Output-ul agentului trece prin aceeași poartă ca al tuturor celorlalți.
- Un fișier de convenții scris. Mai multe despre asta mai jos — este cel mai subestimat punct de pe listă.
- O cultură a PR-urilor mici. Dacă echipa ta face deja merge la PR-uri de 2.000 de linii fără să le citească, agenții vor face obiceiul ăsta fatal. Repară obiceiul oricum.
Observă că fiecare punct de pe listă dă roade cu sau fără AI. Nu e o coincidență — agenții amplifică disciplina inginerească existentă, oricare ar fi ea. Disciplina amplificată înseamnă viteză; haosul amplificat înseamnă haos, mai rapid.
Scrie documentul pe care îl citește agentul
Orice unealtă serioasă cu agenți citește un fișier de instrucțiuni la nivel de repository — CLAUDE.md, AGENTS.md sau echivalent. Majoritatea echipelor fie îl sar, fie lipesc în el o declarație de misiune. Ambele sunt greșeli.
Acest fișier este pârghia cu cea mai mare densitate pe care o ai asupra calității output-ului. Ar trebui să conțină lucrurile pe care un inginer senior i le spune unui nou angajat în prima săptămână: cum se rulează testele, ce pattern-uri să copieze și ce colțuri legacy să nu imite, convenții de denumire, ce înseamnă „gata”, comenzile care trebuie să treacă înainte de a deschide un PR. Ale noastre sunt scurte — o pagină sau două — dar fiecare linie e o regulă pe care ne-am săturat s-o repetăm.
Tratează-l ca pe cod. Când agentul face aceeași greșeală de două ori, remediul este de obicei o linie în acest fișier, nu un prompt mai lung data viitoare. Am descris cum se încadrează asta în bucla mai mare în fluxul nostru de dezvoltare bazată pe AI.
Întâi supravegheat, autonomie mai târziu
Rulează bucla supravegheat la început: inginerul urmărește agentul cum lucrează, îl întrerupe când o ia pe un drum greșit și revizuiește fiecare diff înainte să ajungă în cod. Pare lent. Este însă și locul în care echipa învață cele două abilități care determină tot ce urmează — scrierea de specificații suficient de precise pentru a putea fi executate și revizuirea codului generat de AI fără a-l aproba orbește.
Autonomia este ceva ce setup-ul își câștigă. Când o clasă de sarcini a mers bine de zece ori — actualizări de dependențe, adăugări de teste, un refactor bine specificat — lasă agentul să o ruleze cap-coadă și revizuiește doar PR-ul. Păstrează munca nouă sau riscantă sub supraveghere. Traiectoria este per tip de sarcină, nu globală: noi supraveghem în continuare orice atinge autentificarea, migrările sau orice are rază de impact asupra infrastructurii.
Măsoară rework-ul, nu viteza
Metricile de vanitate — linii generate, PR-uri deschise, „rata de acceptare” — cresc toate în momentul în care adopți agenți, și niciuna nu-ți spune dacă acel cod merita un merge.
Metrica onestă este rework-ul: cât din codul produs de agent este revertat, rescris sau reparat de bug-uri în câteva săptămâni de la merge. Urmărește-l aproximativ — un label pe PR-urile care ating munca de agent recent integrată e suficient. Dacă rework-ul e scăzut și în scădere, extinde scopul. Dacă e ridicat, problema este aproape întotdeauna în amonte de agent: specificații vagi, teste slabe sau review-uri care au aprobat lucruri pe care nimeni nu le-a înțeles. Am scris mai multe despre care costuri domină cu adevărat în costurile reale ale dezvoltării bazate pe AI.
Bugetează timpul de review
Gâtul de sticlă se mută. Scrierea codului nu mai este constrângerea; citirea lui devine constrângerea. O echipă mică ce adoptă agenți ar trebui să se aștepte ca volumul de review să crească substanțial și să planifice în consecință — timp de review în calendar, PR-uri mici impuse fără milă și o înțelegere comună că „l-a scris agentul” nu este niciodată un motiv pentru a citi în diagonală.
Dacă nimeni din echipă nu are capacitatea de a revizui cu atenție, echipa nu are încă capacitatea de a adopta agenți. Codul generat, dar nerevizuit nu este un activ; este inventar cu defecte necunoscute.
Moduri de eșec din prima lună
Așteaptă-te la ele. Sunt normale, și fiecare are un remediu de proces:
| Mod de eșec | Cum arată | Remediul |
|---|---|---|
| Diff-uri uriașe | Agentul refactorizează jumătate din codebase ca să repare un bug | Limitează scopul în fișierul de instrucțiuni; respinge mecanic PR-urile supradimensionate |
| Teste de formă | Teste care execută codul, dar nu verifică aproape nimic | Revizuiește testele mai întâi; cere demonstrații de tip „pică, apoi trece” pentru bug fix-uri |
| API-uri inventate | Codul apelează funcții de bibliotecă care nu există | CI le prinde dacă porțile de typecheck/build sunt reale; tratează-le ca semnal că specificațiilor le lipseau referințe |
| Drumuri greșite, cu încredere | Agentul „repară” cauza greșită, în mod plauzibil | Supraveghează munca nouă; cere diagnosticul înainte de diff |
| Derivă de instrucțiuni | Aceeași greșeală recurentă de la o sesiune la alta | Fiecare corecție repetată devine o linie în fișierul de convenții |
Niciunul dintre acestea nu e un motiv să te oprești. Toate sunt motive să ții bucla strânsă în prima lună.
Când să nu adopți încă
O listă onestă. Amână dacă:
- Nu există teste. Agentul nu are buclă de feedback și tu nu ai plasă de siguranță. Scrie primele teste — cu ajutorul agentului, supravegheat, dacă vrei — înainte de orice altceva.
- Nu există poartă de CI. Generarea nerevizuită și necondiționată într-un branch partajat este felul în care codebase-urile putrezesc la viteza mașinii.
- Codebase-ul funcționează pe cunoaștere tribală. Dacă regulile trăiesc doar în capul cuiva, agentul nu le poate urma și echipa nu poate revizui în raport cu ele. Scrie-le mai întâi.
Fiecare dintre aceste remedii merită făcut chiar dacă nu adopți niciodată un agent. Asta e partea liniștitoare: pregătirea este pur și simplu inginerie bună și se plătește singură oricum.
Concluzii
- Pilotează pe ceva real, dar nu critic — abilitatea de review se dezvoltă doar pe cod la care oamenilor le pasă
- Testele, CI-ul și un fișier de convenții contează mai mult decât agentul pe care îl alegi
- Scrie și întreține fișierul de instrucțiuni al repo-ului — fiecare corecție repetată devine o linie în el
- Supraveghează la început; acordă autonomie per tip de sarcină, pe măsură ce este câștigată
- Urmărește rework-ul, nu liniile generate — diff-urile revertate sunt metrica care nu te poate flata
- Mută capacitatea de review acolo unde e acum gâtul de sticlă — la citit, nu la scris
Am pus la punct această buclă pentru noi înșine și am livrat software real cu ea. Dacă vrei ca o echipă care a făcut deja greșelile să o ajute pe a ta să le sară — de la porțile de CI până la primul pilot supravegheat — contactează-ne.
