Een team onderzoekers, bestaande uit Md Asif Iqbal Fahim en Alessio Ferrari, heeft een innovatieve methode ontwikkeld om de kloof tussen de wensen van eindgebruikers en de technische realisatie van software te overbruggen. Het systeem, genaamd ReqEvolve, stelt software in staat om autonoom nieuwe functies toe te voegen op basis van informele verzoeken in natuurlijke taal, zonder dat daarvoor direct handmatige tussenkomst van een programmeur nodig is.
In de traditionele softwareontwikkeling moeten gebruikersbehoeften eerst door ontwikkelaars worden vertaald naar technische specificaties voordat aanpassingen kunnen worden doorgevoerd. Dit proces is vaak tijdrovend en vertraagt de validatie van nieuwe functies. ReqEvolve probeert dit proces te automatiseren door gebruik te maken van een combinatie van automatische requirements engineering (RE) en test-driven development (TDD). Volgens een publicatie op arxiv.org stelt deze aanpak het systeem in staat om gebruikersverzoeken direct om te zetten in werkende functionaliteit.
Het technische proces van ReqEvolve verloopt in verschillende fasen. Het systeem begint met het vragen om verduidelijkingen over de wensen van de gebruiker, waarna de specificaties worden opgesplitst in kleinere, beheersbare delen. Vervolgens genereert het systeem de nodige tests en integreert de nieuwe code tijdens de uitvoering (runtime). Hierdoor kan de gebruiker het resultaat van het verzoek onmiddellijk observeren, wat de validatie versnelt voordat een menselijke expert de code definitief controleert. De details van deze gebruikersgerichte benadering zijn beschreven in de presentatie voor de researchr.org conferentie.
De effectiviteit van het systeem is uitgebreid getoetst in een evaluatie met 72 verschillende scenario's van software-evolutie over 18 projecten. ReqEvolve behaalde hierbij een Pass@1-score van 89,2%. Dit is aanzienlijk hoger dan de prestaties van SpecFix, een methode die zich primair richt op requirements engineering, welke 18,8% lager scoorde. Ook ten opzichte van een eigen afgeslankte variant (ablation baseline) presteerde het systeem 32,6% beter. Deze resultaten tonen aan dat gebruikersgestuurde zelfevolutie een levensvatbaar model is voor het autonoom uitbreiden van softwarecapaciteiten.
ReqEvolve is geen geïsoleerde ontwikkeling, maar bouwt voort op eerdere experimenten met agentische architecturen. In een eerder onderzoek naar arxiv.org werd reeds beschreven hoe grote taalmodellen (LLM's) kunnen worden ingezet om volledig nieuwe modules tijdens de uitvoering van software te creëren. Waar oudere zelfadaptieve systemen zich vaak beperkten tot het aanpassen van bestaande instellingen, maakt zelfextensie het mogelijk om nieuwe functies toe te voegen zonder dat het systeem herstart moet worden.
Deze trend naar betrouwbare, zelfevoluerende agenten wordt breed ondersteund binnen de wetenschappelijke gemeenschap. Zo is er op github.com een verzameling van onderzoek naar betrouwbare zelfevoluerende agenten beschikbaar, wat de groeiende interesse in dit vakgebied onderstreept.
Om de resultaten van het onderzoek te kunnen verifiëren en de wetenschappelijke reproduceerbaarheid te garanderen, hebben de onderzoekers een replicatiepakket beschikbaar gesteld. Dit pakket is gekoppeld aan een dataset die onder een CC BY-licentie is ondergebracht bij Zenodo, waardoor andere wetenschappers de methodieken en uitkomsten van ReqEvolve onafhankelijk kunnen toetsen.