From Fragments to Paths: Task-Level Context Recovery for Large Industrial Codebases
Het artikel introduceert DeepDiscovery, een tweestaps "Location–Inference"-framework dat effectief taakrelevante context herstelt uit grote industriële codebases door verder te gaan dan lokale fragmenten, waardoor de prestaties van bestandsretrieval en coding agents bij complexe software engineering-taken aanzienlijk worden verbeterd.
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 meesterdetective bent die een complexe zaak probeert op te lossen in een enorme, chaotische stad (de Grote Industriële Codebase). De stad heeft miljoenen gebouwen, geheime tunnels, verborgen bedrading en constant veranderende straatnaamborden. Jouw taak is om de specifieke aanwijzingen te vinden die nodig zijn om een misdaad op te lossen (de Taak, zoals het oplossen van een bug of het toevoegen van een functie).
Het probleem is dat de meeste huidige detectie-instrumenten (bestaande AI-methoden) lijken op zaklampen die alleen de directe straathoek verlichten. Ze vinden misschien een paar relevante documenten, maar ze missen de cruciale verbindingen: de verborgen bedrading tussen gebouwen, de handleiding van een specifieke machine, of de testlogs van drie blokken verderop. Zonder het hele plaatje te zien, loopt de detective vast.
Dit artikel introduceert een nieuw detectie-instrument genaamd DEEPDISCOVERY. In plaats van alleen willekeurige plekken te verlichten, gebruikt het een slimme, tweestapsstrategie om het volledige "pad" te reconstrueren dat de detective moet bewandelen om de zaak op te lossen.
Hier is hoe het werkt, met behulp van eenvoudige analogieën:
1. De Tweestapsstrategie: "Vind het Anker, Volg dan het Pad"
De meeste tools proberen de hele stad in één keer te doorzoeken, wat traag en verwarrend is. DEEPDISCOVERY werkt in twee fasen:
Fase 1: Het Anker (Locatie)
Stel je voor dat je naar een specifiek persoon zoekt in een stadion. In plaats van elke stoel te scannen, zoek je eerst naar de "hoog-betrouwbare" instappunten: de teamlogo's, de specifieke sectienummers of de VIP-passen die op het ticket staan vermeld.- In het artikel: Het systeem scant de code snel om een paar "ankers" te vinden (sleutelfiles zoals een hoofdconfiguratiebestand of een specifiek service-instappunt). Het gebruikt aanwijzingen zoals bestandsnamen, mappenstructuren en programmeerpatronen om te raden waar de actie plaatsvindt, zonder nog alle regels code te lezen.
Fase 2: Het Pad (Inferentie)
Zodra de ankers zijn gevonden, stopt de detective niet daar. Hij begint buitenwaarts te wandelen langs het "implementatiepad".- In het artikel: Het systeem breidt zich uit vanaf deze ankers. Het zoekt naar expliciete links (zoals een deur die twee kamers verbindt) en impliciete links (zoits een geheime tunnel of een telefoongesprek tussen twee mensen dat niet in de bouwtekeningen van het gebouw staat geschreven). Het volgt deze verbindingen om configuratiebestanden, tests en gerelateerde code te vinden die de taak daadwerkelijk nodig heeft.
2. Het "Slimme Budget" (Metadata-Eerst)
Stel je voor dat je een rugzak inpakt voor een wandeling, maar je hebt slechts ruimte voor een paar items.
- De oude manier: Je propt de hele bibliotheek in de tas, in de hoop dat je de juiste kaart vindt. Dat is zwaar en traag.
- De DEEPDISCOVERY-manier: Je kijkt eerst naar de rug van het boek (de metadata/samenvatting). Als de rug zegt dat het boek over "koken" gaat, laat je het op de plank staan. Je opent het boek pas en leest de pagina's (laadt de volledige tekst) als de rug suggereert dat het cruciaal is voor je wandeling.
- In het artikel: Het systeem leest eerst de "samenvatting" van bestanden. Het laadt pas de volledige, zware tekst van een bestand als dat absoluut noodzakelijk is voor de taak. Dit bespaart tijd en geld (rekenkracht).
3. Waarom het ertoe doet: Het "Versheid"-probleem
Veel bestaande tools vertrouwen op vooraf gemaakte kaarten (offline indexen) van de stad. Maar in een snelgroeiende stad zijn de kaarten verouderd op het moment dat er een nieuw gebouw wordt geconstrueerd.
- De claim van het artikel: DEEPDISCOVERY wacht niet tot er een nieuwe kaart is getekend. Het verkent de stad nu, in realtime. Dit betekent dat het perfect werkt, zelfs wanneer de code elke minuut verandert, wat gebruikelijk is bij grote bedrijven.
4. De Resultaten: Meer zaken oplossen
De auteurs hebben dit nieuwe detectie-instrument op drie manieren getest:
- De Proefrit (Methodeniveau): Ze gaven het 27 middelgrote puzzels. DEEPDISCOVERY vond 92,6% van de tijd de volledige set noodzakelijke aanwijzingen, waarmee het alle andere tools versloeg. Dit deed het zonder dat er vooraf kaarten gebouwd hoefden te worden, wat het sneller en goedkoper maakte.
- De Werkelijkheid (Industriële Systemen): Ze sloten het aan op zes verschillende real-world AI-coding assistenten die door een groot bedrijf worden gebruikt. In bijna alle gevallen werden de assistenten veel beter in het vinden van de volledige set bestanden die nodig zijn om een probleem op te lossen. De verbetering was enorm voor grote, complexe projecten (tot een stijging van 9,2%).
- Het Eindexamen (End-to-End): Ze testten het op SWE-bench Verified, een beroemde benchmark voor software engineering taken.
- Het resultaat: Een systeem dat DEEPDISCOVERY gebruikt, loste 78,6% van de taken op.
- De vergelijking: Dezelfde systeem zonder DEEPDISCOVERY loste slechts 70,4% van de taken op.
- De les: Door de code beter te begrijpen, loste de AI 41 taken meer op van de 500.
Samenvatting
Beschouw DEEPDISCOVERY als een detective die niet alleen de dichtstbijzijnde pagina van een handleiding leest, maar begrijpt hoe de hele machine werkt. Het vindt het startpunt, volgt de verborgen draden en verbindingen, en leest pas de zware instructies wanneer dat absoluut noodzakelijk is.
Het artikel beweert dat AI-coding assistenten door dit te doen, kunnen stoppen met het missen van cruciale puzzelstukjes en veel betrouwbaarder complexe software engineering problemen kunnen oplossen, vooral in enorme, snel veranderende codebases.
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.