LLM-Assisted Repository-Level Generation with Structured Spec-Driven Engineering

Dit artikel stelt Gestructureerde Specificatie-gedreven Engineering (SSDE) voor, een paradigma dat gestructureerde specificaties gebruikt om de ambiguïteit en kwaliteitsbeperkingen van prompts in natuurlijke taal te overwinnen, waardoor hoogwaardige, verifieerbare codegeneratie op repository-niveau mogelijk wordt.

Oorspronkelijke auteurs: Shuzhao Feng, Boqi Chen, Brett H Meyer, Gunter Mussbacher

Gepubliceerd 2026-05-06✓ Author reviewed
📖 4 min leestijd☕ Koffiepauze-leesvoer

Oorspronkelijke auteurs: Shuzhao Feng, Boqi Chen, Brett H Meyer, Gunter Mussbacher

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 door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Stel je voor dat je een zeer getalenteerde, maar licht afwezige, leerlingkok probeert te leren hoe je een enorme, complexe banketmaaltijd voor een hele stad bereidt.

Het Probleem: De "Vage Opdracht"
Op dit moment, als je een top-tier AI (de leerling) vraagt om code te schrijven voor een volledig softwaresysteem, geef je het meestal gewoon een lange beschrijving in natuurlijke taal, zoals: "Maak een website waar mensen vergaderingen kunnen boeken." Dit is alsof je de kok vertelt: "Maak een heerlijke maaltijd."

Het artikel stelt dat de AI, hoewel uitstekend in het snijden van een enkele ui (het schrijven van een kleine functie), de weg kwijtraakt wanneer het wordt gevraagd om de hele banketmaaltijd te bereiden (een volledige software-repository). Natuurlijke taal is te vaag. De AI kan een verkeerde gok maken, een stap vergeten, of een gerecht creëren dat er goed uitziet maar niet goed smaakt. Erger nog, omdat de instructies vaag waren, is het moeilijk om te bewijzen waarom de maaltijd mislukt is.

De Oplossing: Het "Gestructureerde Receptenboek"
De auteurs stellen een nieuwe werkwijze voor die Gestructureerde Specificatie-gedreven Engineering (SSDE) wordt genoemd. In plaats van een vage conversatie, stellen ze voor om de AI een strikt, gestructureerd "receptenboek" te geven.

In dit artikel gebruiken ze twee soorten gestructureerde recepten:

  1. Gherkin Specificaties: Denk hierbij aan "Als-Dan" testcases. In plaats van te zeggen "Laat het werken", schrijf je: "ALS een gebruiker op 'Boek' klikt, DAN moet de kamer worden gemarkeerd als 'Bezet'." Het is een checklist van exacte gedragingen.
  2. Domeinmodellen: Dit zijn als architecturale blauwdrukken of een kaart van de ingrediënten. Ze tonen hoe verschillende onderdelen van het systeem (zoals "Gebruikers", "Kamers" en "Datums") met elkaar verbonden zijn.

Het Experiment: De Proeverij
De onderzoekers zetten een pilotstudie op. Ze traden op als hoofdkoks en gaven vijf verschillende AI-modellen (de leerlingkokken) de taak om de "business logica" (de kookregels) te bouwen voor drie verschillende softwaresystemen.

Ze testten verschillende combinaties:

  • De Controlegroep: Alleen de vage beschrijving in natuurlijke taal.
  • De Testgroepen: De vage beschrijving PLUS het gestructureerde "receptenboek" (de blauwdrukken en de "Als-Dan" checklists).

De Resultaten: Structuur Wint
De bevindingen waren duidelijk:

  • Betere Nauwkeurigheid: Wanneer de AI het gestructureerde "receptenboek" (de blauwdrukken en checklists) had, maakte het veel minder fouten dan toen het alleen de vage beschrijving had.
  • De "Blauwdruk" Boost: Het geven van de AI van de specifieke code-ondertekeningen (de exacte lijst van ingrediënten en gereedschappen) samen met de blauwdrukken hielp het meest. Het was alsof je de kok niet alleen het recept gaf, maar ook het exacte merk bloem en de specifieke maat van de pan die moest worden gebruikt.
  • Nog Ruimte om te Groeien: Hoewel de gestructureerde aanpak veel beter was, maakte de AI nog steeds enkele fouten. De onderzoekers ontdekten echter dat meer dan 70% van deze fouten simpele, detecteerbare fouten waren — dingen zoals het refereren naar een variabele die niet bestaat, of het maken van een Python-syntaxisfout. Deze hoeven zelfs geen test-oracle (d.w.z. het uitvoeren van de code met voorbeeldinvoer om te zien wat er uitkomt): een standaard compiler of linter zou ze oppikken.

De Toekomstige Routekaart
Het artikel stelt dat we, om dit perfect te laten werken, het volgende moeten doen:

  1. Een Feedbacklus Toevoegen: In plaats van de AI slechts één keer te vragen, moeten we het de code laten schrijven, controleren tegen het "receptenboek", en automatisch zijn eigen fouten laten herstellen.
  2. Betere Datasets Bouwen: We hebben meer voorbeelden nodig van deze gestructureerde receptenboeken om de AI beter te trainen.
  3. Veranderingen Aanhouden: Echt software verandert voortdurend. We moeten de AI leren hoe het slechts één onderdeel van de banketmaaltijd moet updaten (zoals het vervangen van het dessert) zonder de hele maaltijd te bederven.

De Conclusie
Het artikel concludeert dat als we stoppen met het behandelen van AI als een toverstaf die werkt op vage wensen, en beginnen met het behandelen ervan als een bekwame werknemer die een strikt, gestructureerd blauwdruk volgt, we het kunnen krijgen om volledige softwaresystemen betrouwbaar te bouwen. Het verandert de AI van een "creatieve gokker" in een "precieze bouwer".

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.

Probeer Digest →