Code-QA-Bench: Separating Code Reasoning from Documentation Memorization in Repository-Level QA
Oorspronkelijke auteurs: Jun Zhang, JianYing Qu, Hanwen Du, Zhongkai Sun, Yehua Yang, Qiao Zhao
Oorspronkelijke auteurs: Jun Zhang, JianYing Qu, Hanwen Du, Zhongkai Sun, Yehua Yang, Qiao Zhao
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
Technische Samenvatting: Code-QA-Bench
Probleemstelling
Huidige benchmarks voor AI-coderingsagenten, zoals HumanEval, MBPP en SWE-Bench, richten zich voornamelijk op codegeneratie of probleemoplossing. Hoewel ze effectief zijn voor het meten van het genereren van patches, slagen ze er niet in om codebegrip adequaat te evalueren: het vermogen om bestaande codebases te begrijpen, besturingsstromen te traceren, functies te lokaliseren en gedrag te verklaren. Er bestaat een kritieke kloof in het onderscheiden van echte code-redenering van documentatieherinnering of pretraining-memorizatie. Bestaande repository-niveau QA-benchmarks evalueren agenten vaak op repositories met volledige documentatie intact, waardoor het moeilijk is om te bepalen of een agent de code leest of simpelweg informatie uit zijn trainingsdata of de verstrekte documentatie herhaalt.
Methodologie
Code-QA-Bench introduceert een volledig geautomatiseerd raamwerk dat is ontworpen om repository-niveau QA-benchmarks te synthetiseren die codebegrip isoleren van documentatie en memorizatie. Het raamwerk werkt volgens vier kernprincipes:
1. Drie-conditie experimenteel ontwerp
Om de specifieke bijdragen van code-toegang, documentatie en memorizatie te kwantificeren, wordt elke taak geëvalueerd onder drie verschillende condities:
- Gesloten boek: De agent ontvangt alleen de vraag zonder toegang tot de repository. Dit meet voorkennis en memorizatie.
- Alleen code: De agent heeft toegang tot de repository met alle natuurlijke taalcontent verwijderd (docstrings, comments, README's en documentatiebestanden). Dit meet pure code-structurele redenering.
- Gedocumenteerd: De agent heeft toegang tot de volledige repository inclusief alle documentatie. Dit meet code-redenering versterkt door documentatie.
Belangrijke metrieken zijn afgeleid van de verschillen tussen deze condities:
Alleen code - Gesloten boek: De echte bijdrage van codelezen boven memorizatie.Gedocumenteerd - Alleen code: De bruikbaarheid van documentatie voor codebegrip.
2. Verwijdering van documentatie (Controle op omgevingsniveau)
Om code-structurele redenering af te dwingen, creëert het raamwerk een "alleen code"-versie van elke repository door programmatisch te verwijderen:
- Docstrings: Geïdentificeerd via AST en verwijderd (met
passingevoegd om de syntaxis te behouden). - Comments: Volledige regel- en inline comments worden verwijderd of afgekapt.
- Documentatiebestanden: Directories zoals
docs/,doc/en bestanden zoalsREADME*,*.mden*.rstworden verwijderd.
Cruciaal zijn uitvoerbare code, imports, typeannotaties en stringliteralen behouden, zodat semantische signalen van identificatoren intact blijven.
3. Taakgeneratie op basis van het antwoord
In tegenstelling tot eerdere benaderingen die eerst vragen genereren, hanteert Code-QA-Bench een antwoord-eerst-pijplijn:
- Chunk-selectie: Documentatiechunks worden geëxtraheerd en gescoord op basis van contentkwaliteit, codeverwijzingen en structurele signalen.
- Generatie van het gouden antwoord: Een met tools uitgeruste agent verkent de broncode (met behulp van
read_file,list_directory,search_code) om een geverifieerd "gouden antwoord" te produceren. De agent moet minstens één niveau dieper traceren dan de documentatie en feiten opnemen die niet in de tekst staan. - Verificatie: Een "alleen code-audit" zorgt ervoor dat het gouden antwoord geen claims bevat die alleen uit documentatie kunnen worden herwonnen. Als een claim afhankelijk is van documentatie, wordt deze verwijderd of herschreven.
- Afleiding van de vraag: Een vraag in natuurlijke taal wordt afgeleid van het geverifieerde gouden antwoord, zodat de taak geworteld is in de echte codestructuur.
4. Dubbele taakset
De benchmark genereert twee verschillende taaksets:
- Code-afleidbare taken (528 taken): Gouden antwoorden zijn geverifieerd als herwinbaar uitsluitend uit de codestructuur. Deze taken valideren het ontwerp (verwachting:
Alleen code ≈ Gedocumenteerd). - Documentatie-afhankelijke taken (100 taken): Gouden antwoorden worden gegenereerd uitsluitend uit documentatie en vereisen opzettelijk documentatie om volledig te kunnen worden beantwoord. Deze taken kwantificeren de bruikbaarheid van documentatie (verwachting:
Gedocumenteerd > Alleen code).
5. Evaluatie
Taken worden gescoord door een LLM-rechter (GPT-5.4) op een schaal van 0–5 langs drie assen:
- Nauwkeurigheid: Correctheid van feitelijke claims.
- Volledigheid: Dekking van de belangrijkste punten in het beoordelingskader.
- Specificiteit: Referentie naar specifieke bestanden, functies of codepatronen.
De eindscore is het genormaliseerde gemiddelde van deze drie assen.
Belangrijkste resultaten
Experimenten werden uitgevoerd op vier frontier-modellen (Claude Opus 4.6, DeepSeek-V4-Pro, Kimi-K2.6, Gemini-3.1-Pro) over 10 Python-repositories uit SWE-Bench.
1. Code-toegang is de dominante factor
Toegang tot de codebase levert een aanzienlijke prestatiewinst op ten opzichte van memorizatie. De gemiddelde winst van Alleen code ten opzichte van Gesloten boek is +0,23, wat drie keer zo groot is als de winst die door documentatie wordt geboden. Dit bevestigt dat het lezen van code aanzienlijk meer bijdraagt aan begrip dan alleen voorkennis.
2. Documentatie biedt bescheiden, meetbare bruikbaarheid
Voor documentatie-afhankelijke taken levert toegang tot documentatie een consistente, statistisch significante verbetering op (Gedocumenteerd - Alleen code = +0,071, p < 0,003). Dit suggereert dat hoewel de codestructuur agenten in staat stelt veel van het antwoord af te leiden, documentatie kritieke details biedt (ontwerprationalisatie, edge cases) die volledigheid en nauwkeurigheid verbeteren.
3. Validatie van het experimentele ontwerp
Bij code-afleidbare taken is het prestatieverschil tussen de condities Alleen code en Gedocumenteerd verwaarloosbaar (∆ ≈ +0,007) en voor de meeste modellen statistisch niet significant. Dit valideert de methodologie: het raamwerk isoleert succesvol taken waar documentatie niet nodig is, en bewijst dat de waargenomen voordelen bij documentatie-afhankelijke taken echte bruikbaarheid zijn en geen artefacten van de evaluatieopzet.
4. Model-specifieke inzichten
- Memorizatie: Modellen scoren 0,56–0,68 in de conditie "gesloten boek", wat wijst op aanzienlijke pretraining-memorizatie van bekende libraries.
- Redenering versus herinnering: DeepSeek-V4-Pro toonde het grootste verschil tussen alleen code en gesloten boek (+0,450), wat wijst op een zware afhankelijkheid van actieve codeverkenning in plaats van parametrische herinnering.
- Categorieanalyse: In tegenstelling tot de hypothese dat "Waarom"-vragen het grootste documentatieverschil zouden vertonen, toonden "Waar"-vragen (functielokalisatie) het meest significante delta bij code-afleidbare taken, wat suggereert dat documentatie fungeert als een navigatie-index.
Betekenis en claims
Het artikel claimt dat Code-QA-Bench een noodzakelijke methodologische verschuiving biedt bij het evalueren van AI-coderingsagenten door:
- Begrip te scheiden van memorizatie: Het biedt een kwantitatieve manier om te meten in hoeverre een agent vertrouwt op het lezen van code versus het herinneren van trainingsdata of documentatie.
- Controle op omgevingsniveau: Door documentatie op repository-niveau te verwijderen in plaats van vragen te filteren, worden agenten gedwongen zich te bezighouden met de codestructuur, waarmee het "vervuilingsprobleem" in bestaande benchmarks wordt aangepakt.
- Geautomatiseerd en reproduceerbaar: De pijplijn is volledig geautomatiseerd, repository-onafhankelijk en toepasbaar op elke goed gedocumenteerde Python-repository, waardoor continue benchmark-updates mogelijk zijn naarmate modellen verbeteren.
- Diagnostische waarde: Het drie-conditie-ontwerp biedt diagnostische signalen (bijv. verzadiging van specificiteit, niveaus van memorizatie) die generatie-only-benchmarks missen, en biedt een genuanceerder beeld van de capaciteiten van een agent.
De auteurs concluderen dat hoewel frontier-modellen sterke code-structurele lezers zijn, het bescheiden maar consistente voordeel van documentatie de voortdurende belangrijkheid van goed gedocumenteerde codebases voor AI-agenten benadrukt. Het raamwerk is open-source en dient zowel als evaluatietool als als bron van geverifieerde trainingsdata.
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.
Ontvang wekelijks de beste AI papers.
Vertrouwd door onderzoekers van Stanford, Cambridge en de Franse Academie van Wetenschappen.
Check je inbox om je aanmelding te bevestigen.
Er ging iets mis. Opnieuw proberen?
Geen spam, altijd opzegbaar.