Codex Fixing Codex: Un ciclo di consenso

Ho costruito un ciclo di agenti che fa molto più che suggerire codice. Scrive codice, lo revisiona e unisce le proprie pull request.

Per testarlo, ho indirizzato il ciclo verso un fork della codex CLI. Ho lasciato che gli agenti provassero a correggere il software da soli. Si tratta di un esperimento puro. Il fork non ha utenti né stelle. Il punto è il meccanismo, non un prodotto.

Ecco come funziona il ciclo:

  • Input: Un bug a monte diventa un'issue nel fork. Il ciclo seleziona solo bug piccoli e meccanici che può completare.
  • I Solver discutono: Più agenti propongono diverse soluzioni. Un solver vuole la modifica minima. Un altro vuole una struttura pulita. Un terzo vuole eliminare codice invece di aggiungerne. Non sono d'accordo.
  • Il Giudice arbitra: Un giudice legge il dibattito. Se i solver non sono d'accordo, il giudice li rimanda indietro per ulteriori round. Il giudice registra anche il motivo per cui ha rifiutato determinate idee.
  • Implementazione e Merge: Una volta raggiunto il consenso, il ciclo scrive la patch, esegue i test e apre una PR. Se i test passano, effettua il merge autonomamente.

Puoi vederlo in azione nell'issue #34. Gli agenti hanno dibattuto su un bug di concorrenza. Hanno affrontato tre round di arbitrato prima di raggiungere una decisione. Il ciclo ha prodotto una correzione reale e un test di regressione senza che un essere umano digitasse una singola riga di codice.

Un risultato interessante è emerso nella PR #16. Il ciclo non riusciva a riprodurre un bug segnalato. Invece di inventare una soluzione falsa, ha semplicemente aggiunto un test per bloccare il comportamento e si è fermato. Un ciclo che sa quando non applicare una patch è più utile di uno che produce sempre un diff.

Il ciclo ha effettuato il merge di circa 16 PR finora. Gestisce piccoli compiti come la gestione dell'UTF-8 e la correzione di comandi. Non mantiene un intero codebase, ma chiude bug piccoli e circoscritti dall'inizio alla fine.

Gli esseri umani stabiliscono ancora le regole e revisionano il lavoro. Controlliamo ancora ogni PR. Il codice è automatico, ma l'attenzione è umana.

Puoi vedere l'intero processo su GitHub. Guarda l'issue #34 e la PR #37 per vedere il dibattito.

Fonte: https://dev.to/nwnwnw413/codex-fixing-codex-a-consensus-loop-that-argues-judges-and-merges-its-own-prs-11bh

Community di apprendimento opzionale: https://t.me/GyaanSetuAi