Itsenäisyys, autonomisuus, prosessien tehostaja – muun muassa nämä ovat ominaisuuksia, joita agentteihin usein liitetään. AI-hypen keskellä agentit herättävät isojakin odotuksia ja väärinkäsityksiä siitä, mitä ne ovat sekä mihin ne pystyvät tai eivät pysty. Omasta agentista haaveilevan kannattaakin jäsennellä agentin sisäinen rakenne pienempiin osiin, jotta ratkaistavan ongelman kannalta kriittisiä teknologioita on helpompi vertailla keskenään.
Fraktion Tekoälyagentit-webinaarissa konsulttimme Martti Vesalainen ja toimarimme Joonas Pajunen kävivät läpi, mitkä ovat tekoälyagentin keskeisimmät osat kehittäjän näkökulmasta ja millaisiin tarpeisiin eri agentteja voidaan käyttää. Webinaarin tallenteen voit katsoa blogin lopusta tai Fraktion YouTube-kanavalta.
Keskusteluissa menevät herkästi sekaisin erilaiset trendikkäät käsitteet, kuten tekoäly, agentti ja kielimalli. Esimerkiksi valmiit kaupalliset tekoälypalvelut ja -agentit, kuten ChatGPT, Gemini, Claude ja Googlen hakutulosten AI-yhteenvedot, taipuvat toisinaan keskusteluissa yhdeksi kielimalliksi tai tekoälyksi.
Yksinkertaistettuna agentiksi tai agenttiseksi työnkuluksi voidaan kutsua sellaista sovellusta, johon on integroitu kielimalli ja joka suorittaa itsenäisesti tehtäviä saavuttaakseen jonkin tavoitteen. Mikäli tavoitteena on kehittää tällaisia älykkäitä ja agenttisia ohjelmistoja, voi olla hyödyllistä hahmottaa, mitä milläkin konseptilla tarkoitetaan. Esimerkiksi nykyään on tarjolla lukuisia erilaisia kielimalleja kaupallisista itse ylläpidettyihin avoimen lähdekoodin kielimalleihin. Jotta kehittäjä osaa valita oikean mallin oikeaan tarpeeseen, on tärkeää ymmärtää, mikä erottaa kielimallin ja agentin toteuttaman logiikan. Seuraavaksi käsittelemme ylätasolla kahta oleellisinta komponenttia agenttisessa sovelluksessa: kielimallia sekä sovelluslogiikkaa.
Mitä kielimalli tekee (yksinkertaistettuna)
Agenttien mahdollisuuksiin pääsee helpoiten kiinni, kun ajattelee kielimallia aluksi yksinkertaisena koneena. Kone ennustaa lisää sanoja (tokeneita) edellä olevien sanojen jatkoksi. Yksinkertaistaen kone siis valitsee aina todennäköisimmän seuraavan merkin.

Kuva: Yksinkertainen generatiivinen kielimalli
Agenttien yleistymisen taustalla on kaksi kehityskulkua: kielimallien parantuneet algoritmit ja laskentatehon halventuminen, jonka ansiosta malleja voidaan kouluttaa pidemmillä päättelyketjuilla ja laajemmilla konteksteilla.
Kontrollimerkit (control tokens) olivat innovaatio, joka mahdollisti agentit. Niiden avulla syöte (merkkijono) parsitaan säännöllisellä kielellä sellaiseksi, mitä perinteinen sovelluslogiikka pystyy suorittamaan. Näin kielimalli tuottaa tekstiä, joka kertoo, mitä pitäisi tehdä, ja sovellus hoitaa tekemisen.

Kuva: kielimalli ja sovelluslogiikka
Maallikon kielellä voidaan sanoa, että kielimalli kertoo tietokoneelle, mitä tehdä. Mutta koska olemme varovaisia inhimillistämään tekoälyä tai ohjelmistoja, sanomme sen sijaan, että “kielimalli tuottaa vastauksen, joka voidaan käsitellä ohjelmallisesti”.
Mikä on agentti?
Ohjelmistokehittäjän näkökulmasta tekoälyagentti on sovellus, johon on integroitu kielimalli. Pelkkä kielimalli ei yksinään riitä luomaan agenttia, koska se toimii input-output-logiikalla. Tekstiä sisään ja tekstiä ulos. Agentti syntyy vasta, kun kielimalliin yhdistetään agent loop ja työkalut.

