paint-brush
Text-to-SQL trebala je biti ubojita aplikacija umjetne inteligencije. Nije.po@mfdupuis
211 čitanja Nova povijest

Text-to-SQL trebala je biti ubojita aplikacija umjetne inteligencije. Nije.

po Fabi.ai10m2025/03/02
Read on Terminal Reader

Predugo; Čitati

Pokušaj stvaranja jedne umjetne inteligencije koja može odgovoriti na sva pitanja poslovne analitike je izazovan, ako ne i nemoguć. S druge strane, specijalizirani agenti za analizu podataka AI obučeni na malim, odabranim skupovima podataka iznimno su obećavajući, posebno ako su dio veće agentske mreže.
featured image - Text-to-SQL trebala je biti ubojita aplikacija umjetne inteligencije. Nije.
Fabi.ai HackerNoon profile picture
0-item
1-item
2-item

U žaru početnog ChatGPT ludila, dobio sam poruku od bivšeg suradnika. Želio mi je predstaviti ideju. Uvijek onaj koji uživa u razmišljanju, uskočili smo na poziv i on je počeo sa "Sjećaš se kako si me uvijek tražio da izvučem podatke umjesto tebe?" Što ako to možete učiniti sami?" A onda mi nastavlja s idejom o kojoj su tisuće (deseci tisuća?) drugih ljudi razmišljale u isto vrijeme: LLM bi se mogao koristiti za text-to-SQL kako bi se manje tehničkim ljudima pomoglo odgovoriti na vlastita pitanja o podacima.


Bio sam zakačen za tu ideju, ali prije nego što sam počeo razmišljati, rekao sam Lei (sada moj tehnički direktor) da moramo napraviti neku provjeru valjanosti. Kontaktirali smo prijatelje i bivše suradnike iz raznih djelatnosti. Postojao je snažan interes za pravu "samoposlužnu analitiku". Znali smo da će biti mnogo kompliciranije nego što se činilo, ali prilika je bila predobra da bismo je propustili. Tako smo Lei i ja napustili Shire i krenuli na naše putovanje kako bismo stvorili našu viziju: Fabi.ai .


Ovaj post nije o samom našem proizvodu (iako, ako ste znatiželjni, možete pročitati više o tome kako su neke od ideja u nastavku utjecale na funkcioniranje našeg nedavnog proizvoda ovdje ). Umjesto toga, želio sam podijeliti osnovna učenja koja smo prikupili radeći s LLM-ima za analizu podataka tijekom našeg putovanja.


Napomena: ovom putovanju jako nedostaju čarobnjaci i epske bitke u Međuzemlju. 🧙

Zašto koristiti AI za samouslužnu analitiku?

Nećemo se predugo zadržavati na “zašto”. Ako ovo čitate, vjerojatno spadate u jednu od dvije skupine:

  1. Vi ste netko tko želi imati dostupnu samouslužnu analitiku i ne želite uvijek čekati na svoj tim za podatke
  2. Vi ste u timu za podatke i slušali ste o tome kako će vam umjetna inteligencija pomoći riješiti problem s ad hoc zahtjevima.


Zanemarujući zabrinutost za ulogu analitičara podataka i znanstvenika, ideja o sveznajućoj umjetnoj inteligenciji koja može odgovoriti na sva pitanja o podacima organizacije zvuči lijepo. Ili barem zvuči lijepo za organizaciju i njezine poslovne vođe čija kreativnost za nove načine postavljanja pitanja ne poznaje granice. Ova umjetna inteligencija mogla bi biti rješenje za stvaranje organizacije "vođene podacima" u kojoj se svaki vođa oslanja na empirijske dokaze za donošenje svojih strateških odluka. I sve to uz djelić troškova koji bi inače bili potrebni. Konačno! Organizacije mogu iskoristiti tu "novu naftu" o kojoj slušaju od 2010.


Ali ako je ovo tako vrijedan problem za rješavanje i AI je postao tako dobar, zašto ga nijedan proizvod do sada nije riješio?

Zašto umjetna inteligencija za samouslužnu analitiku dosad nije uspjela

Nedavna istraživanja industrije daju složenu sliku usvajanja umjetne inteligencije u poduzeću. 61 posto tvrtki isprobavaju AI agente. Međutim, mnogi brinu o pouzdanosti i sigurnosti. Zapravo, 21% organizacija ih uopće ne koristi. Ta se oklijevanja posebno snažno osjećaju unutar podatkovnih timova, gdje su točnost i pouzdanost ključni za našu sposobnost obavljanja posla.


