MAC-SQL: Multi-Agent Collaboratieve Text-to-SQL
MAC-SQL verscheen in december 2023 als het meest expliciet agent-centrische antwoord op het text-to-SQL probleem: in plaats van één prompt die één query genereert, werken drie gespecialiseerde agents samen om een relevant subschema te selecteren, de vraag te ontleden en de SQL na uitvoering te herstellen. Ik lees dit omdat de twee voorgaande bijdragen BIRD (de benchmark die MAC-SQL bij indiening aanvoerde) en DIN-SQL (de decompositie-baseline die MAC-SQL uitbreidt) behandelden, en de natuurlijke vraag is of een multi-agent wrapper iets concreets toevoegt bovenop die fundamenten.
Het artikel
"MAC-SQL: A Multi-Agent Collaborative Framework for Text-to-SQL" (Wang et al., COLING 2025) richt zich op een foutmodus die BIRD blootlegde in eerdere single-prompt methoden: grote databases met ruisgevoelige schema's en complexe stapsgewijze vragen overweldigen modellen die alles in één keer proberen te beredeneren.
De architectuur heeft drie agents. Een Selector beperkt een grote database tot een relevant subschema door irrelevante tabellen en kolommen weg te filteren voordat de SQL-generatie begint. Een Decomposer is de kernmotor — deze splitst complexe natuurlijke-taalvragen op in subproblemen en genereert incrementeel SQL met few-shot chain-of-thought-redenering. Een Refiner voert de kandidaat-SQL uit tegen de echte database, leest eventuele foutmeldingen letterlijk en corrigeert de query iteratief tot een maximum aantal pogingen. Niet alle drie de agents worden bij elke query geactiveerd; eenvoudigere taken slaan de Selector of de Refiner over op basis van complexiteitssignalen.
De auteurs verfijnen (fine-tunen) ook SQL-Llama (Code Llama 7B) op de output die door het framework wordt geproduceerd, wat een kleinere open-source variant oplevert.
Belangrijkste ideeën
- Schemareductie vóór generatie: De Selector filtert de database naar een relevant subschema voordat de Decomposer SQL schrijft. Ablatie bevestigt +2,11 procentpunten op BIRD dev — reëel, maar bescheiden.
- Uitvoeringsgestuurde verfijning: De Refiner leest daadwerkelijke database-foutmeldingen en corrigeert de SQL. Dit is de grootste individuele bijdrager in de ablatie: het verwijderen ervan doet de nauwkeurigheid op BIRD dev met 4,63 punten dalen, meer dan het verwijderen van de Selector (−2,11) of zelfs de Decomposer (−3,85).
- Conditionele agent-aansturing: Het routeren van eenvoudigere queries langs de Selector en Refiner bespaart tokens zonder de nauwkeurigheid in eenvoudige gevallen te schaden.
- Kloof in open-source distillatie: SQL-Llama (7B) bereikt 43,94% op BIRD dev tegenover de baseline van 46,35% van GPT-4. Het gat is niet dramatisch gezien het verschil in parameters, maar het gefine-tunde 7B-model loopt nog steeds meer dan 15 punten achter op de volledige testscore van 59,59% van GPT-4+MAC-SQL.
- BIRD-testresultaat: 59,59% uitvoeringsnauwkeurigheid, waarmee het ten tijde van indiening bovenaan het klassement stond en beter presteerde dan DAIL-SQL+GPT-4 (57,41%) met 2,18 punten.
Wat standhoudt — en wat niet
De Refiner is het beste idee hier, en de ablatie toont dat aan. Een agent die een echte database-foutmelding leest en zijn eigen SQL corrigeert, doet iets wat fundamenteel principiëler is dan een LLM die in een vacuüm aan zichzelf twijfelt — dit is het CRITIC "tool-interactive critiquing" principe, direct en concreet toegepast op feedback van SQL-uitvoering.
De bijdrage van de Selector is positief maar gering. Voor databases met honderden tabellen is het waarschijnlijk belangrijker; voor het typische schema van BIRD is het marginaal, en het artikel rapporteert niet hoe vaak de Selector wordt geactiveerd of de precisie bij het behouden van relevante kolommen — het is een black box met een enkel geaggregeerd getal.
De Decomposer is een incrementele verbetering ten opzichte van DIN-SQL. DIN-SQL ontleedde queries al in subproblemen met zelfcorrectie; MAC-SQL verpakt dit als een multi-agent conversatie. De architecturale splitsing in drie benoemde agents lijkt meer op een software-ontwerpkeuze dan op een nieuw inferentie-algoritme. Of de promptstructuur met drie agents beter presteert dan een enkele agent met een langere prompt, rekening houdend met het totaal aantal tokens, is nooit getest. De erkende beperkingen — prompts die "niet uitgebreid zijn geoptimaliseerd" en fine-tuning beperkt tot 7B — zijn reëel, maar de meer wezenlijke omissie is dat een ablatie van promptlengte versus architectuur volledig ontbreekt.
De temporele context is belangrijk voor de kalibratie. De 59,59% van MAC-SQL op de BIRD-test was state-of-the-art in december 2023. Tegen het midden van 2025 toont het BIRD-klassement systemen die de 81% passeren. De specifieke ideeën — subschema-filtering, vraag-decompositie, herhaling na uitvoering — zijn geabsorbeerd en uitgebreid door volgend werk dat gebruikmaakt van reasoning-first training, RLVR en rijkere CoT. MAC-SQL als artefact ziet er gedateerd uit; MAC-SQL als architecturaal patroon blijft actueel.
Waarom dit belangrijk is voor finance AI
Beancount gebruikt beanquery — een aan SQL verwante querytaal — als de primaire programmatische interface voor grootboekgegevens. Een echt meerjarig Beancount-bestand heeft een schema dat tientallen rekeningen bevat die in een hiërarchie zijn georganiseerd, meerdere valuta's, metadata-tags en berekende saldokolommen. Dat is precies het probleem van het grote, ruisgevoelige schema waar de Selector zich op richt.
De Decomposer is direct van toepassing op het soort vragen dat gebruikers daadwerkelijk stellen: "Wat waren mijn totale uitgaven aan dineren in EUR in Q3 2024, exclusief terugbetaalde transacties, uitgesplitst per maand?" is een decompositieprobleem — filteren op rekening-prefix, filteren op datumbereik, gemarkeerde transacties uitsluiten, aggregeren per maand. De Refiner vertaalt zich ook natuurlijk: voordat een gegenereerde Beancount-boeking wordt doorgevoerd, zou een agent deze kunnen testen via de Beancount-parser, syntax- of balansfouten kunnen ontvangen en de boeking kunnen herzien. De uitvoerings-feedbackloop die MAC-SQL demonstreert, is dezelfde loop die een veiligheidslaag voor schrijven nodig heeft.
Het resultaat van de open-source distillatie is een waarschuwing: het fine-tunen van een 7B-model om een op GPT-4 gebaseerde pijplijn te benaderen, levert een model op dat nog steeds ver achterloopt. Als Bean Labs een lokaal model bouwt voor het genereren van grootboek-queries, suggereert de kloof bij MAC-SQL dat kleine modellen domeinspecifieke trainingsdata nodig hebben die veel verder gaan dan wat een algemene fine-tune biedt.
Wat je hierna kunt lezen
- DAIL-SQL (Gao et al., 2023, arXiv:2308.15363) — de systematische benchmark-evaluatie voor prompt-engineering die MAC-SQL direct verbetert op BIRD, het lezen waard vanwege de gecontroleerde ablatie van schemarepresentatie en few-shot voorbeeldselectie.
- SQLFixAgent (arXiv:2406.13408) — breidt uitvoeringsgestuurde SQL-correctie uit naar een multi-agent systeem met consistentiecontrole, een directe afstammeling van het Refiner-idee van MAC-SQL.
- BIRD-Critic / SWE-SQL (2025) — de nieuwere BIRD-reasoning track die begrip van uitvoeringsfouten vereist, de natuurlijke evolutie van wat de Refiner deed in MAC-SQL.
