Event-B Agent: Towards LLM Agent for Formal Model Synthesis and Repair
Het artikel introduceert Event-B Agent, een nieuw raamwerk dat gebruikmaakt van grote taalmodellen om iteratief Event-B-formele modellen te synthetiseren en te herstellen door verfinning en verificatie te verweven, waardoor de end-to-end-generatie van correct-by-construction software uit natuurlijke taalvereisten aanzienlijk 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 wolkenkrabber probeert te bouwen, maar in plaats van blauwdrukken en bouwteams vraag je een zeer slimme, goed gelezen, maar af en toe verwarde architect (een AI) om het hele gebouw te ontwerpen op basis van een eenvoudige mondelinge beschrijving.
Het probleem is dat deze AI-architect uitstekend is in het schrijven van woorden, maar verschrikkelijk in wiskunde en logica. Als je vraagt om een brug te ontwerpen, kan het een prachtige beschrijving schrijven, maar de wiskunde achter de steunen kan verkeerd zijn. In de echte wereld stort een brug met verkeerde wiskunde in. In software crasht het systeem of gedraagt het zich onvoorspelbaar als de wiskunde verkeerd is.
Dit is de uitdaging van Formele Methoden: een manier om software te bouwen met strikte wiskundige regels om te bewijzen dat het werkt voordat je het ooit uitvoert. Maar het is zo moeilijk en vereist zoveel wiskundige expertise dat zeer weinig mensen het gebruiken.
Maar dan komt "Event-B Agent" in beeld.
Het artikel introduceert een nieuw systeem genaamd Event-B Agent. Denk hierbij niet alleen aan een schrijver, maar aan een samenwerkend bouwteam dat bestaat uit de AI-architect, een strenge bouwinspecteur en een reparatieteam, die allemaal in een lus samenwerken.
Hier is hoe het werkt, opgesplitst in eenvoudige stappen:
1. De "Stap-voor-stap" Strategie (Verfijning)
Als je de AI vraagt om de hele wolkenkrabber in één keer te bouwen, raakt het overweldigd en maakt het fouten.
- De Analogie: Stel je voor dat je een huis bouwt. Je probeert niet het dak, de loodgieterswerk, de elektrische bedrading en de fundering allemaal in één gigantische alinea te ontwerpen. Je doet het in lagen. Eerst teken je een ruwe schets van de vorm. Dan voeg je muren toe. Dan voeg je ramen toe.
- Wat de Agent doet: Het splitst de grote, angstaanjagende eis ("Bouw een systeem dat het laagste getal vindt") op in kleine, hanteerbare stukken. Het bouwt eerst een eenvoudige "abstracte" versie, bewijst dat die versie werkt, en voegt dan meer details toe. Dit heet Verfijning. Het is als een ui schillen; je behandelt één laag per keer, waarbij je ervoor zorgt dat elke laag stevig is voordat je naar de volgende gaat.
2. De "Strenge Inspecteur" (Formele Verificatie)
Zodra de AI een laag van het gebouw tekent, gaat het er niet zomaar van uit dat het goed is.
- De Analogie: Stel je een super-strenge bouwinspecteur voor die niet alleen naar de blauwdrukken kijkt; ze voeren een simulatie uit. Ze controleren: "Als het regent, gaat het dak lekken?" "Als de lift naar beneden gaat, breken de kabels dan?"
- Wat de Agent doet: Het maakt gebruik van twee soorten inspecteurs:
- De Model Checker: Dit controleert het ontwerp tegen specifieke scenario's (zoals het testen van een auto in een windtunnel). Het vindt snel bugs, maar alleen binnen een beperkt bereik.
- De Theorema Bewijzer: Dit is de ultieme logicus. Het probeert wiskundig te bewijzen dat het ontwerp perfect is voor elk mogelijk scenario, voor altijd.
Als een van beide inspecteurs een probleem vindt, wordt het gebouw niet goedgekeurd.
3. Het "Reparatieteam" (Model- en Bewijsreparatie)
Dit is het magische deel. In het verleden, als de inspecteur een fout vond, zou de AI gewoon vastlopen of opgeven.
- De Analogie: Stel je voor dat de inspecteur zegt: "Je deurkader is te zwak." Een normale AI zou misschien gewoon zeggen: "Oh, oké," en stoppen. Maar Event-B Agent heeft een Reparatieteam. Het team kijkt naar het rapport van de inspecteur, bedenkt waarom de deur zwak is, en stelt specifieke oplossingen voor: "Laten we hier een stalen balk toevoegen," of "Laten we het hout vervangen door metaal."
- Wat de Agent doet: Wanneer de wiskunde faalt, gokt de Agent niet zomaar. Het kijkt naar het specifieke foutbericht (de "Proof Obligation"). Het heeft een bibliotheek met "reparatieregels" (zoals een handleiding voor een monteur). Het kan zeggen: "De wiskunde zegt dat deze variabele nul kan zijn, wat een delingsfout veroorzaakt. Laten we een regel toevoegen die zegt: 'Deze variabele moet groter zijn dan nul'."
Het werkt vervolgens het ontwerp en het bewijs gelijktijdig bij. Het blijft deze lus doen—Ontwerp, Controleren, Repareren, Controleren, Repareren—totdat de inspecteur een duim omhoog geeft.
Waarom is dit een grote zaak?
Het artikel testte dit op 27 verschillende complexe systemen (zoals algoritmen voor het doorzoeken van gegevens of het regelen van verkeerslichten). Ze vergeleken Event-B Agent met andere AI-tools die alleen proberen code te schrijven of deze één keer te controleren.
- Het Resultaat: Event-B Agent was veel beter in het bouwen van systemen die daadwerkelijk correct waren. Het slaagde er ongeveer 98% van de tijd in om te bewijzen dat zijn ontwerpen werkten, terwijl andere methoden worstelden met complexe wiskunde en vaak fouten achterlieten.
- De Efficiëntie: Het duurde niet eeuwig. Het kon een complex systeem in ongeveer een uur en een kwartier repareren, wat ongelooflijk snel is in vergelijking met een menselijk expert die misschien dagen of weken nodig heeft om dezelfde wiskunde te doen.
De Conclusie
Event-B Agent is een hulpmiddel dat AI leert software te bouwen die "correct door constructie" is. Het doet dit door:
- Grote problemen op te splitsen in kleine, gemakkelijke stappen.
- Strikte wiskundige inspecteurs te gebruiken om elke enkele fout te vinden.
- Een slim reparatieteam te hebben dat het ontwerp en het wiskundige bewijs samen repareert totdat alles perfect is.
Het is alsof je een robot een blauwdruk, een rekenmachine en een hamer geeft, en het vertelt: "Stop niet totdat je wiskundig kunt bewijzen dat dit gebouw nooit zal instorten." Het artikel toont aan dat deze aanpak veel beter werkt dan gewoon de robot vragen om "wat code te schrijven".
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.