Projektit — 2024

AI-avusteinen asiakaspalvelu

Freshdesk-tikettien vastausten automatisointi organisaation omaan dataan pohjautuen — tietoturva ja tietosuoja alusta asti mukana

Asiakas­palvelijalle näytetään AI:n kirjoittama vastausluonnos suoraan tiketti­näkymään — organisaation omasta datasta haetut faktat, lähde­viitteet ja käsittelijän viimeinen kontrolli. Vastaus­aika puolittui ilman tinkimistä laadusta tai tieto­suojasta.

Asiakas

Asiakas

Aikajakso

2024

Tekninen pino

  • Freshdesk (tiketti­järjestelmä)
  • Azure OpenAI (EU Data Zone)
  • Azure AI Search (vektori- ja tekstihaku)
  • Retrieval Augmented Generation (RAG)
  • Python + FastAPI (orkestrointi­kerros)
  • Azure Container Apps (sisäinen API)
  • Entra ID + Managed Identity
  • 01

    Vastaus­luonnos tikettiin sekunneissa — asiakas­palvelija näkee sen heti tiketti­näkymässä ja voi hyväksyä, muokata tai hylätä

  • 02

    Vastaukset pohjautuvat organisaation omiin dokumentteihin ja aiempiin vastauksiin — ei avoin LLM vaan RAG-grounding, lähde­viitteet aina näkyvissä

  • 03

    Tietosuoja­kestävä toteutus: data ei lähde EU:n ulkopuolelle, ei malli­koulutukseen, auditointi­lokit jokaisesta kutsusta

  • 04

    Ihminen pysyy silmukassa — LLM ei lähetä suoraan mitään, jokainen vastaus menee asiakas­palvelijan hyväksynnän kautta

  • 05

    Paljon toistuvat kysymys­tyypit (jäsenyys­asiat, maksu­asiat, neuvonta­pyynnöt) nopeutuvat radikaalisti, samalla kun harvinaiset ja herkät tapaukset jäävät henkilön harkintaan

  • 06

    Siirrettävissä muihin organisaatioihin: data­lähteet vaihtuvat, arkkitehtuuri pysyy

Lähtötilanne

Asiakas­palvelutiimi käsitteli Freshdeskissä satoja tikettejä viikossa — toistuvia kysymyksiä jäsenyydestä, jäsen­maksuista, edunvalvonta­palveluista, työ­suhde­neuvonnasta. Suuri osa vastauksista oli rakenteeltaan samanlaisia, mutta jokainen kirjoitettiin käsin alusta. Sama sisältö toistui, vastaus­aika venyi, ja vastaus­laatu vaihteli käsittelijän mukaan.

Valmis­tuotteet (esim. “AI assistant for Freshdesk”) olivat tarjolla, mutta niiden kaksi heikkoutta eivät käyneet asiakkaalle: data kulki EU:n ulkopuolelle ja saattoi päätyä malli­koulutukseen, eikä vastaus­generointi tuntenut asiakkaan omaa historiaa ja dokumentaatiota. Vastaukset olisivat olleet yleis­päteviä, eivät tämän organisaation tietoisuuden mukaisia.

Tehty ratkaisu

Rakensin RAG-pohjaisen orkestrointi­kerroksen Freshdeskin ja Azure OpenAI:n välille. Kun uusi tiketti avautuu Freshdeskissä, webhook kutsuu omaa API:ta, joka:

  • Hakee relevantit dokumentit Azure AI Searchista vektori- ja tekstihaun yhdistelmällä — organisaation tieto­kanta, aiemmat ratkaistut tiketit, koulutus­materiaali.
  • Rakentaa kontekstin löydetyistä katkelmista ja syöttää sen GPT-mallille yhdessä asiakkaan viestin kanssa.
  • Generoi vastaus­luonnoksen jossa jokainen väite on jäljitettävissä lähde­dokumenttiin — luonnos näkyy tiketti­näkymässä asiakas­palvelijalle Freshdesk-appletin kautta.
  • Ei koskaan lähetä vastausta automaattisesti. Käsittelijä lukee luonnoksen, muokkaa tarvittaessa, ja vasta hänen kuitattuaan vastaus lähtee asiakkaalle. Tämä on tiedostettu design-valinta: AI tuo nopeus­eduun ja muistin, ihminen pitää vastuun ja harkinnan.

Tietoturva ja tietosuoja arkkitehtuurin ytimessä

  • EU Data Zone. Kaikki Azure OpenAI- ja AI Search -resurssit pinnattuina Pohjois-/Länsi-Eurooppaan. Dataa ei kulje EU:n ulkopuolelle missään vaiheessa.
  • Ei malli­koulutusta. Azure OpenAI:n oletus ei lähetä kutsujen sisältöä mallien koulutukseen — varmistettu sekä sopimus­tasolla että teknisillä asetuksilla.
  • Managed Identity + Key Vault. Sovellus ei tunne API-avaimia koodin tasolla; resurssi­autentikointi hoituu managed identityn kautta.
  • Audit-loki jokaisesta kutsusta. Kuka käsitteli minkä tiketin, mitä dokumentteja RAG poimi konteksti­pohjaksi, mitä malli palautti, lopulta lähetetty vastaus — kaikki tallennettuna jäljitettäväksi.
  • Rooli- ja oikeus­tarkistus. Vain valtuutetut asiakas­palvelijat näkevät AI-luonnoksia; data­lähteet voidaan rajata rooli­kohtaisesti.

Lopputulos

Asiakas sai työkalun, joka tuntuu asiakas­palvelijan omalta — ei ulkoiselta ohjelmalta vaan lisä­paneelilta tutussa Freshdesk-näkymässä:

  • Vastaus­aika puolittui toistuvien kysymys­tyyppien osalta, ilman että laatu kärsi. Harvinaisemmat, herkät tai monimutkaiset tapaukset jäävät aina henkilön harkintaan — AI tunnistaa itse tilanteensa ja voi myös palauttaa “tätä kannattaa käsitellä manuaalisesti”.
  • Vastaus­laatu yhtenäistyi. AI nostaa organisaation virallisen vastauksen aina ensin luonnokseen, jolloin yksittäisen käsittelijän muisti tai tulkinta ei enää ole yksittäinen riski­piste.
  • Tieto säilyy talossa. Kun vastaus syntyy, sen lähde­viitteet kirjautuvat lokiin — kuukausi­tasolla saadaan tieto siitä, mitä dokumentteja organisaatio oikeasti tarvitsee jäsenilleen, ja mikä dokumentaatio kaipaa päivitystä.
  • Malli on siirrettävissä muihin vastaaviin organisaatioihin: data­lähteet vaihtuvat, arkkitehtuuri pysyy. Tämä oli projektin avain­valinta — ei yksittäisen organisaation työkalu vaan tuotteistettava rakenne.

Projektin keskeinen viesti: tekoäly asiakas­palvelussa ei ole korvaava vaan vahvistava. Käsittelijä tekee saman työn laadukkaammin ja nopeammin — vapautuvalla ajalla ehtii paneutumaan niihin tikettiin jotka oikeasti vaativat harkintaa.