← Nieuwste papers
💻 computer science

Automating Database-Native Function Code Synthesis with LLMs

Dit paper introduceert DBCooker, een LLM-gebaseerd systeem dat database-native functies automatisch synthetiseert door middel van een geavanceerde architectuur met karakterisering, een hybride invulmodel en meervoudige validatie, wat resulteert in een aanzienlijk hogere nauwkeurigheid dan bestaande methoden op systemen zoals SQLite, PostgreSQL en DuckDB.

Oorspronkelijke auteurs: Wei Zhou, Xuanhe Zhou, Qikang He, Guoliang Li, Bingsheng He, Quanqing Xu, Fan Wu

Gepubliceerd 2026-04-09
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Wei Zhou, Xuanhe Zhou, Qikang He, Guoliang Li, Bingsheng He, Quanqing Xu, Fan Wu

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 een database (zoals PostgreSQL, SQLite of DuckDB) een gigantische, super-georganiseerde bibliotheek is. In deze bibliotheek staan duizenden "natieve functies": kleine, ingebouwde gereedschappen die de database zelf heeft. Denk aan functies voor het berekenen van wortels, het trimmen van datums, of het samenvoegen van tekst.

Deze bibliotheek groeit elke dag. Maar hier zit een probleem: als ontwikkelaars een nieuwe functie willen toevoegen (bijvoorbeeld omdat een bedrijf van Oracle naar PostgreSQL verhuist), moeten ze die functie vanaf nul in de code van de database schrijven. Dat is als proberen een nieuw kapitaal te bouwen in een bestaande stad, waarbij je precies moet weten welke straten, riolering en stroomkabels er al liggen. Als je één kabeltje verkeerd aansluit, crasht de hele stad.

Dit is extreem moeilijk, foutgevoelig en kost veel tijd.

DBCooker is de oplossing die de onderzoekers hebben bedacht. Het is een slimme robot (gebaseerd op een AI, een "Large Language Model") die deze moeilijke klus voor je overneemt. Hier is hoe het werkt, vertaald naar alledaagse analogieën:

1. Het Probleem: De "Blinde" AI

Standaard AI's (zoals Claude of Qwen) zijn slimme schrijvers, maar ze zijn vaak blind voor de specifieke regels van een database.

  • De hallucinatie: Ze proberen een nieuwe functie te schrijven alsof ze in een leeg veld staan. Ze vergeten dat ze een bestaand stukje code moeten gebruiken (een "referentie") of dat ze de functie op de juiste plek in de bibliotheek moeten registreren.
  • Het resultaat: Ze schrijven code die er mooi uitziet, maar die niet compileert of crasht omdat ze de "stroomkabels" (interne koppelingen) niet hebben aangesloten.

2. De Oplossing: DBCooker (De Slimme Chef-Kok)

DBCooker is geen simpele schrijver; het is een meester-chef-kok die de keuken van de database perfect kent. Het werkt in drie hoofdstappen:

Stap 1: De Inventarisatie (Function Characterization)

Voordat de chef begint met koken, kijkt hij eerst in de koelkast en de kasten.

  • Wat doet DBCooker? Het scant de hele bibliotheek om te zien: "Welke bestaande onderdelen heb ik nodig?" en "Waar moet ik precies gaan bouwen?"
  • De Analogie: In plaats van te raden, zoekt DBCooker precies het juiste recept (de bestaande code) en de juiste lade (het juiste bestand) waar het nieuwe gerecht in moet worden geplaatst. Het maakt een lijstje van alle losse onderdelen die nodig zijn, zodat de AI niet hoeft te gissen.

Stap 2: Het Bouwen met een Sjabloon (Progressive Synthesis)

Nu begint het koken. Maar DBCooker bouwt niet zomaar een muur van bakstenen.

  • Het "Invul-systeem": DBCooker maakt eerst een skelet van het recept (een "pseudo-plan"). Het vult de moeilijke, complexe delen in met bestaande, bewezen stukjes code uit de bibliotheek.
  • De Analogie: Stel je voor dat je een auto bouwt. In plaats van elke bout zelf te draaien, pakt DBCooker de bestaande motor, de bestaande wielen en de bestaande remmen uit de schuur. Hij hoeft alleen nog maar de nieuwe onderdelen (bijvoorbeeld een uniek dashboard) te ontwerpen en die vast te zetten.
  • De "Terugval": Als het invullen mislukt (bijvoorbeeld omdat een onderdeel niet bestaat), schakelt DBCooker automatisch over naar een "van-nul-aan-de-slag"-modus. Het is slim genoeg om te zeggen: "Oké, dit plan werkt niet, ik ga het anders aanpakken."

Stap 3: De Drie-voudige Keuring (Three-Stage Validation)

Voordat het nieuwe gerecht de klant wordt geserveerd, gaat het door drie strenge keuringen.

  1. Grammatica-check: Klopt de taal? (Is de code wel correct geschreven?)
  2. Regel-check: Volgt het de huisregels van de bibliotheek? (Wordt de functie op de juiste manier geregistreerd?)
  3. Proef-eet-check: Werkt het echt? (Geeft de functie het juiste antwoord als je er een vraag aan stelt?)

Als er iets fout is, gooit DBCooker het niet weg, maar verbetert het het recept en probeert het opnieuw.

3. De Resultaten: Waarom is dit geweldig?

De onderzoekers hebben DBCooker getest op drie grote databases (SQLite, PostgreSQL, DuckDB).

  • Zij zijn de winnaars: DBCooker was gemiddeld 34% beter dan de beste andere AI-tools.
  • Nieuwe functies: Het kon zelfs functies toevoegen die in de nieuwste versies van SQLite nog niet bestonden. Het was alsof de robot de bibliotheek uitbreidde met nieuwe kamers die er nog nooit waren.
  • Minder fouten: Andere AI's maakten vaak fouten in de basisregels (zoals het verkeerd koppelen van bestanden). DBCooker deed dit bijna nooit, omdat het eerst de "instructieboekjes" van de database had gelezen.

Samenvatting

DBCooker is als het verschil tussen een toerist die probeert een huis te bouwen in een vreemd land zonder kaart (normale AI), en een lokale aannemer die de blauwdrukken kent, de juiste materialen uit de schuur haalt, en elke stap laat keuren door een inspecteur (DBCooker).

Het maakt het bouwen van complexe database-functies niet alleen sneller, maar ook veel betrouwbaarder, zodat ontwikkelaars zich kunnen richten op het oplossen van echte bedrijfsproblemen in plaats van het huren van code.

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 →