← Ultimi articoli
🤖 AI

Kozuchi Agent: A Language-Agnostic Open-Weight Agent for Software Repair

Kozuchi Agent è un sistema di riparazione del software agnostico rispetto al linguaggio e a pesi aperti che sfrutta una pipeline operata da CI con stato persistente per raggiungere prestazioni allo stato dell'arte sui benchmark SWE-bench Verified e Multi-SWE-bench senza fine-tuning, dimostrando che le sue limitazioni rimanenti derivano principalmente da errori di correttezza semantica e di selezione piuttosto che da formattazione o accesso a modelli proprietari.

Autori originali: Mehdi Bahrami, Kosaku Kimura, Satoshi Munakata, Satoshi Nakashima, Yu Ishikawa, Kosuke Maeda, Nao Soma, Kenichi Kobayashi, Keisuke Miyazaki, Keizo Kato, Shigeki Fukuta, Tatsuo Kumano, Nobutaka Imamura
Pubblicato 2026-08-18
📖 5 min di lettura🧠 Approfondimento

Autori originali: Mehdi Bahrami, Kosaku Kimura, Satoshi Munakata, Satoshi Nakashima, Yu Ishikawa, Kosuke Maeda, Nao Soma, Kenichi Kobayashi, Keisuke Miyazaki, Keizo Kato, Shigeki Fukuta, Tatsuo Kumano, Nobutaka Imamura, Kevin Musgrave, Shahbaz Abdul Khader, Kwun Ho Ngan, Joe Townsend, Fayas Asharindavida, Matthieu Parizy, Akira Sakai, Yuma Ichikawa, Yang Zhao, Michiaki Takizawa, Taku Fukui, Hiroki Ohtsuji, Wei-Peng Chen, Hiromichi Kobashi

Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.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 vasto e intricato mondo dell'ingegneria del software, il codice è la fondamenta su cui è costruita la vita moderna, eppure è soggetto a guasti. Quando un programma funziona male, genera un rapporto che descrive l'errore, e un programmatore umano deve quindi diagnosticare il problema, individuare il difetto all'interno di migliaia di righe di testo e scrivere una correzione che risolva il problema senza rompere nient'altro. Questo processo è lento, difficile e costoso. Recentemente, è emersa una nuova generazione di intelligenza artificiale capace di leggere questi rapporti e tentare di scrivere autonomamente le correzioni. Questi sistemi, spesso chiamati agenti, agiscono come apprendisti digitali capaci di navigare nel file system di un computer, eseguire test e modificare il codice. Tuttavia, insegnare a questi agenti di lavorare in modo affidabile per lunghi periodi è stato un ostacolo importante. Spesso si perdono nei dettagli, dimenticano ciò che hanno imparato nelle fasi precedenti o commettono errori nel tentativo di utilizzare gli strumenti necessari per correggere il codice. La sfida per i ricercatori è stata quella di costruire un sistema che mantenga questi lavoratori digitali concentrati, organizzati e responsabili, permettendo loro di risolvere problemi complessi senza una costante supervisione umana.

Un team di ricercatori di Fujitsu Research ha affrontato questa sfida creando un sistema chiamato Kozuchi Agent. Il loro lavoro si concentra su un tipo specifico di intelligenza artificiale che non richiede un addestramento speciale su nuovi dati, ma si affida invece a un framework attentamente progettato per guidarne il comportamento. I ricercatori hanno costruito un ambiente digitale in cui l'agente opera in fasi distinte e chiaramente definite. Invece di lasciare che l'agente vaghi liberamente attraverso un problema, il sistema lo costringe a muoversi attraverso una sequenza di passi: prima riprodurre l'errore per confermare che esista, poi localizzare l'esatta fonte del problema e, infine, scrivere e testare la correzione. Ad ogni fase, l'agente deve produrre un risultato specifico prima di passare alla successiva, e il sistema tiene una registrazione permanente di tutto ciò che l'agente fa. Questa struttura impedisce all'agente di confondersi o di ripetere gli stessi errori, trasformando una ricerca caotica in un processo disciplinato e verificabile.

