Testi tehisintellekti OMA veebisaidil 60 sekundiga
Vaata, kuidas meie tehisintellekt analüüsib koheselt sinu veebisaiti ja loob personaliseeritud vestlusroboti - ilma registreerimiseta. Sisesta lihtsalt oma URL ja jälgi, kuidas see toimib!
Säde, mis kõik alguse sai
Olin huviga jälginud tehisintellekti ja suurte keelemudelite plahvatuslikku kasvu, aga enamasti pealtvaatajana. Muidugi olin mänginud ChatGPT ja Claude'iga nagu kõik teisedki, aga oma tehisintellekti assistendi loomine tundus olevat midagi, mis on reserveeritud meeskondadele, kellel on sügavad rahakotid ja sügavam kogemus. Sellegipoolest ei suutnud ma vabaneda mõttest, et kohandatud vestlusrobot – selline, mis tundis minu äri läbi ja lõhki – võiks olla lahendus, mida ma hädasti vajasin.
See, mis algas nädalavahetuse projektina aja kokkuhoiuks, arenes kuuekuuliseks kinnisideeks, mis muutis põhjalikult minu lähenemist tarkvaraarendusele, kasutajakogemusele ja inimese ja arvuti interaktsiooni olemusele. See on lugu sellest, kuidas ma oma vestlusroboti ehitasin, mida ma selle käigus õppisin ja miks võiksite ka sina ühe luua.
Õige tehnoloogiapaketi valimine
Pärast nädalatepikkust uurimistööd ja mitmeid kontseptsiooni tõestuse teste otsustasin hübriidse lähenemisviisi kasuks. Kasutaksin ajuna viimistletud avatud lähtekoodiga keelemudelit koos otsingu-laiendatud genereerimise (RAG) süsteemiga, et anda sellele juurdepääs minu veebisaidi dokumentatsioonile ja KKK sisule. See võimaldaks vestlusrobotil omada üldist intelligentsust, olles samal ajal spetsiifiliselt teadlik minu ettevõttest.
Mudeli enda jaoks valisin Mistrali 7B parameetrimudeli – piisavalt väike, et töötada minu tagasihoidlikul serveril, kuid piisavalt võimas, et käsitleda loomulikku keelt muljetavaldava soravuse ja täpsusega. RAG-komponent kasutaks vektorandmebaasi (Pinecone) minu dokumentatsiooni manustamiseks, võimaldades vestlusrobotil küsimustele vastates asjakohast teavet hankida. Esiosa ehitati Reactiga, API-kõnede ja töötlemise eest vastutas Node.js-i taustsüsteem. Valisin WebSocketsi, et säilitada kasutajatega vestluslik ühendus, mis võimaldas loomulikumat suhtlust ilma lehtede uuesti laadimiseta.
See pakett andis mulle vajaliku paindlikkuse, hoides samal ajal kulud hallatavana. Avatud lähtekoodiga alus tähendas, et ma ei olnud seotud API-hindadega, mis võisid hüppeliselt tõusta, kui mu sait ootamatult populaarseks muutuks, samas kui vektorandmebaasil põhinev lähenemisviis tagas, et minu vestlusrobotil oleks alati juurdepääs minu teenuste kohta käivale kõige ajakohasemale teabele.
Andmete kogumine ja koolitus: teie vestlusroboti elujõud
Alustasin sadade e-kirjavahetuste, tugipiletite ja reaalajas vestluste logide läbi kammimisega. Anonüümisin need andmed, eraldades inimeste esitatud küsimuste mustrid ja – mis kõige tähtsam – kuidas ma neile vastasin. See andis mulle koolitusnäiteid, mis peegeldasid minu tegelikku tooni, tehnilise detailsuse taset ja probleemide lahendamise lähenemisviisi.
Struktureeritud teadmiste saamiseks lõin põhjaliku KKK-dokumendi, mis hõlmas kõike alates hinnaküsimustest kuni tehniliste spetsifikatsioonideni. Samuti dokumenteerisin levinud tõrkeotsingu töövooge, jäädvustades otsustuspuid, mida ma alateadlikult järgin klientide probleemide diagnoosimisel.
Koolitusprotsess ise oli iteratiivne ja alandlik. Minu esimene katse andis tulemuseks vestlusroboti, mis teadis fakte minu ettevõtte kohta, kuid vastas nagu ettevõtte käsiraamat. Sellel puudus soojus ja kohati huumor, mis iseloomustas minu enda suhtlust. Läksin tagasi joonestuslaua juurde, seekord keskendudes näidete lisamisele, mis esitlesid lisaks informatsioonile ka isiksust.
Üks ootamatu väljakutse oli vestlusroboti õpetamine, millal öelda "Ma ei tea" – see on iga tehisintellekti süsteemi jaoks oluline oskus. Pidin seda spetsiaalselt treenima, et ta tunneks ära oma teadmiste piirid ja pakuks vajadusel selgeid teid inimliku toe saamiseks. See nõudis negatiivsete näidete ja äärejuhtumite loomist, kus õige vastus oli vastuse eskaleerimine, mitte improviseerimine.
Pärast kolme treeningkordust oli mul lõpuks mudel, mis läbis niinimetatud "kesköötesti" – kas see suutis hakkama saada küsimustega, millele vastamiseks ma hilja üleval olin? Kui see juhendas kasutajat edukalt läbi meie API autentimisprotsessi sama selgusega, mida mina kasutaksin, teadsin, et oleme kuhugi jõudnud.
Kontekstiteadlikkuse rakendamine: vestluste voolavaks muutmine
Minu esimene rakendus kasutas lihtsat kontekstiakent, mis lisas igale uuele päringule viimased paar vestlust. See toimis lihtsate järelküsimuste puhul, kuid keerulistes stsenaariumides lakkas kiiresti töötamast. Kui kasutaja küsis funktsiooni A, seejärel funktsiooni B kohta ja seejärel küsis uuesti funktsiooni A kohta, läks vestlusrobot segadusse.
Lõpuks rakendasin keerukama kontekstihaldussüsteemi, mis kasutas tehnikate kombinatsiooni:
Libisevat kontekstiakent, mis seadis prioriteediks hiljutised vestlused, kuid säilitas ka olulise varasema teabe
Üksuste jälgimist, et tuvastada, millal kasutajad viitasid tagasi eelnevalt mainitud toodetele või funktsioonidele
Seansi oleku haldamist, et jälgida, kus kasutajad mitmeastmelistes protsessides, näiteks konto seadistamises, olid
Läbimurre saabus siis, kui lisasin asjakohasuse hindamise, et teha kindlaks, millised vestlusajaloo osad olid praeguse päringu jaoks kõige olulisemad. Selle asemel, et pimesi lisada viimaseid N vestlust, hindas süsteem nüüd, millised vestluse varasemad osad olid uue küsimusega semantiliselt kõige enam seotud.
See muutis kasutajate rahulolu tohutult. Vestlusrobot suutis nüüd hakkama saada loomulike vestlusvoogudega, näiteks: "Kui palju maksab põhipakett?" → "Milliseid funktsioone see sisaldab?" → "Aga premium-pakett?" → "Kas sellel on failide jagamise funktsioon, mida te varem mainisite?" Ilma konteksti kaotamata või segadusse sattumata.
Oli äärmiselt rahuldust pakkuv jälgida, kuidas kasutajad süsteemiga suhtlesid ilma frustratsioonita – nad ei kohanenud vestlusroboti piirangutega; vestlusrobot kohandus nende loomuliku vestlusstiiliga.
Äärmuslike juhtumite ja rikete käsitlemine
Üks külastaja veetis 15 minutit, püüdes veenda minu vestlusrobotit kirjutama luuletust küberturvalisusest (millestki, mis ületab selle kavandatud eesmärki). Teine proovis seda kasutada üldise programmeerimisassistendina, kleepides sisse koodijuppe ja paludes veaotsingu abi tehnoloogiate jaoks, mis polnud minu ettevõttega üldse seotud. Kõige murettekitavamad olid aeg-ajalt esinevad "hallutsinatsioonid" – juhtumid, kus vestlusrobot esitas enesekindlalt valet teavet, tõlgendades dokumentatsiooni valesti või üldistades treeningnäidete põhjal liiga palju.
Lahendasin need probleemid mitmekihilise lähenemisviisi abil:
Esiteks rakendasin süsteemiviibas selgemad ulatuse piirid, andes mudelile selgesõnalised juhised selle eesmärgi ja piirangute kohta. See vähendas kasutajate katseid seda ettenägematutel eesmärkidel kasutada.
Teiseks lisasin usalduse hindamise mehhanismi. Kui mudeli väljund näitas ebakindluse märke (keeleliste markerite või madala ennustuskindluse kaudu), tunnistas see seda ebakindlust kasutajale, selle asemel et esitada oletusi faktidena. Kolmandaks lõin selgete päästikutega eskalatsioonitee. Teatud teemad või kasutaja frustratsiooni tuvastamine ajendasid vestlusrobotit pakkuma kasutaja otsest ühendust minuga, luues sujuva üleandmiskogemuse.
Lõpuks lõin tagasisideahela, kus kasutajad said probleemseid vastuseid märgistada, mis lisati automaatselt ülevaatusjärjekorda. See andis mulle süstemaatilise viisi probleemide tuvastamiseks ja parandamiseks, selle asemel, et äärmuslike juhtumitega mutte mängida.
Võib-olla kõige väärtuslikum õppetund tuli nende äärmuslike juhtumite analüüsimisest: ideaalne vestlusrobot ei olnud see, mis kunagi vigu ei teinud, vaid see, mis oma piirangutega graatsiliselt toime tuli ja teadis, millal inimest kaasata. See perspektiivimuutus muutis seda, kuidas ma edu hindasin, ja suunas minu edasisi täiustusi.
Testi tehisintellekti OMA veebisaidil 60 sekundiga
Vaata, kuidas meie tehisintellekt analüüsib koheselt sinu veebisaiti ja loob personaliseeritud vestlusroboti - ilma registreerimiseta. Sisesta lihtsalt oma URL ja jälgi, kuidas see toimib!
UI/UX disain: kuidas muuta oma vestlusrobot ligipääsetavaks
Esimene liides, mille ma ehitasin, oli tehniliselt funktsionaalne, kuid tundus steriilne ja mehaaniline. Kasutajatestid näitasid, et inimesed kõhklesid sellega suhtlemise suhtes – see lihtsalt ei tundunud kutsuv. Läksin tagasi joonestuslaua juurde järgmiste põhimõtetega:
Isiksus on oluline: lisasin peeneid disainielemente, mis peegeldasid vestlusroboti isiksust – sõbralik avatar, inimrütme jäljendavad tippimise indikaatorid ja aeg-ajalt animatsioonid, mis andsid sellele elava tunde, ilma et see läheks kummalisse orgu.
Selged ootused: lõin sissejuhatava sõnumi, mis selgitas selgelt, millega vestlusrobot aidata saab ja millised on selle piirangud, seades algusest peale sobivad kasutajate ootused.
Järkjärguline avalikustamine: selle asemel, et kasutajaid kohe kõigi valikutega üle koormata, rakendasin süsteemi, kus vestlusrobot pakuks vestluse konteksti põhjal välja asjakohaseid järelmeetmeid.
Mobiilikeskne disain: Nähes, et üle 60% minu kasutajatest külastas saiti mobiilseadmetes, kujundasin vestlusliidese täielikult ümber, et see töötaks veatult ka väiksematel ekraanidel – suuremad puutetundlikud sihtmärgid, täisekraani vestlusrežiim ja häälsisestusvõimalused.
Visuaalne tagasiside: Lisasin peened olekuindikaatorid, et kasutajad teaksid alati, mis toimub – kas vestlusrobot „mõtles“, kas esines ühenduse probleeme või kas vestlusse oli kaasatud inimene.
Üks konkreetne kasutajaliidese element tegi üllatava vahe: „selgituse“ nupp, mida kasutajad said puudutada, kui nad tundsid, et vestlusrobot sai neist valesti aru. See lihtne funktsioon parandas oluliselt kasutajate rahulolu, kuna see andis neile selge edasiliikumise tee, kui suhtlus katkes, selle asemel, et sundida neid oma küsimust nullist ümber sõnastama.
Enne ja pärast näitajad olid silmatorkavad – vestluse keskmine pikkus suurenes 340% ja kasutajate arv, kes tulid vestlusroboti mitu korda kasutama, kahekordistus. Õppetund oli selge: tehniline võimekus ei tähenda palju, kui inimliides tekitab hõõrdumist.
Integreerimine olemasolevate süsteemidega
Esialgne integratsioon oli elementaarne – vestlusrobot sai otsida dokumentatsioonist ja tal oli KKK-le ainult lugemiseks juurdepääs. Kuid kasutajad tahtsid kiiresti enamat: "Kas saate kontrollida minu tellimuse olekut?", "Kas saate uuendada minu e-posti aadressi?", "Kas saate mulle tugipileti luua?". Need taotlused olid kasutaja vaatenurgast täiesti mõistlikud, kuid nõudsid sügavamat süsteemiintegratsiooni.
Kasutasin mikroteenuste lähenemisviisi, luues spetsiifilised API lõpp-punktid, millele vestlusrobot sai sobiva autentimisega helistada. Igal integratsioonil olid oma turvakaalutlused. Kirjutuskaitsega toimingute jaoks, nagu tellimuse oleku kontrollimine, rakendasin kinnitusvoo, kus kasutajad pidid esitama tellimuse numbrid ja nendega seotud e-posti aadressid. Kirjutamistoimingute jaoks, nagu kontoandmete uuendamine, ehitasin tugevama autentimisetapi.
Üks eriti kasulik integratsioon oli minu piletisüsteemiga. Kui vestlusrobot tuvastas, et ei suuda probleemi piisavalt lahendada, pakkus see kasutaja loal tugiteenuse pileti loomist, mis oli eelnevalt täidetud vestlusajalooga. See tähendas, et kui ma lõpuks piletile vastasin, oli mul täielik kontekst olemas, ilma et kasutaja oleks pidanud end kordama.
Integratsioonid muutsid vestlusroboti eraldiseisvast küsimuste ja vastuste süsteemist tõeliseks äriassistendiks. Levinud probleemide keskmine lahendusaeg langes 8 tunnist (minu e-kirjadele vastamise ootamine) alla 3 minutini. Veelgi olulisem on see, et kasutajad teatasid suuremast rahulolust isegi siis, kui vestlusrobot ei suutnud nende probleemi täielikult lahendada, lihtsalt seetõttu, et see suutis pakkuda koheseid olekuvärskendusi ja luua vastutuse piletisüsteemi kaudu.
Õppetund: vestlusroboti väärtus mitmekordistub, kui see saab kasutada teie olemasolevaid süsteeme ja teha kasutajate nimel kasulikke toiminguid, mitte ainult neist rääkida.
Edu mõõtmine: analüüs ja pidev täiustamine
Rakendasin mitmetahulist analüüsi lähenemisviisi:
Vestluste mõõdikud: Jälgisin lõpetamise määrasid (kas kasutajad said oma küsimustele vastused?), vestluse pikkust, katkestamispunkte ja teemade jaotust, et mõista, milleks inimesed vestlusrobotit tegelikult kasutasid.
Ärimõju mõõdikud: Mõõtsin levinud küsimuste puhul vähenenud e-kirjade mahtu, tugipiletite ümbersuunamise määra (probleemid lahendati ilma piletite loomiseta) ja klientide päringute lahendamise aega.
Kasutajate rahulolu: Pärast iga vestlust said kasutajad oma kogemust hinnata ja analüüsisin neid hinnanguid vestluste transkriptide põhjal, et tuvastada positiivsete ja negatiivsete kogemuste mustreid.
Tulu mõju: Jälgisin vestlusrobotiga suhtlenud kasutajate konversioonimäärasid võrreldes nendega, kes seda ei teinud, eriti vestluste puhul, kus vestlusrobot soovitas konkreetseid teenuseid.
Andmed näitasid üllatavaid teadmisi. Näiteks polnud vestlusrobot kõige väärtuslikum mitte kõige lihtsamate küsimuste (millele oleks saanud vastata parema dokumentatsiooni abil) või kõige keerukamate küsimuste (mis lõppkokkuvõttes nõudsid inimese sekkumist) puhul, vaid pigem vahepealsete probleemide puhul, mis vajasid edasi-tagasi selgitamist, kuid järgisid väljakujunenud mustreid.
Samuti avastasin, et vestlusrobotiga suhtlenud kasutajad registreerusid 37% tõenäolisemalt premium-teenustele, mitte tingimata seetõttu, et vestlusrobot oli suurepärane müügimees, vaid seetõttu, et see vähendas klienditeekonna teabekogumise etapis hõõrdumist.
Need mõõdikud juhendasid minu parenduskava. Eelistasin valdkondade täiustamist, kus vestlusrobot juba väärtuslikuks osutus, selle asemel, et proovida panna see kõike tegema. Iga kahe nädala tagant vaatasin üle vestluslogid, kus kasutajad väljendasid rahulolematust, tuvastasin mustreid ja rakendasin sihipäraseid täiustusi – olgu see siis täiendavate koolitusandmete, kasutajakogemuse kohanduste või uute süsteemiintegratsioonide loomine.
See andmepõhine lähenemisviis muutis vestlusroboti lahedast tehnoloogiaprojektist tõeliseks ärivaraks, millel on mõõdetav investeeringutasuvus.
Saadud õppetunnid ja edasised suunad
Alusta kitsalt, seejärel laienda: Minu edukaim lähenemisviis oli keskenduda vestlusroboti mõne asja erakordselt heale tegemisele enne selle võimaluste laiendamist. Esialgne versioon käsitles ainult põhilisi tooteküsimusi, kuid tegi seda suure täpsusega.
Inimese ja tehisintellekti vaheline üleandmine on kriitilise tähtsusega: kavandage algusest peale sujuvat eskalatsiooni. Hetked, mil teie vestlusrobot tunneb ära oma piirangud ja läheb sujuvalt üle inimtoele, on sama olulised kui küsimused, millele see saab otse vastata.
Investeerige heasse vestluse kujundamisse: teie küsimuste, treeningandmete ja vestlusvoogude kvaliteet on olulisem kui toores mudeli võimalused. Hästi disainitud süsteem, mis kasutab väiksemat mudelit, ületab sageli võimsa mudeli, millel on halb juhendamine.
Kasutajad andestavad piirangud, kuid mitte segadust: kasutajad said aru, kui vestlusrobot ei suutnud midagi teha, kuid muutusid pettunud, kui see tundus segaduses või iseendaga vastuolus olevat. Selgus võimete osas osutus olulisemaks kui funktsioonide ulatus.
Turvalisuse ja privaatsuse kaalutlused arenevad: kuna vestlusrobot muutus ärisüsteemidega üha integreeritumaks, muutusid turvakaalutlused üha olulisemaks. Pidin rakendama nõuetekohaseid autentimis-, andmete minimeerimise tavasid ja selgeid kasutajate nõusoleku mehhanisme.
Tuleviku osas uurin mitmeid põnevaid suundi:
Multimodaalsed võimalused: kasutajatele võimaluse lisamine üles laadida ekraanipilte või veateadete fotosid, kusjuures vestlusrobot pakub vastutasuks visuaalset juhendamist.
Proaktiivne abi: reaktiivsest küsimuste ja vastuste funktsioonist kaugemale liikumine, et tuvastada hetki, kus vestlusrobot saab ennetavalt abi pakkuda vastavalt kasutaja käitumisele.
Isikupärastamine: vestlusajaloo ja kontoandmete kasutamine vastuste kohandamiseks naasvatele kasutajatele, pidades meeles nende eelistusi ja varasemaid probleeme.
Hääleliides: paljud kasutajad on avaldanud huvi assistendiga rääkimise vastu, mitte kirjutamise vastu, eriti mobiilseadmetes.
Selle vestlusroboti loomine on muutnud mitte ainult minu äritegevust, vaid ka minu arusaama inimese ja arvuti interaktsioonist. Tehnoloogia areneb kiiresti, kuid põhialused jäävad samaks: kasutajate vajaduste mõistmine, läbimõeldud vestluste kavandamine ja süsteemide loomine, mis teavad nii oma võimalusi kui ka piiranguid.
Kui kaalute oma vestlusroboti loomist, julgustan teid seda tegema. Alusta väikeselt, keskendu tegelikele kasutajate vajadustele ja pea meeles, et eesmärk ei ole Turingi testi läbimine – eesmärk on lahendada päris inimeste jaoks päris probleeme. Edukaimad tehisintellekti assistendid ei ole need, kes inimesi ideaalselt jäljendavad, vaid need, kes inimvõimeid sisukalt täiendavad.