LEGO-RL: Harness-Native Reinforcement Learning for Coding Agents
LEGO-RL è un framework che abilita l'apprendimento per rinforzo scalabile per gli agenti di codifica collegando nativamente gli harness di esecuzione all'ottimizzazione del gradiente della politica attraverso il proxying in-process degli LLM, un'orchestrazione robusta del sandbox e il monitoraggio integrato, migliorando così significativamente le prestazioni del modello su SWE-bench Verified attraverso diversi ambienti pur mantenendo un alto allineamento tra addestramento e inferenza.
Articolo originale dedicato al pubblico dominio sotto CC0 1.0 (http://creativecommons.org/publicdomain/zero/1.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo
Nel mondo dell'intelligenza artificiale, i ricercatori stanno insegnando ai computer come agire come ingegneri del software autonomi. Questi agenti digitali non si limitano a rispondere a domande; navigano in basi di codice complesse, usano strumenti per correggere bug ed eseguono test per vedere se le loro modifiche funzionano. Per apprendere queste abilità, gli agenti utilizzano un metodo chiamato apprendimento per rinforzo. Immaginate uno studente che impara a risolvere un puzzle: compie una mossa e, se questa lo avvicina alla soluzione, riceve un piccolo premio. Col tempo, impara quali mosse portano al successo. Per gli agenti di programmazione, questo processo comporta la generazione di lunghe sequenze di azioni, l'osservazione dell'esecuzione di un programma per computer e la ricezione di un semplice segnale "sì" o "no" che indica se il codice scritto ha effettivamente risolto il problema. La sfida risiede nel fatto che questi agenti operano in ambienti informatici reali e disordinati, dove le cose possono andare storte in modi imprevedibili. Se l'ambiente va in crash, se il sistema di ricompensa viene ingannato o se il computer che registra i pensieri dell'agente perde traccia di ciò che è stato effettivamente detto, il processo di apprendimento si interrompe. L'agente potrebbe imparare a sfruttare il sistema o semplicemente smettere di imparare perché il feedback che riceve non è affidabile.
Un team di ricercatori ha sviluppato un nuovo sistema chiamato LEGO-RL per risolvere questi problemi specifici. Il loro obiettivo era collegare esistenti e complessi agenti di programmazione ad algoritmi di apprendimento potenti senza costringere gli agenti a cambiare il proprio modo di lavorare. Pensate all'agente come a un lavoratore esperto che sa esattamente come usare un set specifico di strumenti e seguire un flusso di lavoro specifico. I tentativi precedenti di addestrare questi lavoratori richiedevano spesso la ricostruzione dell'intero spazio di lavoro per adattarlo al software di addestramento, il che causava frequentemente errori o cambiava il comportamento naturale del lavoratore. Il team di LEGO-RL ha invece costruito un ponte che permette al software di addestramento di osservare il lavoratore esattamente così com'è, catturando ogni mossa e pensiero in tempo reale, proteggendo al contempo il processo di apprendimento dal caos del mondo reale.
Il cuore della loro soluzione è un framework che garantisce che il computer di addestramento veda esattamente ciò che l'agente vede e fa. Quando un agente genera una risposta, un componente speciale cattura il flusso grezzo di parole e l'esatta probabilità che l'agente abbia assegnato a ciascuna parola prima che qualsiasi altro software potesse alterarla o riassumerla. Questo è fondamentale perché il software che gestisce l'ambiente dell'agente spesso riscrive la storia o comprime le informazioni per risparmiare spazio. Se il sistema di addestramento si fosse basato su queste versioni riscritte, avrebbe calcolato il progresso dell'apprendimento dell'agente sulla base di una memoria distorta degli eventi. Catturando i dati al momento della generazione, i ricercatori hanno garantito che il segnale di apprendimento rimanesse fedele alle decisioni reali dell'agente. Inoltre, hanno costruito un sistema per riprodurre le specifiche scelte interne fatte dall'agente, assicurando che anche i modelli complessi con molte parti specializzate imparassero dal percorso corretto.
Per mantenere l'affidabilità del processo di apprendimento, il team ha creato un ambiente altamente organizzato in cui ogni test viene eseguito nel proprio contenitore isolato e sicuro. Ciò evita che un test interrotto faccia crashare l'intero sistema e impedisce agli agenti di trovare scorciatoie per aggirare il sistema di punteggio. Ad esempio, hanno nascosto le risposte agli agenti durante il test e si sono assicurati che il software utilizzato per valutare il lavoro non potesse essere manomesso. Hanno anche progettato il sistema affinché gestisse i fallimenti con eleganza. Se un agente si blocca o l'ambiente va in crash, il sistema identifica il problema, scarta quel tentativo specifico e procede senza lasciare che l'errore corrompa i dati di apprendimento. Ciò consente all'addestramento di continuare regolarmente anche quando i singoli test falliscono, cosa che accade frequentemente nelle attività di programmazione complesse.
I ricercatori hanno testato questo sistema addestrando un grande modello linguistico utilizzando tre diversi framework esistenti di agenti di programmazione. Hanno scoperto che il sistema funzionava sorprendentemente bene in tutti e tre i casi. La capacità del modello di risolvere problemi software reali è migliorata significativamente. Utilizzando un framework popolare, il tasso di successo è passato dal 64 percento a oltre il 70 percento. Con un altro, è salito dal 62 percento a quasi il 68 percento, e con un terzo è salito dal 57 percento a quasi il 67 percento. Fondamentalmente, i ricercatori hanno verificato che il processo di apprendimento fosse onesto; la relazione matematica tra ciò che l'agente ha fatto e ciò che il sistema di addestramento ha calcolato rimaneva quasi perfetta, con una correlazione superiore al 99 percento. Ciò ha dimostrato che il sistema non stava solo avendo fortuna, ma stava genuinamente imparando dai dati corretti.
Oltre a migliorare i punteggi, il sistema ha fornito una finestra chiara su come gli agenti imparano. I ricercatori potevano osservare l'addestramento in tempo reale, vedendo esattamente perché un test falliva o come il comportamento dell'agente cambiasse nel corso di settimane di addestramento. Hanno osservato che, con il miglioramento, gli agenti hanno iniziato a controllare il proprio lavoro più spesso, leggendo i file che avevano appena modificato per assicurarsi che le loro modifiche fossero corrette. Hanno anche notato che gli agenti hanno iniziato a compiere più passi per risolvere i problemi, impegnandosi in conversazioni più lunghe e complesse con il computer per raggiungere una soluzione. Questo livello di dettaglio ha permesso ai ricercatori di diagnosticare rapidamente i problemi, come quando un agente smetteva di usare gli strumenti e iniziava a scrivere testo, e di regolare l'addestramento di conseguenza.
Il successo di LEGO-RL dimostra che scalare l'addestramento degli agenti di programmazione richiede molto più che computer più veloci o modelli più grandi. Richiede un sistema che rispetti l'integrità del flusso di lavoro dell'agente fornendo al contempo un ambiente stabile e osservabile per l'apprendimento. Costruendo un framework che cattura i dati fedelmente, protegge dagli errori e offre una profonda visibilità nel processo di addestramento, i ricercatori hanno dimostrato che è possibile insegnare in modo affidabile a complessi agenti software come migliorare. Il loro lavoro suggerisce che il futuro della programmazione autonoma non risiede nel forzare gli agenti in stampi rigidi, ma nel costruire sistemi flessibili e robusti che possano imparare dalla realtà disordinata dello sviluppo software.
Sommerso dagli articoli nel tuo campo?
Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.