← Terug
Nieuwe methode voorkomt programmeerfouten in AI door dynamische grammatica-beperkingen

Nieuwe methode voorkomt programmeerfouten in AI door dynamische grammatica-beperkingen

De integratie van Large Language Models (LLM's) in autonome systemen zorgt ervoor dat AI-gegenereerde code steeds vaker direct wordt uitgevoerd zonder menselijke controle. Hoewel dit bij populaire programmeertalen relatief goed verloopt, ontstaan er grote problemen bij domeinspecifieke talen (DSL's) en aangepaste API's. In deze gespecialiseerde omgevingen genereren modellen vaak code die syntactisch correct lijkt, maar in de praktijk niet werkt omdat er variabelen of functies worden aangeroepen die niet bestaan.

Dit fenomeen wordt aangeduid als 'ghost references'. Volgens een wetenschappelijke publicatie op arxiv.org uit dit zich bijvoorbeeld in het aanroepen van databasekolommen die ontbreken in het schema of buffers die nooit zijn gedeclareerd. Omdat standaard grammatica-beperkingen tijdens het decoderen deze contextuele fouten niet kunnen detecteren, blijft de gegenereerde code onbruikbaar voor runtime-omgevingen.

Om dit probleem op te lossen, hebben Shuoming Zhang en zijn team een methode ontwikkeld genaamd 'Decode-Time Grammars'. In plaats van te vertrouwen op een statische set regels, maakt deze techniek gebruik van dynamische grammatica-fragmenten die direct worden gekoppeld aan de runtime-omgeving, genaamd Gamma. Door middel van een specifieke beleidsregel en een zogenaamde 'tightening operator' worden open posities in de code vervangen door slots die strikt gekoppeld zijn aan de beschikbare elementen in de Gamma-omgeving. Hierdoor wordt het model gedwongen om enkel te kiezen uit namen, velden en API-opties die op dat specifieke moment daadwerkelijk aanwezig zijn.

Een essentieel kenmerk van deze aanpak is de dynamische aanpassing. Wanneer het model een nieuwe declaratie genereert, wordt deze onmiddellijk toegevoegd aan de Gamma-omgeving. Hierdoor evolueert de beperkende grammatica mee met de tekst, wat zowel de grammaticale als de semantische correctheid van de code waarborgt. De theoretische basis hiervan is beschreven in het , waarin de auteurs de 'No-Ghost soundness' bewijzen voor Gamma-slotted fragmenten.

De praktische toepassing van deze methode is gerealiseerd in een systeem genaamd 'gproj'. Dit systeem combineert offline grammatica-inductie met online beleidsresolutie. De effectiviteit van gproj is getest op diverse talen, waaronder TileLang, P4 en SQL. De resultaten bleken consistent over een breed spectrum aan modellen, variërend van compacte versies met 0,6 miljard parameters tot gigantische modellen met 236 miljard parameters.

Uit de data in de blijkt dat gproj in staat is om ghost references volledig te elimineren door de constructie van de code zelf. Dit wordt bereikt met een beperkte toename in rekenkracht (overhead) in vergelijking met traditionele methoden voor beperkt decoderen.

Door strikte beperkingen op te leggen tijdens het generatieproces, wordt de noodzaak voor handmatige revisies van AI-code aanzienlijk verminderd. Dit biedt een veiliger fundament voor de ontwikkeling van AI-gestuurde software in gespecialiseerde domeinen. De volledige technische onderbouwing en de formele bewijsvoering zijn beschikbaar in de .

Geraadpleegde bronnen
Lees origineel artikel — Nieuws
Waardering
0
Stem mee op dit artikel
Discussie
Nog geen reacties. Wees de eerste!