Chatbot vai tekoälyagentti, valmis palvelu vai itse rakennettu?
Mikä ero on chatbotilla ja tekoälyagentilla, milloin valmis palvelu riittää ja mitä itse rakennettu vaatii: RAG, pgvector ja WordPress-synkronointi.
Chatbot vastaa kysymyksiin, tekoälyagentti hoitaa tehtäviä. Useimmille yrityksille paras ensimmäinen askel on chatbot, joka vastaa oikein yrityksen omien tietojen perusteella. Agentti tarvitaan, kun botin pitää myös tehdä jotain, kuten tarkistaa tilauksen tila tai varata aika. Valmis palvelu riittää usein yksinkertaiseen käyttöön. Kun botin pitää tuntea verkkokaupan tuotteet, varastosaldot ja hinnat ajantasaisesti, tarvitaan itse rakennettu ratkaisu ja siinä on enemmän osia kuin moni odottaa.
Mikä ero on chatbotilla ja tekoälyagentilla?
Chatbot keskustelee. Hyvä chatbot hakee vastauksen yrityksen omasta aineistosta, kuten sivustolta, ohjeista ja tuotetiedoista. Se myös kertoo, mistä tieto on peräisin.
Tekoälyagentti käyttää lisäksi työkaluja. Se voi hakea tietoa järjestelmistä, esimerkiksi tilauksen tilan WooCommercesta. Se voi myös tehdä toimenpiteitä, kuten luoda tukipyynnön. Siksi agentin oikeudet pitää rajata tarkasti ja tärkeät toimenpiteet jätetään ihmisen hyväksyttäviksi.
Riittääkö valmis palvelu?
Valmiissa chatbot-palveluissa annetaan sivuston osoite tai ladataan dokumentteja ja botti on käytössä samana päivänä. Ne sopivat, kun:
- sisältö muuttuu harvoin, esimerkiksi ohjeet ja usein kysytyt kysymykset
- botin ei tarvitse tietää mitään asiakaskohtaista
- riittää, että vastaukset ovat suurin piirtein oikein.
Ongelmat alkavat verkkokaupassa. Hinta, varastosaldo ja tuotevalikoima muuttuvat päivittäin ja valmis palvelu lukee sivuston uudelleen omassa tahdissaan. Silloin botti voi kertoa, että tuotetta on varastossa, vaikka se loppui eilen.
Miksi "rakenna mulle chatbot" ei riitä?
Tekoälyltä voi pyytää chatbotin ja se tekee toimivan näköisen version nopeasti. Pyynnöstä jää kuitenkin puuttumaan kaikki se, mikä tekee botista luotettavan: mistä tieto tulee, miten se pysyy ajan tasalla, mitä botti saa tehdä ja miten virheet huomataan. Tuotantokelpoinen botti on enemmän tiedonhallintaa kuin keskustelua.
Mitä itse rakennettu chatbot vaatii?
RAG eli haku ennen vastausta
Kielimalli ei tunne yrityksesi tuotteita. RAG-mallissa (retrieval-augmented generation) jokaisen kysymyksen kohdalla haetaan ensin sopivat tekstinpätkät omasta aineistosta ja annetaan ne mallille vastauksen pohjaksi. Ratkaisun laatu riippuu lähes kokonaan tästä hausta.
Aineiston pilkkominen ja vektorit
Sisältö pilkotaan sopivan kokoisiksi paloiksi ja jokaisesta lasketaan vektori eli numeerinen esitys sen merkityksestä. Kysymykselle lasketaan samanlainen vektori ja haku etsii merkitykseltään lähimmät palat. Palojen rajat vaikuttavat vastausten laatuun: jos tuotteen nimi ja hinta päätyvät eri paloihin, botti voi yhdistää väärät tiedot.
PostgreSQL ja pgvector
Vektorit tallennetaan tietokantaan. Erillistä vektoritietokantaa ei yleensä tarvita: pgvector on PostgreSQL-laajennus, joka tallentaa vektorit tavallisen tiedon rinnalle ja tukee nopeita hakuindeksejä. Siitä on kaksi isoa etua:
- Vektorihaun voi yhdistää tavalliseen suodatukseen samassa kyselyssä, esimerkiksi "vain varastossa olevat tuotteet, suomenkieliset tekstit, hinta alle 100 euroa".
- Vektorihaun voi yhdistää perinteiseen tekstihakuun. Tuotekoodit ja mallinimet löytyvät tekstihaulla paremmin kuin merkityksen perusteella.
Synkronointi WordPressistä ja WooCommercesta
Tieto pitää saada tietokantaan ja pitää se ajan tasalla. Teen tähän yleensä oman WordPress-lisäosan, joka:
- avaa rajapinnan, joka palauttaa sisällön ja tuotteet botille sopivassa muodossa. Pohjana on WordPressin REST API ja vain tarvittavat kentät palautetaan.
- ilmoittaa muutoksista heti. Kun tuote tai sivu tallennetaan tai poistetaan, lisäosa lähettää tiedon botin taustapalveluun, joka päivittää vektorit. Poistot ovat tärkeitä: poistetusta tuotteesta ei saa enää vastata.
- huomioi monikielisyyden ja näkyvyyden. Luonnoksia, salasanasuojattuja sivuja tai piilotettuja tuotteita ei viedä botille.
Varastosaldot ja hinnat kannattaa usein hakea suoraan WooCommercen rajapinnasta vastaushetkellä eikä tallentaa vektoreihin, koska ne muuttuvat jatkuvasti.
Agentin työkalut ja oikeudet
Kun botti saa työkaluja, jokainen työkalu on oma rajapintansa, jolla on tarkat oikeudet. Tilauksen tilan saa tarkistaa vain tunnistettu käyttäjä ja vain omasta tilauksestaan. Agentti ei saa käyttää ylläpitäjän tunnuksia.
Tietoturva ja kehoteinjektiot
Tekoälysovellusten yleisin uhka on kehoteinjektio, joka on OWASP:n LLM-riskilistan kärjessä. Siinä käyttäjä tai jokin aineistoon päätynyt teksti yrittää saada mallin toimimaan ohjeiden vastaisesti. Siksi agentin oikeudet rajataan niin, ettei se voi tehdä mitään vahingollista, vaikka injektio onnistuisi.
Lokit, arviointi ja kustannukset
Jokainen kysymys, haetut lähteet ja vastaus kirjataan lokiin. Lisäksi tehdään testikysymysten sarja, jolla tarkistetaan, ettei botti huonone, kun aineisto tai malli vaihtuu. Kustannukset muodostuvat kielimallin käytöstä, vektorien laskennasta ja palvelimesta. Ne kannattaa arvioida etukäteen todellisella kysymysmäärällä.
Tietosuoja
Selvitä, mihin maahan ja kenelle data lähtee, onko palveluntarjoajan kanssa tietojenkäsittelysopimus ja käytetäänkö keskusteluja mallien koulutukseen. Asiakastietoja ei viedä vektoreihin ollenkaan, vaan ne haetaan tarvittaessa rajapinnasta käyttäjän luvalla.
Kumpi kannattaa valita?
- Valmis palvelu, jos haluat kokeilla nopeasti, sisältö on pääosin pysyvää eikä botin tarvitse tehdä mitään.
- Itse rakennettu chatbot, jos botin pitää tuntea verkkokaupan ajantasaiset tiedot, toimia usealla kielellä tai yhdistyä muihin järjestelmiin.
- Agentti, kun botin pitää hoitaa tehtäviä. Aloita yhdellä selkeällä tehtävällä ja laajenna vasta, kun se toimii.
Autan valinnassa ja rakennan ratkaisun. Lue lisää tekoälyagenteista ja integraatioista.
Usein kysyttyä
Tarvitaanko erillinen vektoritietokanta?
Yleensä ei. PostgreSQL ja pgvector riittävät useimpiin yritysten tarpeisiin ja tiedot pysyvät samassa tietokannassa muun sovelluksen kanssa. Erillinen vektoritietokanta voi olla perusteltu, kun aineistoa on hyvin paljon.
Voiko botti vastata väärin?
Voi. Siksi botti näyttää lähteet, jolloin käyttäjä voi tarkistaa ne. Lisäksi botti ohjeistetaan kertomaan, kun vastausta ei löydy aineistosta. Testikysymyksillä seurataan, kuinka usein virheitä tulee.
Toimiiko tämä WordPress-sivustolla ilman verkkokauppaa?
Toimii. Synkronointi toimii samalla tavalla sivuille, artikkeleille ja omille sisältötyypeille, esimerkiksi ACF:llä tehdyille kentille.
Tarvitsetko apua?
Kerro, mitä tarvitset, niin mietitään yhdessä, miten asia kannattaa hoitaa.