Mentre Anthropic intensifica la competizione con OpenAI sul terreno degli strumenti di intelligenza artificiale basati su architetture multi-agente, l’azienda ha reso pubblici i risultati di un esperimento che va ben oltre la semplice dimostrazione tecnica. L’iniziativa, guidata dal ricercatore Nicholas Carlini, mostra fino a che punto gli agenti AI possano spingersi oggi nella costruzione di software complesso, ma allo stesso tempo evidenzia con chiarezza i limiti attuali di questo approccio.
Carlini ha raccontato sul suo blog di aver sviluppato un compilatore C partendo da zero, utilizzando sedici istanze parallele di Claude Opus 4.6 con una supervisione umana ridotta al minimo. L’esperimento si è svolto nell’arco di circa due settimane, ha coinvolto all’incirca duemila sessioni di “cloud coding” e ha generato un costo diretto di circa 20.000 dollari in chiamate API. Il risultato finale è stato un compilatore di circa centomila righe scritto in Rust, capace non solo di funzionare correttamente, ma addirittura di compilare il kernel Linux 6.9 in un formato avviabile su architetture x86, ARM e RISC-V.
L’aspetto più interessante non è tanto il risultato in sé, quanto il modo in cui è stato ottenuto. L’esperimento ha sfruttato la nuova funzionalità di “team di agenti” di Claude, facendo girare più istanze dell’IA in ambienti Docker separati ma collegati allo stesso repository Git. Ogni agente lavorava in modo relativamente autonomo, coordinandosi con gli altri attraverso il codice e meccanismi di blocco dei file che evitavano conflitti. Non esisteva una singola istanza centrale che decidesse cosa fare: ciascun agente valutava in modo indipendente quale fosse il problema più urgente da affrontare in quel momento e agiva di conseguenza, negoziando direttamente con gli altri agenti in caso di difficoltà.
Il compilatore risultante, pubblicato su GitHub, è in grado di compilare progetti open source di grande rilievo come PostgreSQL, SQLite, Redis, FFmpeg e QEMU. Nei test ha superato il 99% del cosiddetto “GCC Torture Test”, una suite nota per la sua severità, ed è riuscito persino a eseguire Doom, spesso utilizzato dagli sviluppatori come prova simbolica della correttezza di un ambiente di compilazione. Risultati che, fino a poco tempo fa, sarebbero sembrati impensabili per un sistema guidato quasi interamente da modelli linguistici.
Carlini, tuttavia, è stato molto attento a ridimensionare l’entusiasmo. Ha sottolineato che il successo dell’esperimento è stato possibile grazie a condizioni estremamente favorevoli per l’intelligenza artificiale. I compilatori C rappresentano un dominio con specifiche chiare, consolidate da decenni, supportate da un’enorme quantità di test e da implementazioni di riferimento mature come GCC e Clang. In altre parole, l’IA si è mossa in un contesto ben delimitato, dove “scrivere il codice” è solo una parte del problema e dove le regole del gioco sono già note e formalizzate.
Nel mondo reale dello sviluppo software, la sfida più grande non è infatti digitare codice, ma decidere cosa testare, quali casi limite considerare e quali requisiti tradurre in specifiche. Su questo fronte, l’esperimento non risolve la questione, anzi la mette ulteriormente in evidenza. Anche dal punto di vista tecnico, il compilatore presenta limiti concreti. Non include, ad esempio, il backend x86 a 16 bit necessario per l’avvio di Linux in modalità reale e deve quindi delegare questa fase a GCC. L’assembler e il linker integrati risultano instabili e, anche con tutte le ottimizzazioni abilitate, il codice generato è meno efficiente rispetto a quello prodotto da GCC persino quando quest’ultimo ha le ottimizzazioni disattivate. Inoltre, la qualità del codice Rust non raggiunge gli standard di uno sviluppatore esperto.
Un altro elemento cruciale emerso dall’esperimento riguarda la scalabilità cognitiva degli agenti. Carlini osserva che, superata la soglia delle centomila righe di codice, le attività di bug fixing e l’aggiunta di nuove funzionalità tendevano a rompere parti già funzionanti del sistema. È un problema sorprendentemente simile a quello umano: basi di codice che crescono al punto da diventare impossibili da comprendere nella loro interezza. Secondo il ricercatore, questo rappresenta il limite pratico attuale della codifica autonoma basata su agenti e modelli linguistici.
Non sono mancate nemmeno le polemiche. Anthropic ha descritto il progetto come una “implementazione in clean room”, sostenendo che il compilatore sia stato sviluppato senza accesso diretto a Internet. Tuttavia, nella comunità degli sviluppatori questa definizione è stata messa in discussione, poiché il modello stesso è stato addestrato con ogni probabilità su enormi quantità di codice open source, inclusi GCC e Clang. In senso stretto, il concetto tradizionale di clean room implica che chi implementa una soluzione non abbia mai avuto accesso al codice originale, una condizione difficile da applicare a modelli addestrati su dati pubblici su larga scala.
Anche il costo dichiarato di 20.000 dollari va interpretato con cautela. Questa cifra copre esclusivamente le chiamate API, ma non include l’investimento enorme necessario per addestrare il modello, né il tempo speso da Carlini per progettare l’ambiente, né l’infrastruttura di test accumulata in decenni dagli ingegneri dei compilatori. Lo stesso ricercatore ha spiegato di aver dedicato un’attenzione significativa alla costruzione del test harness, della pipeline di integrazione continua e del sistema di feedback. Ha dovuto, ad esempio, limitare la lunghezza degli output di test per evitare di “inquinare” il contesto del modello e introdurre una modalità rapida che campionasse solo una parte dei test, compensando la mancanza di senso del tempo tipica dei modelli linguistici.
Nonostante tutte queste cautele, il valore dell’esperimento resta notevole. Solo un anno fa, nessun modello di linguaggio sarebbe stato in grado di produrre un compilatore multi-architettura di questo livello con un grado così elevato di autonomia. Il modo in cui più agenti AI hanno collaborato in parallelo attorno a un repository Git e le tecniche ingegneristiche necessarie per rendere possibile questa collaborazione offrono indicazioni concrete su come potrebbero evolvere i futuri strumenti di sviluppo software basati su agenti.
Carlini ha descritto questo progetto come una delle esperienze più piacevoli che abbia vissuto recentemente, ammettendo che non avrebbe mai pensato fosse realizzabile in tempi così brevi. Allo stesso tempo, forte della sua esperienza passata nel campo del penetration testing, ha lanciato un avvertimento chiaro: distribuire software complesso senza una verifica diretta e approfondita da parte di sviluppatori umani solleva interrogativi seri sulla sicurezza e sull’affidabilità. L’esperimento di Anthropic, più che fornire risposte definitive, apre quindi una finestra su un futuro possibile dello sviluppo software, in cui la collaborazione tra agenti AI e supervisione umana diventa centrale, ma non può ancora fare a meno del giudizio critico degli ingegneri.
