OpenAI Codex ha scritto un intero gioco DOS in Assembly x86 a 16 bit in stile Asteroids, fornendo 18 file sorgente e circa 2.500 righe di codice senza una singola riga di Assembly scritta da un essere umano. L'esperimento dimostra che un'IA può gestire l'intero ciclo di vita del software — dalla pianificazione al debugging — senza l'intervento diretto di un programmatore, andando oltre le solite demo di "completamento del codice".

Perché il test era importante

La maggior parte delle dimostrazioni pubbliche di coding tramite IA si ferma a piccoli frammenti o semplici utility. Per testare il limite massimo, l'esperimento ha costretto Codex nell'ambiente più vincolato immaginabile: Assembly x86 a 16 bit su DOS, senza motori di gioco, librerie grafiche o le comodità dei linguaggi di alto livello. L'obiettivo era vedere se un'IA fosse in grado non solo di generare codice, ma anche di gestire i compiti ingegneristici circostanti.

Come sono stati suddivisi i ruoli

Le responsabilità umane erano limitate a tre azioni:

  • Definire l'obiettivo generale del progetto (uno sparatutto in stile Asteroids).
  • Rispondere a qualsiasi domanda relativa al gameplay che dovesse sorgere.
  • Effettuare il play-test di ogni build e segnalare i bug riscontrati.

Le responsabilità di Codex coprivano tutto il resto:

  • Elaborare un piano di progetto e l'architettura.
  • Scrivere i file sorgente in Assembly.
  • Effettuare il debug, il refactoring e la ristrutturazione del codice.
  • Gestire il repository Git, inclusi commit e gestione dei branch.
  • Compilare il binario ed eseguirlo in un emulatore DOS.

L'essere umano non ha mai digitato una singola istruzione Assembly, non ha mai invocato un compilatore e non ha mai avviato il gioco durante lo sviluppo. L'interazione si è limitata alla descrizione dei sintomi dei bug; l'IA ha individuato e risolto la causa principale autonomamente.

Il flusso di lavoro iterativo

Ogni ciclo iniziava con Codex che proponeva un traguardo (ad esempio, "implementare il movimento della nave del giocatore"). Successivamente, produceva i file sorgente corrispondenti, li sottoponeva a commit, compilava l'eseguibile e consegnava la build funzionante al tester. Codex analizzava il sintomo, lo tracciava attraverso la base di codice e rilasciava una patch senza ulteriore guida umana.

Cosa contiene il prodotto finale

  • 18 file sorgente in Assembly, organizzati in una struttura di repository convenzionale.
  • ≈2.500 righe di Assembly, che coprono la gestione degli input, il disegno degli sprite, il rilevamento delle collisioni e un sistema di punteggio massimo (high-score).
  • Un eseguibile DOS giocabile che gira in un ambiente DOS standard e imita il classico gameplay di Asteroids.
  • Zero righe di Assembly scritte da umani, confermando che l'IA ha gestito tutti i compiti di programmazione a basso livello.

Rischi e implicazioni

Se un'IA può guidare autonomamente un progetto dalla concezione a un binario funzionante, il ruolo tradizionale del programmatore come orchestratore principale di una base di codice cambia. Le aziende potrebbero ridurre il tempo speso nella configurazione di boilerplate, nella documentazione e nel debugging di routine, liberando gli ingegneri affinché si concentrino sul design e sulla strategia del prodotto.

L'esperimento evidenzia anche dei limiti. L'ambiente di test era deliberatamente ristretto: un gioco DOS per un singolo giocatore con meccaniche ben note. Scalare l'approccio a sistemi ampi e multi-modulo con dipendenze esterne, vincoli di sicurezza o percorsi di codice critici per le prestazioni rimane non dimostrato. Inoltre, il tester umano ha agito comunque come l'ultimo controllo di qualità; un errore logico non rilevato avrebbe potuto passare inosservato senza tale supervisione.

Controargomentazioni e domande aperte

  • Affidabilità: La programmazione in Assembly è spietata; un singolo errore di tipo "off-by-one" può far crashare l'intero programma. Codex ha risolto i bug che ha visto, ma potrebbe trascurare sottili problemi di temporizzazione che compaiono solo durante i test di stress.
  • Manutenibilità: Il codice generato senza linee guida di stile umane potrebbe essere più difficile da leggere o estendere per i futuri sviluppatori, specialmente se le convenzioni di denominazione dell'IA differiscono dagli standard del team.
  • Proprietà intellettuale: Chi possiede il codice quando lo scrive un'IA? Gli attuali framework di licenza presuppongono l'autorialità umana, lasciando un'area grigia per gli artefatti prodotti dall'IA.

Cosa osservare in futuro

  • Benchmark più ampi: Applicare lo stesso flusso di lavoro autonomo ad applicazioni di rete, app mobili o progetti moderni in C/C++ metterà alla prova se l'approccio è scalabile oltre i giochi in stile retro.
  • Integrazione degli strumenti: Integrare Codex nelle pipeline CI/CD potrebbe automatizzare non solo la generazione del codice, ma anche il testing, la scansione della sicurezza e il deployment.
  • Evoluzione delle policy: Con la proliferazione del codice generato dall'IA, le policy legali e aziendali dovranno affrontare questioni di proprietà, responsabilità e conformità.

Il punto fondamentale è chiaro: l'IA può ora agire come un singolo ingegnere del software per progetti ben definiti e circoscritti, fornendo codice funzionale di basso livello senza la necessità di programmazione manuale umana. Se tale capacità rivoluzionerà lo sviluppo mainstream dipenderà dalla rapidità con cui l'ecosistema riuscirà ad affrontare le questioni di affidabilità, manutenibilità e aspetti legali.