Oni koji prihvaćaju umjetnu inteligenciju – posebno u poduzećima – imaju visoku letvicu kada su u pitanju očekivanja od tehnologije. U kontekstu analitike podataka i sna o samoposluživanju, očekujemo da će naš alat za umjetnu inteligenciju:


  1. Omogućuje uvide: tablice i grafikoni su sjajni, ali oni su podskup onoga što bi se moglo nazvati "uvidima". Uvidi su "Aha!" trenutke koji proizlaze iz uočavanja stvari u vašim podacima koje su u suprotnosti s vašom intuicijom i koje inače ne biste uzeli u obzir. Ponekad SQL upit ili pivot mogu rasvijetliti te uvide, ali općenito se čini da je to više poput pronalaženja igle u plastu sijena.
  2. Radite pouzdano gotovo 100% vremena: Jedina stvar koja je gora od nedostatka podataka su loši podaci. Ako se umjetnoj inteligenciji ne može vjerovati ili halucinira odgovore i podatke, to znači loše vijesti za sve. To znači da kada AI ima podatke, treba ih ispravno koristiti. Ali kada mu nedostaju podaci, trebao bi izbjegavati davanje odgovora (nešto u čemu su LLM-i notorno loši).
  3. Budite dostupni širokom rasponu skupova tehničkih vještina: ljepota LLM-a je u tome što s njima možete komunicirati kao što biste radili sa suradnikom preko Slacka. Možete koristiti nejasan jezik. Druga osoba ili stvar vjerojatno će razumjeti vaš zahtjev u poslovnom kontekstu. Suprotno tome, što sustav više zahtijeva korištenje točnih izraza u točnom obliku, to je manje dostupan. Ova vrsta sustava zahtijeva obuku i pojačanje, što svi znamo da može biti izazovno.


Nažalost, većina trenutačnih rješenja koristi tradicionalni monolitni AI okvir koji često ne ispunjava očekivanja. U proteklih nekoliko godina Fabi.ai tim i ja smo naporno radili na ovom pitanju. Napravili smo prototipove za poduzeće i istražili mnoge mogućnosti. Na kraju smo shvatili da niti Retrieval Augment Generation (RAG) niti fino podešavanje ne mogu riješiti ovaj problem s trenutnim monolitnim okvirom.



Monolitna umjetna inteligencija za samouslužnu analitiku ima tendenciju neuspjeha zbog preopterećenog konteksta i velikih, neurednih izvora podataka.


Kada smo testirali ovaj pristup, postalo nam je jasno nekoliko stvari:

  • KRPICA je lomljiva. Premalo konteksta i AI ne može odgovoriti na pitanje i riskira halucinacije. Previše konteksta i umjetna inteligencija postaje zbunjena i gubi svoju točnost.
  • AI vas ne vodi nikamo. Najbolji AI na svijetu nikada neće moći precizno izvući i analizirati podatke u jednom udarcu. Jednostavno ima previše nijansi u podacima i pitanju. Uzmimo najjednostavniji mogući primjer: imate polje "Vrsta računa" koje je 95% popunjeno s 10 različitih vrijednosti. Ako zatražite od umjetne inteligencije da filtrira niz vrsta računa, možda neće prepoznati da postoje prazne vrijednosti, pa će proizvesti nevažeći SQL upit. "Naravno", mogli biste reći, "ali možemo jednostavno izračunati statistiku za svako polje i vrijednosti uzorka i pohraniti to u našu vektorsku pohranu konteksta." Vrste problema su gotovo beskonačne i sve su jedinstvene na svoj način.
  • Podaci poduzeća su zbrkani. Ovo se odnosi na prve dvije točke, ali vrijedi naglasiti. Čak i ako u kratkom trenutku organizacija može imati nekoliko zlatnih tablica sa savršeno definiranim semantičkim slojem, sve se sruši čim voditelj RevOpsa odluči prilagoditi poslovni model. Volim povući analogiju s kućom: općenito možete održavati kuću prilično urednom, ali uvijek će postojati nešto što treba očistiti ili popraviti.
  • Text-to-SQL previše ograničava. Za većinu pitanja o analizi podataka pisanje SQL-a za izvlačenje podataka samo je prvi korak. Ovo je korak koji morate poduzeti prije nego uopće počnete postavljati zanimljivija pitanja. SQL jednostavno ne može podnijeti složenu analizu koju traže poslovni korisnici. LLM i Python, s druge strane, savršeno su prikladni za taj zadatak. Ovi alati mogu uzeti vaš SQL izlaz i pronaći tu iglu u plastu sijena. Također mogu pokrenuti regresijske analize kako bi otkrili veće trendove.


