Ricerca
SpecForge: auto-miglioramento ricorsivo degli agenti di programmazione tramite specifiche comportamentali
Gli agenti di programmazione basati su modelli linguistici i cui pesi restano invariati possono migliorare le proprie prestazioni perfezionando il contesto esterno su cui fanno affidamento, senza aggi

- arXiv
- 2610.15708
- Pubblicato
- 2026-10-11
- Autori
- Yutong Cheng, Haifeng Chen, Peng Gao, Wei Cheng
Abstract degli autori
Gli agenti di programmazione basati su modelli linguistici i cui pesi restano invariati possono migliorare le proprie prestazioni perfezionando il contesto esterno su cui fanno affidamento, senza aggiornare i pesi del modello. Studiamo l’auto-miglioramento ricorsivo attraverso specifiche comportamentali: documentazione del codice in linguaggio naturale che descrive il comportamento delle entità di un programma e guida gli agenti nella generazione di codice corretto. Definiamo un ciclo di auto-miglioramento in cui un agente genera codice a partire dalle specifiche di cui dispone, lo valuta con test verificati mediante esecuzione e perfeziona le specifiche sulla base degli errori osservati. Le specifiche migliorate guidano poi le generazioni successive, affinando progressivamente la comprensione che l’agente ha del codice. Il perfezionamento ricorsivo è però difficile perché le entità di un programma sono interdipendenti. Migliorare la specifica di un’entità può compromettere involontariamente la correttezza delle altre: un fenomeno che chiamiamo accoppiamento degli output. Si crea così un effetto «acchiappa la talpa», in cui i miglioramenti locali causano regressioni altrove e impediscono progressi costanti. Presentiamo SpecForge, un sistema di ricerca ad albero su più frontiere che affronta questa difficoltà con tre meccanismi: (i) la selezione degli stati guidata dal criterio di Pareto conserva stati delle specifiche complementari ed evita di privilegiare prematuramente un unico stato; (ii) la selezione delle entità vincolata dalle dipendenze dà priorità al perfezionamento delle entità chiamate rispetto a quelle chiamanti; e (iii) l’espansione diversificata in base agli errori esplora più perfezionamenti utilizzando sottoinsiemi diversi dei test falliti. Su DevEval+, SpecForge ottiene le migliori prestazioni con tutti e cinque i modelli di base, tra cui un tasso di risoluzione del 94,9% con Claude-4.5-Sonnet, e un miglioramento medio di 5,7 punti percentuali rispetto al baseline più forte. Le specifiche migliorate rendono inoltre l’agente più efficace nei compiti esterni al ciclo: si rivelano utili nella traduzione tra linguaggi e nell’implementazione di nuove funzionalità, dove superano i documenti dei requisiti forniti dal benchmark.
Il riassunto di questo paper è disponibile solo in inglese: leggilo nella pagina inglese.
Leggi il paper originale su arXiv