Primjer iz prakse

Kako smo SaaS platformi dodali AI asistenta — a da je nismo pokvarili

Mali SaaS tim imao je zaostatak u podršci i značajku koju njihovi korisnici nisu mogli pronaći. Ovo je iskrena priča o tome kako smo AI asistenta ugradili u njihov proizvod — što je upalilo, što smo bacili i broj koji se napokon pomaknuo.

Have a nice dayHave a nice day11 min čitanja
Kako smo SaaS platformi dodali AI asistenta — a da je nismo pokvarili

Svaki SaaS tim s kojim razgovaramo prije ili kasnije naglas izgovori istu rečenicu: "Trebali bismo ovamo staviti AI asistenta." Ponekad je to pritisak uprave, ponekad lansiranje konkurenta, ponekad je iskreno. Zanimljiv dio nikad nije ideja — gotovo svi imaju ideju. Zanimljiv dio je jaz između te rečenice i značajke na koju se stvarni korisnici doista oslanjaju. Ovo je priča o jednom timu koji ga je prešao i o neblistavim odlukama koje su ih dovele do cilja.

Kratka napomena prije početka: klijenta smo anonimizirali, a brojke zaokružili. Riječ je o maloj, profitabilnoj B2B SaaS tvrtki — manje od dvadeset ljudi — koja operativnim timovima prodaje alat za tijek rada. Promijenili smo dovoljno detalja da ih nećete prepoznati, ali oblik projekta točno je onakav kakav se dogodio. Brojke su ilustrativne, ne revidirane; radije vam pokazujemo obrazac nego uljepšani grafikon.

Ovo pišemo jer je projekt gotovo savršen primjer kako te stvari zapravo idu. Nije išao onako kako je najavila prezentacija s uvodnog sastanka. Išao je bolje — ali samo zato što smo bili spremni obrisati prvu verziju.

Situacija: dva problema u istom kostimu

Kad nas je osnivač prvi put kontaktirao, zahtjev je bio jednostavan: "Želimo AI chatbota u aplikaciji." Tu većina projekata počinje, a tu većina njih i tiho krene po zlu. "AI chatbot" nije cilj, to je oblik. Naš prvi zadatak bio je otkriti koji problem taj chatbot treba riješiti — i je li uopće riječ o jednom problemu.

Nije bilo. Ispod tog jednog zahtjeva krila su se dva potpuno različita bola. Prvi je bio opterećenje podrške: dvočlani tim za korisničku podršku utapao se u ponavljajućim upitima — "kako ovo izvezem", "gdje je postavka za ono", "zašto se moj izvještaj nije izvršio". Otprilike 60 % pristiglih upita bila su pitanja već negdje objašnjena u njihovoj dokumentaciji za pomoć. Drugi bol bio je tiši i skuplji: aktivacija. Njihov proizvod imao je uistinu moćnu značajku skrivenu tri klika duboko, koju gotovo nitko nije otkrio sam. Korisnici koji su je pronašli ostajali su godinama. Oni koji nisu odustajali su u prva dva mjeseca.

Isti kostim, dva problema. I vukli su u različitim smjerovima. Bot za podršku želi odbiti pitanja i maknuti se s puta. Asistent za aktivaciju želi započeti razgovore i gurnuti ljude prema stvarima o kojima nisu ni pitali. Da smo izgradili "AI chatbota" bez razdvajanja toga, izgradili bismo nešto što oba posla radi loše.

“"AI chatbot" je oblik, a ne cilj. Prvi tjedan projekta proveli smo otkrivajući koji nas problem zapravo plaćaju da riješimo.”
— naš voditelj projekta, iz bilješki s uvodnog sastanka
Skica na ploči koja jednu nejasnu kutiju 'AI chatbot' dijeli na dva jasno označena puta — 'odbijanje upita podršci' lijevo i 'aktivacija značajke' desno — s ljepljivim papirićima i strelicama flomasterom, u malom startup uredu
Prvi rezultat nije bio kod. Bila je to spoznaja da jedan zahtjev skriva dva različita problema.

Suženje opsega na nešto što možemo dovršiti

