Nicholas Carlini, ricercatore nel team Safeguards di Anthropic, ha condotto un esperimento ambizioso: far costruire un compilatore C in Rust interamente da agenti Claude Opus 4.6 che lavorano in parallelo, senza alcun intervento umano diretto sul codice.
Architettura multi-agente: 16 istanze Claude hanno lavorato simultaneamente in container Docker isolati, condividendo un repository Git upstream. Ogni agente seleziona autonomamente il proprio compito successivo tramite un sistema di file-locking. La sincronizzazione si basa su Git: un agente si assegna un compito, ci lavora, effettua il push delle modifiche, quindi passa al successivo. Non è richiesta alcuna comunicazione esplicita tra agenti.
Risultati notevoli: in circa 2.000 sessioni Claude Code e 20.000 dollari di costi API (2 miliardi di token in input, 140 milioni di token in output), il compilatore risultante, di 100.000 righe, compila con successo Linux 6.9 su tre architetture (x86, ARM, RISC-V), oltre a progetti di rilievo come QEMU, FFmpeg, SQLite, PostgreSQL, Redis e persino Doom, con un tasso di successo del 99% sulle suite di test per compilatori, inclusa la GCC torture suite.
Lezioni di progettazione: l'autore condivide quattro insegnamenti chiave. Primo, la qualità dei test è cruciale perché gli agenti risolvono esattamente ciò che viene specificato. Secondo, occorre pensare dal punto di vista di Claude: ogni agente entra in un ambiente vuoto senza contesto, il che richiede una documentazione esaustiva e un output minimo per preservare la finestra di contesto. Terzo, abilitare il parallelismo è essenziale: semplice quando molti test indipendenti falliscono, ma la compilazione del kernel Linux si è rivelata problematica perché tutti gli agenti correggevano gli stessi bug. La soluzione: usare GCC come "oracolo di riferimento" per distribuire in modo casuale i file da compilare. Quarto, specializzare gli agenti per ruolo (deduplicazione, ottimizzazione, revisione del design, documentazione) massimizza l'efficienza.
Progressione dei modelli: l'articolo funge anche da benchmark di capacità. Opus 4 produceva a malapena un compilatore funzionante, Opus 4.5 ha permesso al primo compilatore di superare le suite di test, e Opus 4.6 spinge oltre i limiti compilando veri progetti su larga scala.
Preoccupazioni di sicurezza: l'autore, forte di un background in penetration testing, osserva che il superamento dei test non garantisce la correttezza del software. Il dispiegamento autonomo di codice non verificato da esseri umani rappresenta un rischio reale che richiede nuove strategie di sicurezza. Il codice sorgente è disponibile su GitHub (anthropics/claudes-c-compiler).