From SWE-ZERO to SWE-HERO: Execution-free to Execution-based Fine-tuning for Software Engineering Agents
Dit paper introduceert SWE-ZERO tot SWE-HERO, een tweestaps fine-tuning-strategie die open-source modellen naar state-of-the-art prestaties op SWE-bench brengt door eerst code-semantiek te leren zonder uitvoering en vervolgens gerichte, uitvoeringsgestuurde verfijning toe te passen.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Stel je voor dat je een junior programmeur wilt opleiden om complexe softwareproblemen op te lossen. Traditioneel doe je dit door de leerling direct in een werkende computeromgeving te zetten, waar ze code schrijven, testen, zien dat het mislukt, en het opnieuw proberen. Dit is als een leerling die in een echte garage moet werken: het is leerzaam, maar het is ook duur, traag en vaak een rommeltje met gereedschap en onderdelen.
De auteurs van dit paper (van NVIDIA) zeggen: "Wacht even, laten we het anders aanpakken." Ze introduceren een tweestapsmethode genaamd SWE-ZERO naar SWE-HERO.
Hier is hoe het werkt, vertaald naar alledaagse taal:
Stap 1: SWE-ZERO (De "Droom" Fase)
Het concept: In plaats van de leerling direct in de garage te zetten, laten we ze eerst urenlang in een bibliotheek zitten met de beste boeken over auto's. Ze hoeven de motor niet echt te bouwen of te testen. Ze leren alleen de theorie, de logica en hoe de onderdelen samenwerken.
- De analogie: Stel je voor dat je een chef-kok wilt worden. In plaats van dat je direct in een dure keuken staat met dure ingrediënten (wat veel geld kost en tijd), laat je de kok eerst 300.000 recepten lezen en analyseren. Ze leren de smaken, de combinaties en de structuur van een gerecht zonder ooit een pan aan te raken.
- Wat gebeurt er: De computer (het AI-model) leest miljoenen code-voorbeelden van GitHub. Omdat er geen echte tests draaien, is dit heel snel en goedkoop. De AI leert "wat er zou moeten gebeuren" op basis van logica, niet op basis van "wat er gebeurt als ik dit knopje druk".
- Het resultaat: De AI wordt een expert in het begrijpen van code, maar heeft nog geen ervaring met het testen ervan.
Stap 2: SWE-HERO (De "Reële" Fase)
Het concept: Nu de AI de theorie perfect beheerst, brengen we hem eindelijk de garage in. Maar nu is het niet meer om te leren wat een sleutel is, maar om de laatste fijne kneepjes te leren.
- De analogie: Onze chef-kok is nu klaar om de keuken in te gaan. Maar omdat hij al 300.000 recepten heeft gelezen, hoeft hij niet meer te experimenteren met "misschien is dit te zout?". Hij weet het al. Hij maakt nu een paar specifieke gerechten, proeft ze (de tests), en maakt de laatste kleine aanpassingen om ze perfect te maken.
- Wat gebeurt er: De AI krijgt nu een klein, hoogwaardig dataset van 13.000 problemen waar hij écht moet testen of zijn oplossing werkt. Dit is de "fijnafstemming".
- Het resultaat: De AI combineert de snelle intuïtie van Stap 1 met de nauwkeurigheid van Stap 2.
Waarom is dit zo slim?
Vroeger moesten AI-modellen alles in één keer doen: lezen, schrijven, testen, falen, opnieuw proberen. Dat kostte enorme hoeveelheden computerkracht en tijd.
- De oude manier: Een leerling die in een dure garage werkt, maar die 100 keer een motor moet bouwen voordat hij het echt snapt.
- De nieuwe manier (SWE-ZERO naar HERO): Een leerling die eerst 100 uur theorie leest (gratis en snel) en dan slechts 10 uur in de garage werkt om het perfect te maken.
De resultaten
Dit werkt verrassend goed!
- Snelheid en Kosten: Ze hebben een model gemaakt dat net zo goed is als de allerbeste modellen, maar dan veel goedkoper en sneller te trainen.
- Kwaliteit: Hun model (SWE-HERO-32B) lost 62,2% van de problemen op in de beroemde "SWE-bench" test. Dat is een nieuw record voor modellen van deze grootte.
- Meertaligheid: Het gekke is: ze hebben het model alleen getraind op Python-code (de taal van de garage), maar het werkt ook uitstekend op andere programmeertalen. Het is alsof de chef-kok die alleen Italiaanse recepten heeft geleerd, nu ook perfect Franse gerechten kan maken omdat hij de principes van koken zo goed begrijpt.
Kortom: Ze hebben de leerling eerst laten dromen over het oplossen van problemen (SWE-ZERO) en hem daarna een paar keer laten oefenen in de realiteit (SWE-HERO). Hierdoor wordt hij een echte held (Hero) zonder dat je de hele garage hoeft af te branden om hem te leren werken.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.