Agenter i BI-plattformen

“Knowledge is power”, är ett uttryck som tillskrivs Sir Francis Bacon år 1597. Det stämmer lika bra idag som det gjorde då. På 1600-talet var problemet att många inte kunde läsa och man fick förlita sig på lärda män som skulle upplysa populasen om hur världen var beskaffad. Idag finns enorma mängder information fritt tillgänglig och de flesta har förmågan att ta till sig den. Dagens informations-problem (sett ur ett affärsperspektiv) är att det finns för mycket information och det är svårt att kunna sortera ut relevant information från allt brus. I denna artikel kommer vi att fokusera på hur man kan få ut värde från när man redan har en dataplattform på plats. Specifikt kommer agenter att diskuteras och hur de kan användas för att få fram svar på allt från vardagliga frågor till de mest affärskritiska frågorna.

Vad har du för slutmål?

För företag och organisationer är data en av, om inte den, mest värdefulla resursen. Den information och data som finns i företag är en sammanställning över hur det går och vart företaget är på väg. Förmågan att kunna sortera och analysera den data som finns är av yttersta vikt för att förstå sin verksamhet och för att kunna ta informerade beslut om framtiden.  

Många jobbar idag med att initiera olika projekt inom AI och dataanalys, men utan en tydlig målbild och konkretisering av förväntat värde så går dessa projekt ofta i stöpet. AI är ett jättebra verktyg för att hantera en rad olika uppgifter, men AI i sig kan inte lösa alla problem. Man måste veta vad man har för slutmål.

Först och främst: vad är en agent?  

I grunden är en agent baserat på en språkmodell precis som de vanliga AI-tjänsterna som många är bekanta med. Det är till och med så att man ofta använder exakt samma språkmodeller som finns i vanliga chatbottar. Vad är då skillnaden mellan en chatbot och en agent? Den stora skillnaden är vilka befogenheter man ger. Jag ska förklara detta lite mer i detalj.  

I en agentlösning har man ofta en agent som användaren kommunicerar med. Denna kallas för rotagent (eller huvudagent). Denna rotagent har i sin tur ett antal verktyg kopplade till sig. Det kan dels vara programmatiska funktioner. Men oftast är det en eller flera andra agenter som kallas för subagenter. Dessa har i regel specifika uppgifter som delegeras av rotagenten. När man kopplar ihop en agent med flera andra kallar man det för ett agentnätverk.  

Vad ska det vara bra för att ha flera olika språkmodeller som pratar med varandra? Den stora finessen är att varje agent kan få specifika instruktioner om vad de ska göra. Om vi tänker fallet där vi ska hämta och sammanställa information från en databas som ska användas till en kvartalsrapport skulle man kunna ha en uppdelning på följande sätt: Vi börjar med huvudagenten som har till uppgift att kommunicera med användaren och att dela ut arbetsuppgifter till sina subagenter. Den första subagenten kan ha som uppgift att hämta hem rätt ekonomisk data från vår databas, t.ex., försäljning mellan januari och mars. Den andra kan ha som uppgift att rita upp försäljningssiffrorna i grafer som kan användas i kvartalsrapporten. En tredje kan ha som uppgift att göra prediktioner för hur försäljningen kommer att se ut i Q2.  

Om man ska översätta detta till kompetenser som kan finnas hos ett företag är huvudagenten en ekonomichef som har till uppgift att skriva kvartalsrapporten. Den första subagenten är en data engineer som har kunskap om databasen där försäljningssiffrorna finns. Den grafritande agenten kan vara en person på ekonomiavdelningen som hjälper chefen att skapa rapporten och den sista är en data scientist som är duktig på att bygga prediktionsmodeller.

Vem har nytta av en agent som analysmotor?

