Cum agenții de programare schimbă regulile infrastructurii AI (și de ce contează pentru următorul tău proiect)
Cursa AI pentru Programare: Lecții de Infrastructură din Lumea Reală
Asistăm la o nouă fază în competiția asistenților AI de programare. Claude Code, Codex și Gemini CLI au devenit instrumente uzuale pentru dezvoltatori, iar întrebarea nu mai este dacă funcționează — ci cum le oferi la scară largă fără să spargi bugetul sau să introduci latențe care îi fac pe programatori să-și arunce tastaturile pe fereastră.
Un studiu recent de la laboratorul SyFI din cadrul Universității din Washington aduce câteva cifre concrete despre cum arată fluxurile reale ale agenților de programare. Rezultatele te-ar putea surprinde: infrastructura ta de serving probabil că nu e optimizată pentru așa ceva.
Revoluția Autonomă pentru Care Nimeni Nu S-a Pregătit
Iată un lucru care pare evident odată ce cineva îl spune cu voce tare: agenții de programare nu se limitează la a răspunde la întrebări. Ei execută planuri. Când ceri unui asistent AI să implementeze o funcționalitate sau să rezolve un bug, nu pornești o simplă tranzacție întrebare-răspuns — declanșezi un flux de lucru autonom în care modelul va raționa, executa comenzi shell, citească și modifice fișiere, ruleze teste și itereze până e mulțumit (sau până îl întrerupi).
Cercetătorii au capturat peste 4.300 de sesiuni din lumea reală, aproximativ 55 de miliarde de tokeni, iar tiparele identificate sunt relevante. Fiecare cerere de utilizator declanșează în medie 8.8 cicluri model-unealtă până la finalizare. Gândește-te la asta: pentru fiecare întrebare pusă de un dezvoltator, există aproape nouă runde de generare din partea modelului urmate de execuție de unelte. Modelul nu doar vorbește — face.
Și aici intervine observația cheie: 88% din toate rundele de inferență LLM nu se produc ca răspuns la input-ul utilizatorului, ci ca răspuns la rezultatele uneltelor.
Acest lucru are implicații masive pentru planificarea throughput-ului. Chatboții tradiționali sunt în esență sisteme request-response cu follow-up-uri ocazionale. Agenții de programare seamănă mai mult cu procese autonome de lungă durată, cu comutări frecvente între fazele de generare și execuție. Politicile de autoscaling, coada de requests, strategiile de caching — toate acestea trebuie regândite prin prisma fluxurilor de lucru autonome multi-step, nu a conversațiilor simple întrebare-răspuns.
Asimetria Input-Output care Îți Încurcă Cache-ul
Iată un număr care ar trebui să-i facă pe toți inginerii de infrastructură să seublească de două ori: input-urile depășesc output-urile în proporție de 294 la 1. În tracing-urile analizate, modelele au citit 52.56 miliarde de tokeni de input din cache și au pre-filled 2.34 miliarde de tokeni noi, dar au generat doar 186.9 milioane de tokeni de output. O rundă tipică stă pe un prefix de 32K până la 256K de tokeni și adaugă doar câteva sute până la câteva mii de tokeni înainte de a decoda câteva sute.
Acest lucru creează un profil de performanță fundamental diferit față de ce optimizează majoritatea sistemelor de LLM serving. Inferența tradițională pentru language models se concentrează puternic pe throughput-ul de generare — câți tokeni pe secundă putem produce? Dar pentru agenții de programare, blocajul adesea nu este viteza de decoding; este time-to-first-token (TTFT) după ce execuția uneltelor se întoarce. Echipa a descoperit că TTFT-ul pentru Codex la fiecare pas se situează în jurul a 3.1 secunde, ceea ce reprezintă aproximativ 25% din timpul total de generare al unei runde. Când faci nouă runde pe request, acel overhead se compune rapid.
Și povestea caching-ului e mai nuanțată decât pare la prima vedere. Da, input caching (prefill caching) ajută cu contextul masiv pe care îl poartă agenții de programare. Dar workload-ul de prefill e împărțit între tokeni cached și tokeni noi care au nevoie de calcul efectiv. Prefill-urile scurte și incrementale după execuția uneltelor au caracteristici de performanță diferite față de încărcarea inițială cu context lung. Sistemele de serving trebuie să le gestioneze pe ambele eficient, iar strategiile optime pot diferi între aceste cazuri.
Comenzile Shell Încă Dominesc Lumea
Dacă te-ai așteptat ca agenții de programare să facă raționamente sofisticate și refactoring complex, nu ai greșit — dar realitatea e mai dezordonată. Dintre cele 433,000 de apeluri de unelte capturate în traces, 76% au fost execuții shell sau de comenzi. Rularea build-urilor, testelor, operațiunilor git, manipulările de fișiere prin CLI — lucrurile mai puțin spectaculoase care formează fluxul zilnic efectiv al dezvoltării de software.
Editările de fișiere au reprezentat 11%, citirile și căutările de fișiere 9%, iar planificarea, delegarea către sub-agenti și căutările web au completat restul. Această concentrare în comenzi shell contează din mai multe motive.
În primul rând, acestea sunt operațiuni cu coadă lungă: un simplu ls e rapid, dar rularea unui suită completă de teste sau compilarea unui codebase mare poate dura minute. Distribuția latenței se întinde pe patru ordine de mărime, ceea ce face planificarea capacităților un coșmar.
În al doilea rând, vocabularul de unelte variază semnificativ între agenți. Claude Code a folosit 54 de unelte diferite în timp ce Codex a folosit 31, dar ambii au concentrat marea majoritate a volumului în același set de bază — shell, editări de fișiere, citiri de fișiere. Aceasta sugerează că optimizarea pentru aceste unelte de înaltă frecvență ar putea aduce îmbunătățiri disproporționate, chiar fără să abordeze întregul ecosistem de unelte.
Ce Înseamnă Asta pentru Infrastructura Ta
Dacă construiești sau operezi instrumente de dezvoltare alimentate de AI, această cercetare indică câteva concluzii concrete.
Gândește-te în workflows, nu în requests. Infrastructura ta de serving trebuie să țină cont de natura autonomă, multi-step a agenților de programare. Asta înseamnă contexte de request de durată mai lungă, management de stare mai sofisticat și oportunități de batch scheduling care grupează apelurile de unelte asociate.
Optimizează pentru golurile idle. Utilizatorii petrec în medie 46.7 minute între cereri, în ciuda unui timp median de gândire de doar 1.4 minute. Distribuția este extrem de heavy-tailed — unii dezvoltatori iterează rapid în timp ce alții pornesc un request și se întorc ore mai târziu. Strategii inteligente de prefetching și re-prefill în timpul acestor perioade idle ar putea reduce dramatic latența percepută fără să crească costurile de compute.
Separă-ți path-urile de prefill și decode. Raportul input-output de 294:1 înseamnă că probabil compute-ul tău de prefill e costul dominant. Prefill-urile incrementale după execuția uneltelor necesită optimizări diferite față de încărcarea inițială de context. Consideră pool-uri separate de resurse sau politici diferite de scheduling pentru aceste tipuri de workload.
Nu uita de infrastructura de execuție a uneltelor. Când 76% din activitatea agentului sunt comenzi shell, orchestrarea containerelor, pattern-urile de acces la filesystem și caching-ul tool-urilor de build devin preocupări de primă clasă pentru serving-ul de agenți AI. Inferența modelului e doar o parte din pipeline.
Drumul înainte
Echipa TraceLab a open-sourcit pipeline-ul lor de colectare și analiză de traces, făcând posibil ca echipele de infrastructură să genereze propriile traces și să optimizeze pentru pattern-uri reale de utilizare în loc de benchmark-uri sintetice. Acest tip de date din lumea reală este exact ce are nevoie spațiul infrastructurii AI pe măsură ce maturează de la "să funcționeze" la "să funcționeze la scară."
Pentru comunitatea NameOcean Vibe Hosting, aceste insights subliniază de ce investim în infrastructură care merge dincolo de simpla alocare de GPU-uri. Serving-ul agenților AI de programare nu e doar despre compute brut — e despre înțelegerea caracteristicilor unice ale workload-urilor agentice și construirea de sisteme care pot gestiona realitatea autonomă, multi-step și plină de unelte a modului în care dezvoltatorii folosesc de fapt aceste instrumente.
Eraa agenților de programare abia începe, iar deciziile de infrastructură pe care le luăm astăzi vor modela cât de eficient vor servi aceste instrumente dezvoltatorii în anii ce vin.