Suočeni s dva problema, dolazi napast da se izgradi veličanstveni asistent koji od prvog dana rješava oboje. Tim smo od toga odgovorili. Ne zato što je vizija bila pogrešna, nego zato što je šestomjesečni "asistent za sve" upravo onakav projekt koji kasni, padne u vodu i sve na iduće dvije godine učini nervoznima oko AI-ja.

Zato smo odabrali jedno. Prvo smo odabrali odbijanje upita podršci, iz tri dosadna ali presudna razloga. Imalo je jasan, mjerljiv cilj — količinu upita. Koristilo je sadržaj koji je već postojao — njihovu dokumentaciju i prošle upite. A ako podbaci, šteta je bila mala: korisnik koji ne dobije dobar odgovor jednostavno je učinio ono što je i inače činio i otvorio upit. Nizak rizik, brza povratna informacija, iskrena mjera. To je uvijek dobra prva AI značajka.

Asistent za aktivaciju nije nestao — parkirali smo ga, na papiru, uz jasnu napomenu: druga faza, čim se sloj dohvaćanja dokaže. Ta jedna odluka vjerojatno je spasila projekt. Timu je dala cilj koji je uistinu mogao dohvatiti u tjednima umjesto u kvartalima.

Prvi prototip koji smo izgradili — i obrisali

Evo dijela koji većina studija slučaja izostavi. Naš prvi ispravan prototip bio je, blago rečeno, loš. Učinili smo očito: povezali smo članke za pomoć proizvoda s velikim jezičnim modelom, dodali chat okvir i pustili korisnike da postavljaju pitanja. U demonstraciji je izgledalo čarobno. U stvarnom testiranju raspalo se na vrlo specifičan, vrlo poučan način.

Model je bio samouvjereno u krivu. Upitan o postavci koja je preimenovana šest mjeseci ranije, veselo je izmislio staru putanju izbornika. Upitan o značajki na višem planu, objasnio je kako je koristiti — korisniku koji joj nije mogao pristupiti. Svaki odgovor zvučao je autoritativno, što je krive činilo gorima od nikakvog odgovora. Bot za podršku koji uljudno laže ne smanjuje broj upita; stvara bjesnije.

Mogli smo to zakrpati doradom uputa. Umjesto toga učinili smo nešto što se činilo korakom unatrag, a ispalo je cijela poanta: bacili smo prvi prototip i ponovno ga izgradili oko strogog pravila — asistent smije odgovoriti samo iz izvora koje može citirati, a inače mora reći "ne znam".

Ilustracija sučelja na podijeljenom ekranu: lijevo odgovor u chatu označen crvenom ikonom upozorenja koji daje samouvjeren ali izmišljen odgovor, desno isto pitanje odgovoreno zelenom kvačicom, kratkim citiranim odgovorom i gumbom 'nisam siguran — obratite se podršci'
Prva verzija zvučala je sjajno i lagala. Druga je odgovarala manje, citirala izvore i imala je više povjerenja.

Što smo zapravo izgradili

Verzija koja je isporučena bila je namjerno skromna u onome što je pokušavala i stroga u tome kako se ponašala. Ispod haube bio je asistent utemeljen na dohvaćanju: kad bi korisnik nešto pitao, sustav bi najprije pretražio pomno održavanu, ažurnu bazu znanja, zatim zatražio od modela da odgovori samo iz onoga što je pronašao, uz poveznicu na izvor. Nema izvora, nema samouvjerenog odgovora — samo uredna predaja čovjeku.

Tri odluke o dizajnu odradile su najveći dio posla, a nijedna nije uzbudljiva. To je i poanta — dosadne odluke obično su one koje odlučuju hoće li AI značajka imati povjerenje ili biti tiho ugašena.

Utemeljenost umjesto dovitljivosti

Svaki odgovor bio je vezan uz stvaran, aktualan dokument. Više vremena proveli smo čisteći i strukturirajući bazu znanja nego podešavajući model. Neblistavo, a daleko najkorisniji posao u projektu. Osrednji model na izvrsnom, dobro održavanom sadržaju pobjeđuje briljantan model na ustajaloj zbrci.

Elegantna predaja

Kad asistent nije bio siguran, nije nagađao. Rekao je to i ponudio predaju čovjeku jednim klikom — noseći kontekst razgovora sa sobom tako da korisnik nikad nije morao ponavljati. Suprotno očekivanju, to je učinilo da ljudi više vjeruju botu: asistent koji priznaje granice djeluje iskreno, pa su se oslanjali na njega za lakih 60 % upravo zato što se povukao kod teških 40 %.

