Prejsť na hlavný obsah

MAC-SQL: Spolupráca viacerých agentov pri prevode textu na SQL

· 5 minút čítania
Mike Thrift
Mike Thrift
Marketing Manager

MAC-SQL sa objavil v decembri 2023 ako najvýraznejšia odpoveď orientovaná na agentov na problém text-to-SQL: namiesto jedného promptu generujúceho jeden dopyt spolupracujú traja špecializovaní agenti na výbere relevantnej sub-schémy, dekompozícii otázky a oprave SQL po vykonaní. Čítam to preto, lebo predchádzajúce dva príspevky pokrývali BIRD (benchmark, v ktorom MAC-SQL v čase predloženia dominoval) a DIN-SQL (dekompozičný základ, ktorý MAC-SQL rozširuje), a prirodzenou otázkou je, či nadstavba s viacerými agentmi prináša niečo konkrétne navyše k týmto základom.

Práca

2026-06-08-mac-sql-multi-agent-collaborative-text-to-sql

"MAC-SQL: A Multi-Agent Collaborative Framework for Text-to-SQL" (Wang et al., COLING 2025) sa zameriava na chybový režim, ktorý BIRD odhalil v predchádzajúcich metódach s jedným promptom: veľké databázy s neusporiadanými schémami a zložité viacstupňové otázky zahltia modely, ktoré sa snažia uvažovať o všetkom naraz.

Architektúra má troch agentov. Selector zúži veľkú databázu na relevantnú sub-schému odfiltrovaním irelevantných tabuliek a stĺpcov ešte pred začatím akéhokoľvek generovania SQL. Decomposer je hlavným motorom — rozkladá zložité otázky v prirodzenom jazyku na sub-problémy a generuje SQL inkrementálne pomocou reasoning-u typu few-shot chain-of-thought. Refiner vykonáva kandidátske SQL voči skutočnej databáze, číta chybové hlásenia slovo po slove a iteratívne opravuje dopyt až po maximálny limit pokusov. Nie všetci traja agenti sa aktivujú pri každom dopyte; jednoduchšie úlohy vynechávajú Selector alebo Refiner na základe signálov o zložitosti.

Autori tiež dolaďujú SQL-Llama (Code Llama 7B) na výstupoch produkovaných týmto rámcom, čím poskytujú menší open-source variant.

Kľúčové myšlienky

  • Redukcia schémy pred generovaním: Selector filtruje databázu na relevantnú sub-schému predtým, ako Decomposer napíše SQL. Ablácia potvrdzuje +2,11 percentuálneho bodu na BIRD dev — reálne, ale skromné.
  • Zjemňovanie riadené vykonávaním: Refiner číta skutočné chybové správy databázy a opravuje SQL. Toto je najväčší samostatný prispievateľ v ablácii: jeho odstránenie zníži presnosť BIRD dev o 4,63 bodu, čo je viac ako odstránenie Selectora (−2,11) alebo dokonca Decomposera (−3,85).
  • Podmienečné nasadenie agentov: Smerovanie jednoduchších dopytov mimo Selector a Refiner šetrí tokeny bez poškodenia presnosti v jednoduchých prípadoch.
  • Medzera v open-source destilácii: SQL-Llama (7B) dosahuje 43,94 % na BIRD dev v porovnaní so základnou úrovňou GPT-4 (46,35 %). Rozdiel nie je dramatický vzhľadom na rozdiel v počte parametrov, ale vyladený 7B model stále zaostáva za plným skóre GPT-4+MAC-SQL na testovacej sade (59,59 %) o viac ako 15 bodov.
  • Výsledok testu BIRD: 59,59 % presnosť vykonávania, čo v čase predloženia znamenalo prvé miesto v rebríčku a prekonanie DAIL-SQL+GPT-4 (57,41 %) o 2,18 bodu.

Čo obstojí — a čo nie

Refiner je tu najlepším nápadom a ablácia to potvrdzuje. Agent, ktorý číta skutočnú chybovú správu databázy a opravuje vlastné SQL, robí niečo skutočne principiálnejšie než LLM, ktoré hádal samo seba vo vákuu — ide o princíp „nástrojom-interaktívnej kritiky“ (tool-interactive critiquing) CRITIC aplikovaný priamo a konkrétne na spätnú väzba z vykonávania SQL.

