Agenti AI che prevedono i propri bug migliorano più in fretta

Immaginate un agente AI che riscrive il programma che guida il proprio lavoro, sperando di svolgerlo meglio. Ogni riscrittura può introdurre un bug, e ogni test di una versione fallita consuma risorse di calcolo prima che qualcuno scopra che la modifica era un errore. Ricercatori dell'Università della Virginia, di Microsoft Research e della Tsinghua University hanno sviluppato un software che cerca di anticipare l'esito di una modifica prima che il programma modificato venga mai eseguito.
Il loro approccio si basa su HyperAgents, un framework in cui due componenti AI lavorano insieme: uno svolge i compiti, l'altro modifica il codice e le istruzioni usati da entrambi. Le versioni precedenti e i relativi risultati sono conservati in un archivio che orienta le modifiche successive. Il team ha aggiunto un nuovo componente, l'Improvement Dynamics Model, che esamina la modifica proposta, l'agente da modificare e i risultati passati, e prevede gli esiti compito per compito. Distingue le risposte sbagliate dai tentativi incompleti, una differenza che conta, perché una risposta sbagliata può richiedere un ragionamento migliore, mentre un tentativo incompleto può indicare un software da correggere. Se la previsione, corretta per il precedente errore sistematico del previsore, indica una prestazione peggiore di quella dell'agente attuale, il componente modificatore riceve l'avviso e un'ulteriore possibilità di revisione. L'agente rivisto viene testato in ogni caso. Cambiano solo il software e le istruzioni; il modello linguistico di base resta invariato.
In un esempio, una modifica ha collocato delle istruzioni al di fuori delle virgolette e ha rotto il programma. L'agente modificatore ha notato l'errore, ma ha esaurito le chiamate agli strumenti prima di correggerlo. Il previsore ha indicato compiti incompleti, provocando un'altra revisione; dopo aver corretto le virgolette e verificato la sintassi, l'agente ha completato 11 compiti. Su cinque serie di 40 cicli di miglioramento per condizione, il team riferisce che il suo approccio ha sviluppato agenti di programmazione più solidi, e più rapidamente, rispetto a HyperAgents. Su 166 compiti di programmazione tenuti separati dal miglioramento e dalla selezione, gli agenti scelti hanno raggiunto un tasso di successo mediano di circa il 30%, contro il 22% di HyperAgents e il 16% del loro agente di partenza comune. Il vantaggio si è mantenuto quando il confronto ha usato budget equivalenti di token del modello linguistico, anche se tale confronto non ha misurato il costo di calcolo totale.
Il previsore si aggiorna anche da solo: ogni cinque round propone modifiche e verifica le proprie previsioni con gli esiti registrati prima di adottarle. In un test di trasferimento, un previsore costruito su previsioni di accettazione di articoli e sulla progettazione di ricompense per robot simulati è stato applicato alla correzione di compiti di matematica, partendo da programmi nuovi. Su 100 compiti di correzione mai visti, gli agenti selezionati hanno eguagliato i voti degli esperti con un'accuratezza mediana del 55%, contro il 51% di un previsore nuovo e il 47% di HyperAgents. Si tratta di cifre di benchmark tratte da un preprint, e gli autori precisano che non dimostrano che gli agenti AI possano sostituire revisori, correttori o programmatori umani.
Per i team che costruiscono agenti capaci di migliorarsi da soli, la promessa concreta è meno test sprecati su modifiche con poche probabilità di funzionare, e un modo per gli agenti di scegliere in modo più efficiente le modifiche utili. Finora questi guadagni sono stati misurati su benchmark di programmazione, di previsione di articoli e di correzione. L'articolo non indica alcuna tempistica per usare il metodo nei sistemi di produzione, che resta un risultato di ricerca da riprodurre su compiti diversi da questi.
Commenti
Caricamento della discussione…
Accedi per scrivere un commento. Accedi