Nakon razmatranja ovih problema, razmišljali smo o tome kako učiniti da se AI bolje prilagodi problemima. Tada su AI agenti ušli u igru i učvrstili ovaj koncept za nas.

Budućnost: Agentske mreže

Čim smo bacili oko na agencijske okvire, znali smo da će to promijeniti igru. Odjednom smo osjetili da možemo prepustiti umjetnoj inteligenciji da odluči kako odgovoriti na pitanja. Moglo bi raditi kroz korake i samostalno rješavati probleme. Ako AI napiše SQL upit koji propušta null vrijednosti u polju "Vrsta računa", može na suho pokrenuti upit, uočiti pogrešku i sam je popraviti. Ali što ako bismo ovo mogli napraviti korak dalje i pustiti AI da radi uglavnom u Pythonu i iskoristi LLM? Sada AI radi više od prikupljanja podataka. Može koristiti Python pakete ili LLM-ove za pronalaženje odstupanja, trendova ili jedinstvenih uvida, koje biste obično morali tražiti ručno.


No i dalje smo imali jedan problem: neuredne poslovne podatke. Vjerovali smo da organizacije to mogu riješiti korištenjem jakih praksi podatkovnog inženjeringa, poput medaljonska arhitektura i strogi semantički sloj. Međutim, rijetko smo pronašli organizacije koje su to stvarno radile u stvarnom životu. Većina organizacija koristi proračunske tablice, polovične tablice i modele podataka koji se stalno mijenjaju. Odavde smo došli na ideju izgradnje specijaliziranih AI agenata koji se mogu brzo izgraditi kako bi odgovorili na određeni skup pitanja.


Kako tvrtke rastu, obrađuju više podataka i imaju više korisnika. Ideja agentske mreže pomaže uravnotežiti brzo donošenje odluka s kontrolom potrebnom za upravljanje. Specijalizirani agenti pomažu postaviti jasne granice i odgovornosti za svaku umjetnu inteligenciju. Oni također stvaraju skalabilan način za komunikaciju agenata. Osim toga, mogu pomoći u učinkovitom upravljanju resursima u timovima i tvrtkama.

Specijalizirani AI agenti

Ideja koja stoji iza specijaliziranog agenta jest da taj agent može i hoće odgovarati samo na pitanja o vrlo čvrsto definiranom skupu podataka. Na primjer, možete stvoriti i pokrenuti AI agenta koji odgovara na pitanja o marketinškim kampanjama. Ili možete izgraditi drugu koja će odgovarati na pitanja o marketinškom kanalu, tako dalje i tako dalje.

Specijalizirani agenti koriste samo manje, odabrane skupove podataka izrađene ručno kako bi odgovorili na određena pitanja.


Nedavno smo pokrenuli Agent Analyst , koristeći ovu arhitekturu. Rani znakovi su vrlo obećavajući. Kada su skupovi podataka pažljivo odabrani i na pravoj razini granularnosti, ti agenti mogu vrlo pouzdano odgovoriti na određeni skup pitanja. Graditelj ovih agenata može ih podijeliti s netehničkim korisnicima i biti spokojan znajući da AI neće odgovoriti na pitanja koja su izvan opsega.


Postoji samo jedan nedostatak: korisnici moraju znati kojem agentu se obratiti za koje pitanje. To je kao da trebate znati pravog marketinškog analitičara koji će postaviti pitanje ili samo postaviti općenito pitanje. Općenito pitanje netko iz tima može uputiti pravoj osobi. Ovdje dolazi do izražaja koncept "mreže agenta".

Povezivanje agenata zajedno

Ako jedan agent može pouzdano odgovoriti na pitanja specifična za domenu, zašto onda ne dopustiti agentima da razgovaraju jedni s drugima? Zašto, na primjer, agent marketinške kampanje jednostavno ne može izravno pitati agenta za planiranje može li lakše odgovoriti na pitanje? Vjerujemo da bi trebalo biti u mogućnosti. Zapravo, mislimo da će u budućnosti postojati mreže agenata s hijerarhijskom strukturom. Možete zamisliti "GTM agenta" koji zove "Marketinškog agenta". Ovaj agent zatim poziva i "Pipeline agenta" i "Agenta za marketinšku kampanju".


Ova ideja je poput općenitije ideje koja lebdi oko umjetne inteligencije poznata kao " Internet agenata ." To je budućnost u kojoj agenti umjetne inteligencije glatko surađuju u različitim organizacijama. Oni to rade dok osiguravaju da sigurnost i povjerenje ostanu jaki.


