Flint — Microsoftov open-source jezik koji kompajlira vizualizacije za AI agente
Microsoft Research objavio je Flint, open-source jezik za specifikaciju grafova koji rješava kompromis između kratkih i opširnih vizualizacijskih specifikacija kompajliranjem u Vega-Lite, Apache ECharts i Chart.js iz jednog kompaktnog zapisa, uz semantičke tipove podataka koji automatski izvode skale, formatiranje i sheme boja.
Ovaj članak generiran je uz pomoć umjetne inteligencije na temelju primarnih izvora.
Microsoft Research objavio je Flint — open-source jezik za specifikaciju vizualizacija podataka koji je dizajniran za eru AI agenata i copilot aplikacija. Projekt adresira dugogodišnji inženjerski izazov: kako AI agentima omogućiti da produciraju precizne i vizualno dotjerane grafove bez opširnih, greškama sklonih specifikacijskih datoteka.
Kompromis koji Flint rješava
Suvremene biblioteke za vizualizaciju — Vega-Lite, Apache ECharts i Chart.js — nude visok stupanj prilagodbe, ali po cijeni opširnih specifikacijskih datoteka. Kada AI agent mora generirati takav detaljan opis grafa, i manji propust u sintaksi ili logici može rezultirati nefunkcionalnim ili vizualno lošim ishodom. S druge strane, kratke specifikacije koje se oslanjaju na zadane vrijednosti sustava rijetko daju vizualizacije prikladne za poslovnu ili istraživačku upotrebu.
Flint je sažeti srednji put: kompaktna specifikacija koja je dovoljno čitljiva da jezični model može pouzdano producirati točan zapis, a dovoljno bogata semantičkim informacijama da kompajler može automatski izvesti sve što nedostaje — skale, osi, agregacije, formatiranje i sheme boja.
Kako radi kompajler?
Flint kompajler prima dva ulaza: specifikaciju podataka koja opisuje semantičke tipove i metapodatke, te specifikaciju grafa koja definira vrstu grafa i mapiranje polja na vizualne kanale. Kompajler iz tih ulaza automatski izvodi pravila parsiranja, skale, osi, agregacije, formatiranje, sheme boja i raspored elemenata — te generira nativnu specifikaciju za odabrani backend.
Jedna Flint specifikacija može se istovremeno kompajlirati u Vega-Lite, Apache ECharts ili Chart.js, što organizacijama daje fleksibilnost da odaberu rendering backend prema vlastitim potrebama bez pisanja odvojenih specifikacija.
Semantički tipovi kao ključni mehanizam
Središnji koncept Flinta su semantički tipovi podataka. Umjesto da korisnik ili agent ručno definira svaki aspekt prikaza, Flint prepoznaje tipove kao što su datumi, postoci, cijene ili rangovi i iz tih informacija inteligentno zaključuje o prikladnoj skali, formatu oznaka osi i shemi boja. Kada se podaci promijene u kardinalitetu, Flint automatski prilagođava raspored i veličine elemenata.
Ovo znači da agent koji generira Flint specifikaciju ne mora „znati” kako Vega-Lite formatira vremensku os ili kako ECharts obrađuje negativne vrijednosti — Flint preuzima tu odgovornost.
Rezultati testiranja na jezičnim modelima
Microsoft Research testirao je Flint na trima jezičnim modelima. U svim slučajevima, grafovi generirani putem Flinta dobili su više evaluacijske ocjene od grafova generiranih izravnim Vega-Lite pristupom (DirectVL). Rezultati potvrđuju da sažetiji i semantički bogatiji format smanjuje stopu grešaka pri AI-asistiranoj vizualizaciji — što je ključna pretpostavka za skalabilne copilot aplikacije s komponentama za prikaz podataka.
MCP integracija i dostupnost
Flint dolazi s MCP serverom koji omogućuje kreiranje grafova izravno u chat sučeljima koja podržavaju Model Context Protocol. Projekt je integriran s Data Formulator alatom za AI-asistiranu analizu podataka.
Kôd je dostupan na github.com/microsoft/flint-chart, a projektna stranica na microsoft.github.io/flint-chart/. Autori su istraživači Microsoft Researcha: Chenglong Wang, Alper Sarikaya, Scott Tsukamaki, Michel Galley i Jianfeng Gao.
Zaključak
Flint ne zamjenjuje Vega-Lite ni ECharts — kompajlira u njih. Njegov doprinos leži u sloju apstrakcije koji čini vizualizacijske specifikacije istovremeno pristupačnima za generativne modele i uredivima za ljude. Za timove koji grade AI copilot aplikacije s komponentama za vizualizaciju podataka, Flint nudi konkretno inženjersko rješenje za problem koji je dosad često zahtijevao ručno posredovanje ili kompromis između kvalitete i pouzdanosti.
Česta pitanja
- Što je Flint i čemu služi?
- Flint je open-source jezik za specifikaciju grafova koji kompajlira jednu kompaktnu specifikaciju u Vega-Lite, Apache ECharts ili Chart.js, premošćujući jaz između jednostavnih i opširnih vizualizacijskih opisa.
- Kako Flint koristi semantičke tipove podataka?
- Flint automatski prepoznaje tipove poput datuma, postotaka ili rangova i iz njih izvodi skale, formatiranje osi i sheme boja bez potrebe za ručnom konfiguracijom.
- Je li Flint namijenjen isključivo AI agentima?
- Ne — Flint producira specifikacije koje su pouzdane za strojnu obradu i istovremeno čitljive te uredive za ljude, što ga čini korisnim i u ručnom razvoju vizualizacija.