Prínos Selectora je pozitívny, ale malý. Pre databázy so stovkami tabuliek má pravdepodobne väčší význam; pre typickú schému BIRD je okrajový a práca neuvádza, ako často Selector zasahuje alebo aká je jeho presnosť pri zachovávaní relevantných stĺpcov — je to čierna skrinka s jedným agregovaným číslom.

Decomposer je inkrementálnym vylepšením oproti DIN-SQL. DIN-SQL už rozkladal dopyty na sub-problémy so samovybavovaním; MAC-SQL to prebaľuje ako konverzáciu viacerých agentov. Architektonické rozdelenie na troch pomenovaných agentov je skôr voľbou softvérového dizajnu než novým inferenčným algoritmom. To, či štruktúra promptu s tromi agentmi prekoná jedného agenta s dlhším promptom (pri kontrole celkového počtu tokenov), sa nikdy netestovalo. Priznané obmedzenia — prompty „nie sú rozsiahlo optimalizované“ a doladenie obmedzené na 7B — sú reálne, ale podstatnejším vynechaním je absencia ablácie dĺžky promptu verzus architektúry.

Časový kontext je dôležitý pre kalibráciu. Výsledok MAC-SQL 59,59 % na teste BIRD bol v decembri 2023 na špičke. Do polovice roku 2025 rebríček BIRD ukazuje systémy prekračujúce 81 %. Konkrétne nápady — filtrovanie sub-schém, dekompozícia otázok, opakovanie vykonávania — boli absorbované a rozšírené následnými prácami využívajúcimi tréning zameraný na uvažovanie, RLVR a bohatší CoT. MAC-SQL ako artefakt vyzerá zastaralo; MAC-SQL ako architektonický vzor zostáva aktuálny.

Prečo na tom záleží pre finančnú AI

Beancount používa beanquery — dopytovací jazyk blízky SQL — ako svoje primárne programové rozhranie nad údajmi v účtovnej knihe. Skutočný viacročný súbor beancount má schému, ktorá zahŕňa desiatky účtov usporiadaných v hierarchii, viaceré meny, metadáta a vypočítané stĺpce zostatkov. To je presne ten problém veľkej a neusporiadanej schémy, na ktorý sa Selector zameriava.

Decomposer sa priamo vzťahuje na typy dopytov, ktoré používatelia skutočne kladú: „Aké boli moje celkové výdavky na stravovanie v EUR v 3. štvrťroku 2024 okrem preplatených transakcií, rozdelené podľa mesiacov?“ je dekompozičný problém — filtrovanie podľa prefixu účtu, filtrovanie podľa rozsahu dátumov, vylúčenie označených transakcií, agregácia podľa mesiacov. Refiner sa tiež prirodzene prekladá: pred potvrdením vygenerovaného záznamu v beancount by ho agent mohol skúšobne spustiť cez beancount parser, prijať syntaktické chyby alebo chyby v zostatkoch a opraviť ich. Slučka spätnej väzby z vykonávania, ktorú demonštruje MAC-SQL, je rovnaká slučka, akú potrebuje bezpečnostná vrstva pre zápis údajov.

Výsledok open-source destilácie je varovaním: vyladenie 7B modelu tak, aby aproximoval potrubie založené na GPT-4, prináša model, ktorý je stále ďaleko pozadu. Ak Bean Labs vytvorí lokálny model na generovanie dopytov v účtovnej knihe, medzera v MAC-SQL naznačuje, že malé modely potrebujú tréningové údaje špecifické pre danú doménu ďaleko nad rámec toho, čo poskytuje univerzálne doladenie.

Čo čítať ďalej

  • DAIL-SQL (Gao et al., 2023, arXiv:2308.15363) — systematické hodnotenie benchmarku prompt-engineering-u, ktoré MAC-SQL priamo vylepšuje v benchmarku BIRD; oplatí sa čítať kvôli kontrolovanej ablácii reprezentácie schémy a výberu few-shot príkladov.
  • SQLFixAgent (arXiv:2406.13408) — rozširuje opravu SQL riadenú vykonávaním do systému s viacerými agentmi s kontrolou konzistencie, priamy nástupca myšlienky Refiner z MAC-SQL.
  • BIRD-Critic / SWE-SQL (2025) — novšia vetva uvažovania BIRD vyžadujúca pochopenie chýb pri vykonávaní, prirodzený vývoj toho, čo Refiner robil v MAC-SQL.