REprompt: Prompt Generation for Intelligent Software Development Guided by Requirements Engineering
Dit artikel introduceert REprompt, een multi-agent framework dat principes uit requirements engineering gebruikt om automatisch systeem- en gebruikersprompts te genereren en te optimaliseren, waardoor de kwaliteit van de door op large language models gebaseerde coding agents geproduceerde artefacten in realistische softwareontwikkelingsscenario's wordt 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 huis wilt bouwen, maar in plaats van met een architect te praten, schreeuw je vage instructies naar een zeer slimme, maar lichtelijk verwarde robotbouwer. Je zegt: "Bouw een cool huis voor me." De robot kan dan een kasteel, een ruimteschip of een huis zonder dak bouwen, omdat hij niet precies weet wat "cool" voor jou betekent.
Dit is het probleem bij het gebruik van Large Language Models (LLM's) om vandaag de dag software te schrijven. Zij zijn de robotbouwers en de "prompts" (jouw instructies) zijn vaak te vaag, wat leidt tot slordige of defecte code.
De paper introduceert een nieuwe tool genaamd REprompt. Zie REprompt niet als een magische spreuk, maar als een professionele requirements engineer die tussen jou en de robotbouwer in stapt.
Het kernidee: Prompts behandelen als blauwdrukken
In de wereld van het bouwen van software bestaat er een discipline genaamd Requirements Engineering. Dit is het proces waarbij ingenieurs met klanten gaan zitten, de juiste vragen stellen, uitzoeken wat er precies nodig is, dit opschrijven in een heldere blauwdruk, en controleren of de blauwdruk wel logisch is voordat de bouw begint.
De auteurs realiseerden zich dat wanneer we met AI praten, we deze cruciale stap overslaan. We geven gewoon een snelle opdracht. REprompt lost dit op door het AI-gesprek te veranderen in een gestructureerd engineeringproces.
Hoe REprompt werkt: Het viertraps team
In plaats van één AI die probeert te raden wat je wilt, gebruikt REprompt een team van vier gespecialiseerde AI-"agents" (personages) die fungeren als een menselijk engineeringteam. Ze doorlopen vier fasen, net zoals bij het bouwen van een echt huis:
De Interviewer & De Interviewee (Elicitatie):
- De analogie: Stel je een detective voor die een getuige ondervraagt (Interviewer) (Interviewee).
- Wat er gebeurt: Je geeft een vaag idee (bijv. "Ik wil een spelletje"). De Interviewer AI stelt de Interviewee AI een reeks slimme vragen: "Wat zijn de regels? Wie zijn de spelers? Wat gebeurt er als je verliest?" De Interviewee antwoordt op een gestructureerde manier. Dit verandert jouw vage wens in een gedetailleerde lijst met behoeften.
De Analist (Analyse):
- De analogie: Een architect die naar de aantekeningen van de detective kijkt en een ruwe schets maakt.
- Wat er gebeurt: De Interviewer AI neemt al die antwoorden en organiseert ze in een concept "Software Requirements Specification". Het is also kind van een rommelige lijst met wensen te veranderen in een formele to-do lijst.
De Specifier (Specificatie):
- De analogie: Een vertaler die de schets van de architect omzet in een strikte, stap-voor-stap instructiehandleiding voor de bouwploeg.
- Wat er gebeurt: Deze agent (genoemd CoTer) neemt het concept en zet het om in een "Chain of Thought".
- Als je om software vraagt (zoals een spel), breekt het de taak af in een strikte lijst van programmeerstappen (bijv. "Eerst het bord bouwen. Ten tweede de stukken toevoegen.").
- Als je de persoonlijkheid van de AI zelf wilt verbeteren (System Prompt), organiseert het de instructies in duidelijke secties: "Wie je bent", "Wat je weet" en "Hoe je je gedraagt".
De Critic (Validatie):
- De analogie: Een bouwinspecteur die de blauwdruk controleert voordat de bouw begint.
- Wat er gebeurt: Deze agent kijkt naar de definitieve instructiehandleiding. Het vraagt zich af: "Ontbreekt er iets? Is het verwarrend? Spreekt het zichzelf tegen?" Als het antwoord "ja" is, stuurt het de boel terug naar de Specifier om het te herstellen.
Wat ze hebben getest (De resultaten)
De onderzoekers hebben dit niet alleen besproken; ze hebben het gebouwd en op twee manieren getest:
1. Het verbeteren van de "Functieomschrijving" van de AI (System Prompts)
Ze gebruikten een bekend multi-agent systeem genaamd MetaGPT (wat een soort team van AI-werkers is die software bouwen). Ze namen de originele "functieomschrijvingen" (prompts) voor de teamleiders en architecten en haalden deze door REprompt.
- Het resultaat: Het AI-team produceerde veel betere documenten (zoals projectplannen en ontwerpblauwdrukken). Wanneer mensen de daadwerkelijke software testten die op basis van deze plannen was gebouwd, waren ze tevredener, vonden ze het gemakkelijker in gebruik en vonden ze de software van hogere kwaliteit. Het is alsof je de bouwploeg een beter blauwdruk geeft, zodat het huis geen lekkend dak heeft.
2. Het verbeteren van jouw instructies (User Prompts)
Ze testten REprompt op een platform genaamd YouWare, waar mensen eenvoudige verzoeken typen om webapplicaties te genereren.
- Het resultaat: Wanneer gebruikers eenvoudige dingen typen zoals "Ik wil een snake game" of "Ik want een rekenmachine", "interviewde" REprompt eerst de aanvraag om de details in te vullen, en voedde daarna de verbeterde instructies aan de AI. De resulterende games en tools waren aanzienlijk beter, leuker om te spelen en werkten veel soepeler dan wanneer gebruikers simpelweg de eenvoudige aanvraag direct hadden ingetypt.
De belangrijkste les
De paper beweert dat REprompt werkt omdat het de AI dwingt om te vertragen en te denken als een professionele engineer. In plaats van direct naar de code te rennen, stelt het eerst vragen, organiseert het plan en controleert het op fouten.
- Zonder REprompt: Je zegt "Bouw een huis" en de robot bouwt een stapel bakstenen.
- Met REprompt: De robot vraat: "Welke grootte? Hoeveel kamers? Welke stijl?" Het schrijft een plan, controleert het plan, en dan pas bouwt het een huis dat ook echt lijkt op wat jij wilde.
De studie bewijst dat door methoden uit de menselijke software engineering (Requirements Engineering) te lenen, we AI-agents veel beter kunnen maken in het begrijpen en bouwen van software voor ons.
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.