Svjestan tko pita

Budući da je živio unutar proizvoda, asistent je znao korisnikov plan, ulogu i gdje se nalazi u aplikaciji. Zato nikad nije objašnjavao značajku kojoj korisnik nije mogao pristupiti i mogao je reći "gumb koji tražite je na ekranu na kojem već jeste." Ta svijest o proizvodu prava je prednost asistenta unutar aplikacije nad generičkim chatbotom prilijepljenim na marketinšku stranicu.

  1. 1
    Očistili i strukturirali bazu znanja
    Pregledali smo svaki dokument za pomoć, uklonili zastarjele, a ostatak označili prema planu i značajki. To je bio prvi tjedan i bio je najvažniji.
  2. 2
    Izgradili sloj dohvaćanja
    Prvo pretraga, zatim odgovor. Model je uvijek vidio samo provjeren, aktualan sadržaj — uz uputu da odbije sve što ne može utemeljiti u izvoru.
  3. 3
    Povezali kontekst proizvoda
    Povezali smo asistenta s korisnikovim planom, ulogom i trenutačnim ekranom, tako da su odgovori bili prilagođeni i nikad nisu upućivali na značajke koje ne mogu koristiti.
  4. 4
    Osmislili iskrenu rezervnu opciju
    Izgradili smo put 'nisam siguran — evo čovjeka' kao prvorazrednu značajku, uz potpuni kontekst razgovora predan timu podrške.
  5. 5
    Isporučili za 10 % korisnika iza zastavice
    Tiho smo uveli značajku dijelu računa, dva tjedna pratili stvarne razgovore, popravili što je pucalo, pa proširili uvođenje.

Rezultati — i onaj koji nas je iznenadio

Nakon što je asistent bio uživo za sve otprilike tri mjeseca, slika je bila jasna. Dat ćemo vam zaokružene, ilustrativne brojke — smjer je važniji od decimala.

PokazateljPrijePoslijePromjena
Ponavljajući upiti podršci~100/tjedan~45/tjedanOtprilike pola, preusmjereno
Medijan prvog odgovora~5 satiGotovo trenutan za uobičajena pitanjaIz sati u sekunde
Fokus tima podrškeUglavnom ponavljajuća pitanjaUglavnom složeni, vrijedni slučajeviBolja iskorištenost dvoje ljudi
Stopa 'ne mogu odgovoriti' asistenta—~20 % (predano ljudima)Iskreno, ne skriveno
Otprilike gdje su stvari završile nakon tri mjeseca, u usporedbi s polaznim stanjem prije lansiranja. Brojke su zaokružene i ilustrativne.

Broj podrške bio je onaj koji smo obećali i on je isporučio: nešto više od pola ponavljajućih upita jednostavno je prestalo pristizati, a dvočlani tim dobio je natrag svoj tjedan za slučajeve kojima je čovjek uistinu trebao. Dobar ishod, točno kako je zamišljeno.

No rezultat koji je osnivača zapravo iznenadio bio je onaj za koji uopće nismo optimizirali. Budući da je asistent cijeli dan odgovarao na pitanja "kako radim X", prirodno je stalno upućivao korisnike prema toj skrivenoj, ljepljivoj značajki — onoj vezanoj uz zadržavanje. Asistenta za aktivaciju još nismo izgradili. Bot za podršku tiho je odrađivao dio njegova posla kao nuspojavu, samo time što je bio koristan i svjestan proizvoda. Novi korisnici pronalazili su značajku tjednima ranije nego prije.

“Isporučili smo alat za podršku. Ispao je alat za uvođenje korisnika odjeven u ruho alata za podršku — što je upravo razlog zašto je druga faza dobila zeleno svjetlo.”
— iz tromjesečne analize
Čist uređivački linijski grafikon na ekranu prijenosnog računala koji pokazuje tjedne upite podršci koji padaju za otprilike pola tijekom tri mjeseca, s drugom blijedom rastućom linijom označenom 'otkrivanje značajke' u pozadini, gledano preko ramena olakšanog osnivača
Pokazatelj koji smo obećali pomaknuo se kako je planirano. Blijeda druga linija — otkrivanje značajke — ona je koju nitko nije očekivao.

