AgentNLQ: A General-Purpose Agent for Natural Language to SQL
Dit artikel introduceert AgentNLQ, een algemeen toepasbaar multi-agent systeem dat 78,1% semantische nauwkeurigheid bereikt op de BIRD-benchmark door gebruik te maken van een geoptimaliseerde orkestrator voor zelfcorrectie en een nieuwe methode voor schema-verrijking om hoogwaardige SQL-query's te genereren uit natuurlijke taal.
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 enorme, ongelooflijk complexe bibliotheek met bedrijfsgegevens hebt. Deze bibliotheek is georganiseerd in duizenden boeken (tabellen) met miljoenen pagina's (rijen), en de boeken zijn met elkaar verbonden door ingewikkelde, onzichtbare draden (relaties). Meestal heb je om een specifiek feit in deze bibliotheek te vinden een bibliothecaris nodig die een zeer strenge, technische taal spreekt genaamd SQL. Als je een normale vraag stelt zoals: "Hoeveel klanten hebben vorig jaar rode schoenen gekocht?", dan begrijpt de bibliothecaris je mogelijk niet tenzij je je vraag vertaalt naar hun strenge code.
AgentNLQ is een nieuw team van AI-assistenten dat is ontworpen om die vertaler te zijn. In plaats van dat één AI probeert de code te raden, hebben de auteurs een multi-agent team gebouwd dat samenwerkt om je gewone Engelse vragen om te zetten in perfecte SQL-code.
Hier is hoe ze dit hebben gedaan, uitgelegd via eenvoudige analogieën:
1. Het Probleem: Het "Verloren in Vertaling"-Probleem
In het verleden probeerden AI-modellen dit alleen te doen. Het was alsof je één persoon vraagt om de hele bibliotheek uit het hoofd te leren, de regels van het gebouw te onthouden en tegelijkertijd de code te schrijven. Ze raakten vaak verdwaald, vergaten de regels of schreven code die niet werkte. Het artikel merkt op dat zelfs met geavanceerde AI deze enkele modellen niet zo nauwkeurig waren als een menselijk expert.
2. De Oplossing: Een Gespecialiseerd Team (Het "Orkest")
De auteurs hebben AgentNLQ gecreëerd, dat fungeert als een goed georganiseerd productieteam in plaats van een solo-optreden. Ze gebruiken drie hoofdrollen:
- De Planner (De Dirigent): Deze AI schrijft de code niet direct. In plaats daarvan luistert hij naar je vraag, breekt deze op in stappen en beslist welke delen van de bibliotheek hij moet bekijken. Hij gebruikt een "snel denken"-modus voor simpele vragen en een "langzaam denken"-modus voor lastige vragen.
- De Schrijver (De Secretaris): Deze AI is de expert-coder. Hij neemt de instructies van de Planner en schrijft de daadwerkelijke SQL-query.
- De Checker (De Redacteur): Deze AI voert de code uit tegen de database. Als de code crasht of het verkeerde antwoord geeft, stuurt hij een notitie terug naar de Planner en de Schrijver om het te herstellen. Ze blijven proberen totdat het antwoord juist is.
3. De Geheime Ingrediënt: "Verrijkte Metadata" (De Bibliotheekkaart)
Een van de grootste hindernissen is dat de AI niet weet wat de data betekent. Bijvoorbeeld, een kolom kan gelabeld zijn als cust_id, maar de AI weet niet of dat "Klant-ID" of "Bewaar-ID" betekent.
De auteurs hebben dit opgelost door een super-versterkte kaart van de database te maken voordat de AI überhaupt aan het werk gaat.
- De Analogie: Stel je voor dat je de AI een bibliotheek geeft waar elk boek een gedetailleerde samenvatting heeft, een lijst met zijn verbindingen met andere boeken, en een notitie die precies uitlegt wat de jargon betekent.
- Hoe ze dit deden: Ze gebruikten AI om automatisch de databasestructuur te lezen en deze samenvattingen (beschrijvingen van tabellen en kolommen) te schrijven en de verbindingen (foreign keys) in kaart te brengen. Deze "verrijkte schema" helpt de AI de context te begrijpen zonder dat een mens het hoeft te schrijven.
4. De "Naald in de Hooiberg"-Oplossing (Vector Search)
Soms is de database zo groot dat het proberen om de AI de hele kaart in één keer te tonen te veel is (het is alsof je probeert de hele encyclopedie te lezen om één woord te vinden).
- De Oplossing: Ze gebruiken een slim zoekhulpmiddel (Vector Search). Wanneer je een vraag stelt, vindt het systeem direct de specifieke paar pagina's van de kaart die relevant zijn voor je vraag en negeert de rest. Dit houdt de AI gefocust en snel.
5. Het "Feitenblad" (Het Schrijfblok)
Om te voorkomen dat de AI in de war raakt na veel pogingen, gebruiken ze een gestructureerd "Feitenblad".
- De Analogie: Stel je voor dat een detective een zaak oplost. In plaats van elk gesprek dat ze hebben gehad te onthouden, schrijven ze een schone samenvatting op: "De vraag was X. We hebben Y geprobeerd en dat faalde vanwege Z. Nu zullen we W proberen."
- Dit houdt het geheugen van de AI schoon en gefocust op het doel, waardoor het niet overweldigd raakt door zijn eigen eerdere fouten.
6. De Resultaten: Hoe goed is het?
Het team heeft dit systeem getest op de BIRD-benchmark, die lijkt op een gigantisch, moeilijk examen voor AI-systemen met echte bedrijfsgegevens (financiën, sport, gezondheidszorg, etc.).
- De Score: AgentNLQ behaalde 78,1% nauwkeurigheid.
- De Vergelijking:
- Een basis-AI (het "solo-optreden") scoorde ongeveer 60%.
- Een menselijk expert (de "gouden standaard") scoort ongeveer 93%.
- AgentNLQ zit comfortabel ergens tussenin, wat bewijst dat een team van AI-agenten dat samenwerkt veel beter is dan een enkele AI die probeert alles alleen te doen.
Samenvatting
AgentNLQ is een systeem dat je vragen in natuurlijke taal omzet in databasecode door gebruik te maken van een team van AI-specialisten. Eén plant, één schrijft en één controleert. Ze worden geholpen door een vooraf gemaakte "slimme kaart" van de data en een systeem dat hun geheugen georganiseerd houdt. Dit stelt hen in staat om complexe bedrijfsvragen met veel hogere nauwkeurigheid te behandelen dan eerdere methoden, waardoor ze dichter bij de prestaties van een menselijk expert komen.
Opmerking: Het artikel benadrukt dat voor kritieke bedrijfsbeslissingen een mens de resultaten nog steeds moet controleren, omdat AI soms moeite kan hebben met uiterst complexe of unieke databasestructuren.
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.