Agenter har blivit mer och mer vanliga i takt med att AI-tekniken har utvecklats. Idag är de ett attraktiv alternativ för de som snabbt vill börja analysera sin data. En stor fördel med att använda sig av agenter är att användargränssnittet är likt andra system som de flesta är vana vid att använda sig av; de minst tekniska i teamet vet fortfarande hur de ska skriva en fråga till ChatGPT. Idag finns det flera agentramverk som kommer att funka bra direkt ut lådan. Ramverken är skrivna i språk som de flesta utvecklare känner till vilket gör att man inte måste lära sig ett nytt språk eller ramverk för att implementera sitt analysverktyg.  

Det finns några saker som man ska tänka på om man vill använda agenter istället för traditionella BI-plattformar. När man använder sig av språkmodeller finns det alltid en risk att det genererade svaret inte motsvarar frågan, eller att språkmodellen hallucinerar.  

Dessa kvalitetsproblem kan man hantera genom att sätta upp smarta utvärderingsmetriker. Eftersom vår agent ska svara på frågor från en databas kan man utvärdera svaren på hur pass rätt svaren är. Om man frågar: `hur många nya kunder som skrev upp sig på en tjänst i februari 2026` finns det en siffra som speglar detta (givet att man har en single source of truth och bra datakvalité). Svaret från agenten jämfört med vad den faktiska siffran är ger en uppskattning över hur träffsäker agenten är. Om träffsäkerheten är för dålig kan man jobba på att förbättra agenten.

För den som inte vill utveckla en BI-Agent  

Om man inte vill lägga tid på att utveckla en egen BI-Agent kan man välja att köpa en BI-agent som en SaaS-lösning istället. Detta är ofta ett snabbt sätt att komma igång eftersom man inte behöver lägga ner någon tid på att utveckla lösningen själv.

Det finns tre saker som man ska vara speciellt uppmärksam på om man väljer att köpa in en SaaS-lösning. Beroende på vilket lösning man väljer, kan det finns inlåsningeffekter. Det vill säga att man inte “bara sådär” kan flytta från en plattform till en annan. Om man har egenutvecklad kod kan denna i regel köras lokalt, on-prem eller på vilken molnplattform som helst, men dessa system tenderar att bli dyrare över tid då man betalar för abonnemang för tjänsten utöver den konsumtion som man har. Om man vill koppla på många användare blir abonnemangskostnaderna ganska stora. Dessutom måste man jobba mycket mer med säkerhet då ens data lämnar den egna miljön för en tredjepartslösning.    

“Men vi har ju redan en BI-plattform"  

Nu kanske vissa frågar sig: Vi har redan en BI-plattform idag, ska vi byta till agenter istället? Min erfarenhet säger att det kan finnas en del fall där det faktiskt kan vara en idé att koppla på en agent även om man redan har en fungerande BI-plattform. Den stora fördelen med en väletablerad BI-plattform är att man får en robust plattform för att göra sina analyser.

Ett exempel där det kan finnas en poäng att koppla på en agent även om man redan har en BI-lösning är om man vill följa något specifikt som kanske inte passar in i BI-plattformen. Detta kan vara tidsbegränsade projekt där man vet att man kommer att följa data under en begränsad tid. Eller om man ska följa något som bara är intressant för några av användarna, t.ex., ett specifikt utvecklingsteam som vill följa en ny feature som de har implementerat.  

Genom att inte gå vägen via den existerande BI-plattformen kan man komma igång snabbare, och man undviker att introducera temporära lösning som måste underhållas.  

Summa summarum

Möjligheten att effektivt kunna analysera sin data blir allt viktigare och det kommer att vara en konkurrensfördel för de organisationer som har ett effektivt och robust system för att kunna genomföra analyserna. Idag har agentlösningar blivit så pass bra att det är ett intressant alternativ till traditionella BI system. I de fall som man redan har en fungerande BI-plattform kan agenter vara ett komplement för specifika frågor. Om man vill börja att analysera sin data utan att skriva upp sig för en specifik BI-leverantör kan man börja med en analysagent, för att sedan göra en djupare analys av vilken BI-lösning som man vill välja.  

Nyfiken på oss?

Kul! Vi är nyfikna på dig med. Hör av dig så lär vi känna varandra.