Șaisprezece agenți Claude AI au creat împreună un nou compilator C
Un experiment de 20.000 de dolari a reușit să compileze un nucleu Linux, dar a necesitat o gestionare umană profundă, potrivit arstechnica.com. Folosind 16 instanțe ale modelului AI Claude Opus 4.6, cercetătorul Nicholas Carlini a demonstrat un sistem inovator de colaborare între agenți, totuși cu limitări semnificative în ceea ce privește autonomie și eficiență.
👉 Contextul dezvoltării și utilizarea agenților AI multidimensionali
În contextul unei avansări către agenți AI, cu atât Anthropic cât și OpenAI lansând instrumente multi-agent săptămâna aceasta, Anthropic este mai mult decât pregătit să-și prezinte unele dintre cele mai îndrăznețe experimente de programare AI. Joi, cercetătorul Anthropic Nicholas Carlini a publicat un articol pe blog în care descrie cum a pus în funcțiune 16 instanțe ale modelului său AI Claude Opus 4.6 pe o bază de cod partajată, cu o supraveghere minimă, având ca sarcină construirea unui compilator C de la zero.
Pe parcursul a două săptămâni și aproape 2.000 de sesiuni Claude Code, care au costat aproximativ 20.000 de dolari în taxe API, agenții modelului AI au produs un compilator bazat pe Rust, de 100.000 de linii, capabil să compileze un nucleu Linux 6.9 bootabil pe arhitecturi x86, ARM și RISC-V. Carlini, un om de știință în cercetare din echipa de protecție a Anthropic, care a petrecut anterior șapte ani la Google Brain și DeepMind, a folosit o nouă caracteristică lansată cu Claude Opus 4.6 numită 'echipe de agenți'.
👉 Modul de operare al agenților și limitările compilatorului creat
În practică, fiecare instanță Claude a funcționat în propriul său container Docker, clonând un depozit Git comun, revendicând sarcini prin scrierea fișierelor de blocare și apoi împingând codul completat în sus. Nu a existat un agent de orchestrare care să dirijeze traficul. Fiecare instanță a identificat independent ce problemă părea cea mai evidentă pentru a fi rezolvată și a început să lucreze la ea. Atunci când apăreau conflicte de fuziune, instanțele modelului AI le-au rezolvat singure.
Compilatorul rezultat, pe care Anthropic l-a lansat pe GitHub, poate compila o gamă de proiecte open source majore, inclusiv PostgreSQL, SQLite, Redis, FFmpeg și QEMU. Acesta a obținut o rată de succes de 99% la suitele de teste GCC și, în ceea ce Carlini a numit 'testul suprem al dezvoltatorului', a compilat și a rulat Doom. Este de menționat că un compilator C este o sarcină aproape ideală pentru programarea AI semi-autonomă: specificația este veche de decenii și bine definită, suite de teste cuprinzătoare există deja, iar un compilator de referință bine cunoscut este disponibil pentru verificare. Cele mai multe proiecte software din lumea reală nu dispun de aceste avantaje.
Compilatorul are, de asemenea, limitări clare pe care Carlini le-a menționat. Acesta nu are un backend x86 pe 16 biți necesar pentru a porni Linux din modul real, așa că apelează la GCC pentru acel pas. Asamblorul și linkerul său rămân, de asemenea, cu erori. Chiar și cu toate optimizările activate, produce un cod mai puțin eficient decât GCC rulând cu toate optimizările dezactivate. Iar calitatea codului Rust, deși funcțională, nu se apropie de ceea ce ar produce un programator expert în Rust. 'Compilatorul rezultat aproape că a atins limitele abilităților Opus,' a scris Carlini. 'Am încercat (din greu!) să corectez mai multe dintre limitările de mai sus, dar nu am avut succes complet. Noile caracteristici și corecturile au rupt adesea funcționalitatea existentă.'
Aceste limitări ar putea fi de fapt mai informative decât succesele. Carlini raportează că spre sfârșitul proiectului, corectarea erorilor și adăugarea de funcții 'au rupt frecvent funcționalitatea existentă', un model familiar pentru oricine a observat o bază de cod crescând peste punctul în care orice contributor înțelege complet. Și această limitare este și mai comună atunci când se lucrează cu agenți AI de programare, care își pierd coerența în timp. Modelul a atins acest zid la aproximativ 100.000 de linii, ceea ce sugerează un plafon practic pentru programarea autonomă a agenților, cel puțin cu modelele actuale.
Anthropic descrie compilatorul ca o 'implementare de cameră curată' deoarece agenții nu au avut acces la Internet în timpul dezvoltării. Dar această evaluare este puțin înșelătoare. Modelul de bază a fost antrenat pe cantități enorme de cod sursă disponibil public, incluzând aproape cu siguranță GCC, Clang și numeroase compilatoare C mai mici. În dezvoltarea software-ului tradițional, 'cameră curată' înseamnă în mod specific că implementatorii nu au văzut niciodată codul original. Prin acel criteriu, acest compilator nu se încadrează.
Pe Hacker News, distincția a generat dezbateri aprinse, reflectând o recepție controversată a știrii în rândul dezvoltatorilor. 'A fost mai degrabă o încercare forțată de a decomprima cunoștințele stocate fuzzy în rețea,' a scris un comentator. De asemenea, suma de 20.000 de dolari merită puțin context. Această cifră acoperă doar costurile token-urilor API și exclude miliardele cheltuite pentru antrenarea modelului, munca umană pe care Carlini a investit-o în construirea suportului și decenii de muncă a inginerilor de compilatoare care au creat suitele de teste și implementările de referință care au făcut proiectul posibil.
Deși rezultatul principal este un compilator scris fără programare de pereche umană, o mare parte din munca reală care a făcut funcțional proiectul a implicat proiectarea mediului din jurul agenților model AI, mai degrabă decât scrierea directă a codului compilatorului. Carlini a depus eforturi considerabile pentru a construi contrarânduri de teste, pipeline-uri de integrare continuă și sisteme de feedback adaptate pentru modurile specifice în care modelele de limbaj eșuează. De exemplu, a descoperit că ieșirea de testare verbose poluează fereastra de context a modelului, făcându-l să piardă noțiunea de ce face. Pentru a aborda acest lucru, Carlini a proiectat executori de test care printau doar câteva linii rezumative și logau detalii în fișiere separate. A mai descoperit că Claude nu are noțiune de timp și va petrece ore testând fără a face progrese, așa că a construit un mod rapid care eșantionează doar 1% până la 10% din cazurile de testare.
Când toți cei 16 agenți s-au blocat încercând să repare aceeași eroare a nucleului Linux simultan, a folosit GCC ca un oracle de referință, compilând aleator majoritatea fișierelor nucleului cu GCC și doar un subset cu compilatorul Claude, astfel încât fiecare agent să poată lucra la erori diferite în fișiere diferite. 'Claude va lucra autonom pentru a rezolva orice problemă îi dau,' a scris Carlini. 'Deci, este important ca verifierul sarcinilor să fie aproape perfect, altfel Claude va rezolva problema greșită.'
Nimic din toate acestea nu ar trebui să obscure ceea ce demonstrează de fapt proiectul. Acum un an, niciun model de limbaj nu ar fi putut produce ceva apropiat de un compilator multi-arhitectură funcțional, chiar și cu o astfel de supraveghere și un buget nelimitat. Metodologia agenților paralelei coordonând prin Git cu o supraveghere umană minimă este nouă, iar trucurile inginerești pe care Carlini le-a dezvoltat pentru a menține agenții productivi (ieșire de testare conștientă de context, limitarea temporală, oracle-ul GCC pentru paralelizare) ar putea reprezenta contribuții utile pentru utilizarea mai largă a uneltelor de dezvoltare software agente.
Carlini însuși a recunoscut că se simte împărțit cu privire la propriile sale rezultate. 'Construirea acestui compilator a fost una dintre cele mai plăcute experiențe pe care le-am avut recent, dar nu mă așteptam ca acest lucru să fie posibil atât de devreme în 2026,' a scris el. De asemenea, a ridicat îngrijorări legate de cariera sa anterioară în testarea de penetrare, subliniind că 'gândul programatorilor care desfășoară software pe care nu l-au verificat personal este o preocupare reală.'