Što bismo rekli idućem timu

Ako ste SaaS tim koji zuri u istu rečenicu "trebali bismo dodati AI asistenta", nekoliko stvari iz ovog projekta dobro se generalizira i izvan njega.

  • Razdvojite probleme prije nego što gradite. "AI chatbot" gotovo uvijek skriva dva ili tri različita posla koji žele različit dizajn.
  • Počnite od slučaja u kojem pogrešan odgovor najmanje stoji. Odbijanje upita podršci gotovo je savršen prvi potez; rezervna opcija je status quo.
  • Predvidite najviše truda za sadržaj, a ne za model. Utemeljenost na čistim, aktualnim podacima čini asistenta vrijednim povjerenja.
  • Neka 'ne znam' bude značajka, a ne neuspjeh. Iskrena predaja gradi povjerenje zbog kojeg se korisnici oslanjaju na dijelove koje bot radi dobro.
  • Prvo isporučite iza zastavice manjem dijelu. Stvarni razgovori naučit će vas ono što nijedna demonstracija neće.

Razmišljate o AI značajki u svom proizvodu?

Najteži dio rijetko je model — riječ je o tome da se stvar tako definira da se isporuči i zadobije povjerenje. Pomažemo SaaS i softverskim timovima da otkriju što se uistinu isplati graditi, a onda to i izgradimo. Prvi razgovor košta vas samo vrijeme.

Pogledajte kako gradimo AI značajke

Česta pitanja

Koliko je trajao ovaj projekt?
Od uvodnog sastanka do potpunog uvođenja prošlo je otprilike tri mjeseca, uključujući prototip koji smo bacili i postupno izdanje iza zastavice značajke. Fokusirana prva AI značajka poput ove obično je stvar tjedana do nekoliko mjeseci, a ne godine — pod uvjetom da opseg držite uskim. Ono što raznese rokove jest pokušaj da se 'asistent za sve' izgradi prvog dana.
Treba li nam golema količina podataka za dodavanje AI asistenta?
Ne. Za asistenta podrške 'podaci' su uglavnom sadržaj za pomoć i prošli upiti koje već imate. Posao nije skupljati više — nego očistiti i strukturirati ono što postoji kako bi asistent svoje odgovore mogao utemeljiti u nečemu točnom i aktualnom. Većina timova iznenadi se koliko upotrebljivog materijala već ima.
Neće li AI asistent davati korisnicima pogrešne odgovore?
Hoće, osim ako to ne spriječite dizajnom. Najvažnija odluka u ovom projektu bila je zabraniti asistentu da odgovori na bilo što što ne može vezati uz stvarni izvor i dati mu uredan način da kaže 'nisam siguran, evo čovjeka.' Izgrađen tako, pouzdano odgovara na laku većinu i povlači se kod ostatka — što upravo zaslužuje povjerenje korisnika.
Trebamo li ovo graditi sami ili dovesti pomoć?
Oboje može upaliti, ali način neuspjeha isti je: podcjenjivanje koliko rezultat ovisi o neblistavom temeljnom radu — čišćenju sadržaja, dohvaćanju, zaštitnim mehanizmima, iskrenoj rezervnoj opciji — a ne o samom modelu. Ako vaš tim ima vremena to učiniti pažljivo, sjajno. Ako nema, upravo je to dio gdje vam iskusan partner uštedi koji obrisani prototip.
Koja je razumna prva AI značajka za SaaS proizvod?
Odaberite onu gdje vas pogrešan odgovor najmanje stoji i gdje je pokazatelj očit. Odbijanje upita podršci odgovara na oboje: rezervna opcija je jednostavno ono što su korisnici i prije radili, a količinu upita možete izravno mjeriti. Kad se to dokaže i zadobije povjerenje, zaslužili ste pravo baviti se slučajevima s višim ulogom poput uvođenja, aktivacije ili vođenja unutar proizvoda.
Have a nice day
Have a nice day
Uredništvo

Have a nice day softverski je studio koji pomaže malim i srednjim poduzećima u digitalizaciji — automatizacija, umjetna inteligencija i softver po mjeri koji radi u svakodnevnom poslovanju, a ne samo na slajdovima.

Povezane usluge