Il team ha testato questo sistema su una vasta collezione di problemi software reali, prendendo in particolare come bersaglio un insieme di cinquecento problemi del linguaggio di programmazione Python. Hanno utilizzato un potente modello di intelligenza artificiale open-source che non è stato modificato o riaddestrato per questo compito specifico. Per garantire che i risultati fossero robusti, hanno eseguito l'agente otto volte separate su ogni problema, generando otto diverse potenziali soluzioni. Il sistema ha poi confrontato queste soluzioni tra loro utilizzando un metodo di selezione intelligente. Invece di affidarsi a una chiave di risposta nascosta per scegliere la correzione migliore, il sistema ha utilizzato i test generati da ciascuna delle otto esecuzioni per valutare le altre. Se una correzione superava i test creati da un altro tentativo, veniva considerata un candidato forte. Questo approccio ha permesso al sistema di identificare la soluzione più affidabile senza dover conoscere la risposta corretta in anticipo.

I risultati sono stati significativi. Il Kozuchi Agent ha risolto con successo trecentosettantaquattro dei cinquecento problemi Python, un tasso di successo di quasi il settantacinque percento. Questa prestazione ha posizionato il sistema tra i migliori nel campo, classificandosi al dodicesimo posto complessivo rispetto a tutti i contributi, ma al primo posto tra i sistemi che utilizzano modelli aperti e pubblicamente disponibili. I ricercatori hanno testato lo stesso sistema su un diverso set di problemi scritti nel linguaggio di programmazione Java. Nonostante le differenze tra i due linguaggi, il sistema ha operato con una costanza simile, risolvendo quarantuno di centoventotto problemi Java. Ciò ha dimostrato che il framework non era legato a un singolo linguaggio, ma poteva essere applicato ampiamente a diversi tipi di software.

Un risultato chiave dello studio è stato che i fallimenti avvenuti non sono stati dovuti al fatto che l'agente scrivesse codice disordinato o rotto. In effetti, quasi tutte le patch prodotte dall'agente sono state applicate pulitamente al software. I problemi risiedevano nella logica stessa della correzione; l'agente spesso scriveva una correzione che sembrava corretta, ma che in realtà non risolveva il problema sottostante. Questa distinzione è cruciale perché suggerisce che la barriera principale al miglioramento non sia il formato del codice o la capacità di usare strumenti, ma piuttosto la profonda comprenszione del significato del problema. I ricercatori hanno anche scoperto che il sistema era altamente efficiente nelle sue operazioni. Automatizzando il flusso di lavoro e permettendo il riutilizzo di diverse parti del processo, hanno ridotto lo sforzo umano necessario per eseguire questi test da cinque passaggi manuali separati a un'unica azione automatizzata.

Lo studio ha esplicitamente escluso l'idea che il successo del sistema derivasse dal semplice indovinare o dall'uso di un enorme modello proprietario accessibile solo ad alcune aziende. L'agente ha utilizzato un modello con ventisette miliardi di parametri, che è grande ma molto più piccolo dei modelli più potenti disponibili oggi, e ha ottenuto i suoi risultati senza alcun fine-tuning speciale. I ricercatori hanno inoltre dimostrato che il sistema non si basava sulla fortuna; la prestazione è stata costante tra diverse esecuzioni e diversi tipi di repository software. Sebbene il sistema non sia perfetto e affronti ancora difficoltà con i problemi semantici più complessi, rappresenta un grande passo avanti nel rendere l'intelligenza artificiale un partner affidabile nell'ingegneria del software. Combinando un flusso di lavoro strutturato con un processo di selezione intelligente, il Kozuchi Agent ha dimostrato che la tecnologia aperta e accessibile può competere con i sistemi più avanzati nella risoluzione di sfide di programmazione del mondo reale.

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.

Prova Digest →