U mreži agenta, različiti agenti analitičari mogu se povezati zajedno kako bi prenijeli pitanja prema potrebi.


Ovaj mrežni pristup nudi nekoliko ključnih prednosti u odnosu na monolitni AI (na netaknutom semantičkom sloju):

  • Uočljivost: Budući da jedan agent daje odgovore na temelju određenih podataka, možete pratiti svaki odgovor do tog agenta. Ovo pomaže u osiguravanju točnosti kroz reviziju. Da damo konkretan, iako pretjerano jednostavan primjer, zamislite da imate dvije tablice događaja: jednu za marketing i jednu za proizvod. Ako korisnik pita: "Koji su događaji generirali najviše prihoda?" AI bi mogao pretpostaviti da oni znače događaje proizvoda. Čak i ako nije u redu, korisnik može vidjeti koji je agent odgovorio i može voditi AI.
  • Pogodnost održavanja: Baš kao i motor automobila, ako možete lako pronaći probleme i brzo zamijeniti dijelove, automobil postaje pouzdaniji. Ako jedan agent počne padati zbog promjene u podatkovnom modelu, tada se može brzo uočiti i taj se agent može ažurirati.
  • Preciznost: sa svakim agentom koji djeluje unutar vlastitih ograničenja, nema mjesta da skrene s tračnica. Možda nema odgovor, ali neće učiniti nešto fantastičnim.


Na kraju krajeva, ova ideja mreže nije nova. Ovo odražava koncept mješavine stručnjaka za koji se pokazalo da poboljšava točnost za LLM. To je jednostavno preuzimanje te iste ideje i donošenje je AI agentima.

Tehnički izazovi agentskih mreža

U Fabi.ai-u, pred nama je dug put dok gradimo mrežu analitičkog agenta. No, usput smo već prevladali neke od velikih izazova tehničke infrastrukture.


AI analitičari podataka trebaju jedinstvenu arhitekturu. Ovaj dizajn im mora omogućiti korištenje Pythona ili LLM-a za odgovaranje na pitanja, sinkronizaciju s izvorima podataka i uklapanje u platforme za suradnju, a da pritom ostanu sigurni i skalabilni. Svaki agent mora raditi u vlastitoj jezgri Pythona, koju je potrebno brzo pokrenuti gore ili dolje kako bi se smanjili troškovi i ostao sinkroniziran s izvornim podacima.


Agentske mreže zahtijevaju pažljivo upravljanje jezgrom i okolinom.


Arhitekture koje ne pružaju pojedinačne kernele svakom agentu mogu se suočiti s jednim od sljedećih rizika:

  • Sukob stanja za varijable između AI agenata. Dva odvojena agenta mogu generirati "foo" varijablu za odgovor na pitanje, uzrokujući sukob. Mogli bi postojati i drugi načini za generiranje jedinstvenih identifikatora, ali oni povećavaju šanse da umjetna inteligencija generira nevažeći kod.
  • Sigurnosni rizici uzrokovani dijeljenjem podataka između različitih timova ili čak različitih organizacija.
  • Uska grla u izvedbi ako jedan agent zauzima nerazmjernu količinu računalnih resursa.


Izazov izgradnje ove vrste platforme jednako je AI izazov kao i DevOps izazov.

Gledajući unaprijed: prihvaćanje specijaliziranih, upravljanih AI agenata u podacima

Kako poslovne tvrtke upravljaju s više AI aplikacija u svom poslovanju, trebaju im specijalizirani pristupi kojima se dobro upravlja. Mrežni okvir agenta koristi specijalizirane agente AI podataka kao sredstvo za skaliranje AI u analitici podataka. Ovaj pristup čuva sigurnost, pouzdanost i performanse netaknutima.


Možda smo do sada očekivali da će umjetna inteligencija biti posvuda i odgovoriti na većinu pitanja vezanih uz podatke. Ali, ako bolje pogledamo, napredak u samo dvije godine od pokretanja ChatGPT-a je impresivan. Imamo još mnogo toga za naučiti na ovom putu. Međutim, po mom mišljenju, agenti i mrežni okviri agenta bit će ključni za AI poduzeća.

L O A D I N G
. . . comments & more!

About Author

Fabi.ai HackerNoon profile picture
Fabi.ai@mfdupuis
Your agile data analysis platform to help you manage ad hoc requests and deliver strategic insights.

VIJESI OZNAKE

OVAJ ČLANAK JE PREDSTAVLJEN U...