Kuva: Tekoälyagentti, joka sisältää kielimallin, sovelluslogiikan ja agenttisilmukan
Agent loop
Agent loop on se, mikä tekee agentista agentin. Suomeksi voidaan puhua myös toistolauseesta tai silmukasta. Tällä tarkoitetaan silmukkarakennetta, jossa mallin tuottama vastaus palautetaan sovellukseen, sovellus tekee sillä jotain, kuten hakee dataa halutusta lähteestä, ja tulos syötetään takaisin mallille. Tätä looppia toistetaan niin kauan kuin tehtävä vaatii. Silmukoiden määrä riippuu tehtävän monimutkaisuudesta. Yksinkertainen kysymys saattaa vaatia yhden kierroksen, monimutkainen analyysi kymmenen.
Nykyiset ChatGPT:t ja vastaavat agentit toimivat juuri näin. Kun kysyt siltä ajankohtaista tietoa, se hakee tietoa verkosta useista lähteistä, käy ne läpi loopissa ja tekee lopuksi yhteenvedon.
Työkalut ja agenttinen järjestelmä
Kolmas osa agenttia on työkalut. Työkalut ilmentyvät sovelluslogiikan kautta. Sovelluksessa voi olla toimintoja, joita kielimalli voi pyytää suorittamaan, kuten tietokantahaku, rajapintakutsu, tiedoston muokkaus tai sähköpostin lähetys.
Agentista voidaan puhua silloin, kun järjestelmä suorittaa tehtäviä itsenäisesti kohti jotain tavoitetta, käyttää silmukkaa päättelyssä, ja pystyy vaikuttamaan ympäröiviin järjestelmiin työkalujen ja rajapintojen kautta.
Esimerkiksi asiakaspalvelujärjestelmä, joka ottaa vastaan viestin, hakee asiakkaan tiedot CRM:stä, luokittelee viestin, ohjaa sen oikealle tiimille ja tallentaa tapahtumat lokiin, on agenttinen järjestelmä eli agentti.
Kolme eri agenttityyppiä
Kun olet tunnistanut ongelman, jonka agentti voisi ratkaista, edessä on teknologiavalinta. Agenttityypit eroavat eniten siinä, missä malli ja sovellus on hostattu. Valinta toteutuksen välillä riippuu usein yrityksestä ja siitä, millaista ongelmaa ollaan ratkaisemassa: onko kyseessä uniikki bisneshaaste, halutaanko automatisoida sisäistä prosessia tai onko data arkaluontoista.
Minkälaisen agentin kanssa pitäisi siis lähteä liikkeelle? Jaamme vaihtoehdot karkeasti kolmeen eri kategoriaan:
Agenttiset pilvipalvelut
Agent as a service -tyyppiset agentit, kuten ChatGPT, Gemini ja Claude. Ne pyörivät jossain pilvessä, niin kuin muutkin SaaS-softat. Niitä on käytetty jo vuosia tiedonhakuun, sisällön tuotantoon, tiedon yhteenvetoihin ja tiivistämiseen.
Hallinnoidut kaupalliset agentit ovat tällä hetkellä myös korvaamassa käyttöliittymiä joissain tapauksissa. Agentin kanssa voi jutella suoraan oman kalenterin tai CRM:n sisällöstä. Se poistaa tarvetta hyppiä järjestelmien välillä, jos integraatiot on kytketty ja data liikkuu.
Hallinnoitujen agenttien sovellus ja kielimalli pyörivät palveluntarjoajan ympäristössä. Kaikki data, jonka syötät, kulkee heidän palvelimiensa kautta ja mahdollisesti tallennetaan heidän järjestelmiinsä. Nopein tapa päästä liikkeelle, mutta vähiten kontrollia. Tietosuojan ja -turvan näkökulmasta ratkaisu, joka vaatii yrityksen yhteisiä käytäntöjä ja pelisääntöjä.
Omaan ympäristöön asennettavat agentit
Oma sovellus ja kolmannen osapuolen kielimalli ovat yleisin tapa rakentaa ensimmäinen agentti. Oma sovellus pyörii omalla palvelimella tai pilvessä, mutta kielimalli kutsutaan ulkoisen osapuolen, kuten Anthropicin tai OpenAI:n rajapinnan kautta.
Sovelluksen logiikka on omissa käsissä, mutta kaikki mallille syötetty data kulkee silti palveluntarjoajan kautta. Lisenssien käyttöehdot ratkaisevat, mitä datalle tapahtuu. Tietosuojan näkökulmasta edelleen puhuttava ratkaisu, jossa on oltava tarkkana, mitä dataa ja oikeuksia agentille antaa.
Oma agentti omalla kielimallilla
Oma agentti, oma malli tarkoittaa, että sekä sovellus että kielimalli pyörivät yrityksen omassa ympäristössä. Täysi kontrolli ja läpinäkyvyys agenttiin ja dataan, mutta myös täysi vastuu sen ylläpidosta ja tietoturvasta. Avoimen lähdekoodin kielimallit, kuten Llama ja Qwen ovat käytettävissä, mutta niiden laatu koetaan olevan tällä hetkellä vielä jonkin verran heikompi kuin isojen kaupallisten mallien. Ero kuitenkin kapenee jatkuvasti.
Valitse agenttisi
Hyvä lähtökohta päätöksille on ymmärrys omasta tai yrityksenne tarpeesta.
Jos organisaatiossa on jo Microsoftin tai Googlen lisenssit käytössä, valmiit pilvipohjaiset agentit ovat luonteva aloituspaikka. Jos taas haluat ensin ymmärtää, miten agentit toimivat käytännössä, kokeilut ja harrasteprojektit esimerkiksi koodiagenttien kanssa ovat hyvä tapa rakentaa ymmärrystä.
Jos taas kyse on organisaatiotason agentista, jolla halutaan ratkaista bisnesongelmaa tai arvostetaan alustariippumattomuutta, oman agentin toteuttaminen joko kaupallisella tai omalla mallilla on todennäköisesti paras vaihtoehto.
Se, millaisen agenttitoteutuksen valitset, riippuu usein siitä, kuinka arkaluonteista dataa prosessissa liikkuu, kuinka paljon kontrollia organisaatio tarvitsee, ja missä vaiheessa tekoälyn hyödyntämisen oppimiskäyrää ollaan.
