Probe-and-Refine Tuning of Repository Guidance for Coding Agents
Dit artikel introduceert "probe-and-refine tuning", een methode die repository-begeleidingsbestanden (AGENTS.md) iteratief optimaliseert met behulp van synthetische bugfix-probes om de prestaties van programmeeragenten op SWE-bench Verified significant te verbeteren door de dekking van evalueerbare patches uit te breiden in plaats van de precisie per patch te vergroten.
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 briljante maar onervaren leerling inhuurt om een enorme, eeuwenoude bibliotheek (de code-repository) te repareren. De leerling is slim genoeg om boeken te lezen en kapotte pagina's te herstellen, maar kent de geheime regels van de bibliotheek niet: welke plank de zeldzame kaarten bevat, hoe je de bibliothecaris om hulp vraagt zonder de slapende katten wakker te maken, of welke ladders veilig zijn om te beklimmen.
Zonder deze "lokale kennis" dwaalt de leerling doelloos rond, beklimt de verkeerde ladder of probeert een boek in het verkeerde gedeelte te repareren, waarbij hij vaak dingen beschadigt in het proces.
Dit artikel introduceert een methode genaamd "Probe-and-Refine Tuning" om dit probleem op te lossen. Zo werkt het, met behulp van eenvoudige analogieën:
Het Probleem: De "One-Size-Fits-All" Handleiding
Ingenieurs schrijven vaak een "spiekbriefje" (zoals een AGENTS.md bestand) voor hun AI-coding agents.
- De Oude Manier (Statische Kennis): Ze vragen een slimme AI om een generieke handleiding te schrijven: "Controleer altijd de index voordat je iets repareert," of "Zoek naar het belangrijkste instappunt." Dit is also kind de leerling een kaart geeft van elke bibliotheek ter wereld. Het is nuttig, maar het vertelt hem niet waar de specifieke geheime voorraad van deze bibliotheek verborgen is.
- Het Resultaat: De leerling doet het wel oké, maar hij raakt nog steeds vaak de weg kwijt.
De Oplossing: De "Trial-and-Error" Coach
De auteurs hebben een nieuw proces ontwikkeld genaamd Probe-and-Refine. In plaats van alleen één keer een handleiding te schrijven, behandelen ze de handleiding als een levend document dat wordt getraind door fouten te maken.
Denk aan een coach die een nieuwe speler traint:
- De Probes (De Oefeningen): De coach genereert 10 nep, verzonnen problemen (probes) die specifiek zijn voor deze bibliotheek.
- De Poging: De leerling probeert deze nep-problemen op te lossen met de huidige handleiding.
- De Diagnose: De coach observeert de poging. "O, je probeerde de loodgieterswerkzaamheden in de keuken te repareren, maar de leidingen zitten eigenlijk in de kelder. En je bent vergeten eerst de blauwdrukken te controleren."
- De Verfijning: De coach werkt de handleiding onmiddellijk bij met een specifieke regel: "Voor deze bibliotheek zit de loodgieter in de kelder, en controleer altijd eerst de blauwdrukken."
- Herhalen: Dit doen ze 3 tot 5 keer. De handleiding evolueert van een generieke gids naar een hyper-specifieke, "insider" gids.
Cruciaal is dat dit hele trainingsproces plaatsvindt zonder dat de agent daadwerkelijk echte bugs oplost. Het is een simulatie-loop waarbij de AI de handleiding schrijft, deze test op nep-problemen, en de handleiding aanpast op basis van de resultaten.
Wat Ze Vonden
De onderzoekers testten dit op een beroemde coding benchmark (SWE-bench) met vier verschillende runs. Dit is wat er gebeurde:
- Geen Gids: De leerling loste 25,5% van de problemen op.
- Generieke Gids: De leerling loste 28,3% van de problemen op.
- Probe-and-Refine Gids: De leerling loste 33,0% van de problemen op.
Het Grote Geheim: Het Gaat Om De Juiste Deur Vinden, Niet Om Beter Repareren
Je zou denken dat de verbeterde handleiding de leerling slimmer maakte of beter in het repareren van dingen. Dat was niet het geval.
- Wanneer de leerling wel iets repareerde, was de kwaliteit van de reparatie exact hetzelfde (ongeveer 59% succespercentage), ongeacht welke handleiding ze gebruikten.
- De echte magie was "Coverage" (Dekking). De verbeterde handleiding hielp de leerling om veel vaker het juiste bestand te vinden om te repareren.
- Analogie: De generieke handleiding zorgde ervoor dat de leerling bij 100 deuren aanklopte, maar slechts 40 daarvan waren de juiste. De verfijnde handleiding zorgde ervoor dat de leerling bij 100 deuren aanklopte, en 56 daarvan waren de juiste. Zodra hij de juiste deur vond, was zijn vermogen om het slot te repareren hetzelfde.
De "Step Budget" Valstrik
De onderzoekers ontdekten ook dat de gids alleen werkt als je de leerling genoeg tijd geeft.
- Als je de leerling slechts 25 stappen geeft om een probleem op te lossen, helpt de chique handleiding niet. Ze hebben geen tijd om de complexe instructies te volgen.
- Als je ze 200 stappen geeft, blinkt de chique handleiding uit. Het vertelt hen een workflow (Reproduce -> Trace -> Fix) die tijd kost, maar wel werkt. Zonder de handleiding haasten ze zich en falen ze.
- Analogie: Als je iemand vertelt: "Neem een panoramische route om de file te vermijden," maar je geeft ze slechts 5 minuten om op het werk te komen, zullen ze gewoon verdwalen. Je moet ze genoeg tijd geven om die panoramische route daadwerkelijk te kunnen afleggen.
De "Model Mismatch" Waarschuwing
De meest verrassende bevinding was dat deze gids niet universeel is.
- Ze probeerden de gids die getraind was op één AI-model (Qwen) te gebruiken met een ander, iets zwakker AI-model (Nemotron).
- Resultaat: Het tweede model stortte in. Het raakte zo in de war door de specifieke instructies dat het volledig stopte met werken.
- Analogie: Het is alsof je een gedetailleerde, snelle racehandleiding geeft aan een bestuurder in een langzame, oude sedan. De instructies zijn te complex voor de auto, en de bestuurder bevriest volledig. De gids moet specifelijk worden "afgestemd" op het brein (model) dat het zal lezen.
Samenvatting
Dit artikel bewijst dat hoe je de instructies schrijft belangrijker is dan alleen het hebben van instructies.
Door een simpele loop te gebruiken van "maak een nep-probleem, probeer het op te lossen, en verbeter de instructies op basis van de mislukking," kun je een generieke gids veranderen in een gespecialiseerde expert-handleiding. Dit maakt de AI niet slimmer in het repareren van code; het zorgt er alleen voor dat hij niet op de verkeerde plek zoekt, waardoor hij zijn volledige potentieel kan gebruiken om meer problemen op te lossen.
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.