Kuidas ma ehitasin oma tehisintellekti vestlusroti: are...
Logi sisse Proovi tasuta
aug 22, 2024 5 min lugemist

Kuidas ma ehitasin oma tehisintellekti vestlusroti: arendaja teekond

Avastage, kuidas ma koostasin nullist kohandatud AI-vestlusroti – see hõlmab väljakutseid, läbimurdeid, teadmisi ja õppetunde, mis muutsid minu veebisaiti ja seotust.

Ehitas minu enda AI-vestlusbot

Säde, millest see kõik alguse sai

See algas lihtsa probleemiga – olin uppumas klientide päringutesse. Oma kasvava tehniliste konsultatsioonide veebisaidi ainsa arendajana kulutasin iga päev tunde, vastates ikka ja jälle samadele küsimustele. Minu tootlikkus langes ja ma teadsin, et midagi peab andma. Lambipirni süttimise hetk saabus teisipäeval kell 2 öösel, kui järjekordsele küsimusele "Kuidas parooli lähtestada?" meili. Miks ma ei saanud luua midagi nende korduvate interaktsioonide jaoks?
Jälgisin huviga tehisintellekti ja suurte keelemudelite plahvatuslikku levikut, kuid enamasti pealtvaatajana. Muidugi, ma mängisin ChatGPT ja Claude'iga nagu kõik teisedki, kuid oma tehisintellekti assistendi loomine tundus olevat reserveeritud sügavate taskute ja sügavamate teadmistega meeskondadele. Sellegipoolest ei saanud ma lahti mõttest, et kohandatud vestlusbot – selline, mis teadis minu äri nii seest kui ka väljast – võiks olla lahendus, mida ma hädasti vajan.
See, mis sai alguse nädalavahetuse projektist enda aja säästmiseks, arenes kuue kuu pikkuseks kinnisideeks, mis muutis põhjalikult seda, kuidas ma lähenen tarkvaraarendusele, kasutajakogemusele ning inimese ja arvuti suhtluse olemusele. See on lugu sellest, kuidas ma oma vestlusroti ehitasin, mida ma selle käigus õppisin ja miks võiksite ka teie luua.

Õige tehnoloogiakomplekti valimine

Esimeseks suuremaks takistuseks oli oma tehnoloogiapaki üle otsustamine. Valikud rabasid mind kohe – kas peaksin tuginema olemasolevatele API-dele, nagu OpenAI GPT või Anthropicu Claude? Kas peaksin avatud lähtekoodiga mudelit viimistlema? Või peaksin reeglipõhise süsteemiga püüdma väiksemat eesmärki, mis ei vajanud üldse tipptasemel tehisintellekti?
Pärast nädalaid kestnud uurimistööd ja mitmeid kontseptsiooni tõestamise katseid otsustasin hübriidse lähenemisviisi kasuks. Kasutaksin ajuna peenhäälestatud avatud lähtekoodiga keelemudelit, mis oleks ühendatud taasesitusega suurendatud põlvkonna (RAG) süsteemiga, et anda sellele juurdepääs minu veebisaidi dokumentatsioonile ja KKK sisule. See võimaldaks vestlusrotil omada üldist luureandmeid, olles samal ajal minu ettevõttega konkreetselt kursis.
Mudeli enda jaoks valisin Mistrali 7B parameetrimudeli – piisavalt väike, et töötada minu tagasihoidliku serveri seadistusega, kuid piisavalt võimas, et käsitleda loomulikku keelt muljetavaldava ladususega. RAG-komponent kasutaks vektorandmebaasi (Pinecone), et salvestada minu dokumentatsiooni manuseid, võimaldades vestlusrotil küsimustele vastamisel asjakohast teavet hankida.
Esikülg ehitati Reactiga, API-kõnede ja töötlemisega tegeleb Node.js-i taustaprogramm. Valisin WebSocketsi, et säilitada vestlusühendust kasutajatega, võimaldades loomulikumat edasi-tagasi liikumist ilma lehtede uuesti laadimiseta.
See virn andis mulle vajaliku paindlikkuse, hoides samal ajal kulud hallatavana. Avatud lähtekoodiga sihtasutus tähendas, et ma ei pidanud kinni API hinnakujundusest, mis võib hüppeliselt tõusta, kui mu sait äkki populaarseks muutub, samas kui vektorandmebaasi lähenemine tagas, et mu vestlusrobotil on alati juurdepääs minu teenuste kõige värskemale teabele.

Andmete kogumine ja koolitus: teie vestlusroboti elujõud

Üldist vestlusrobotit tõeliselt kasulikust assistendist eristab andmed – täpsemalt teie andmed. Sain kiiresti aru, et minu chatbot on ainult nii hea, kui hea on see teave, mida ma talle andsin. See tähendas, et pidin minema kaugemale lihtsalt oma veebisaidi sisu kraapimisest; Mul oli vaja tabada klientidega suhtlemise olemus.
Alustasin sadade meilivahetuste, tugipiletite ja reaalajas vestluste logide läbi kammimisega. Ma muutsin need andmed anonüümseks, 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, tehniliste detailide taset ja probleemide lahendamise lähenemisviisi.
Struktureeritud teadmiste saamiseks koostasin põhjaliku KKK-dokumendi, mis hõlmab kõike alates hinnaküsimustest kuni tehniliste kirjeldusteni. Samuti dokumenteerisin tavalised tõrkeotsingu töövood, jäädvustades otsustuspuud, mida alateadlikult järgin, kui aitan klientidel probleeme diagnoosida.
Koolitusprotsess ise oli korduv ja alandlik. Minu esimene katse andis välja vestlusroti, mis teadis minu ettevõtte kohta fakte, kuid vastas nagu ettevõtte käsiraamat. Sellel puudus soojus ja kohatine huumor, mis iseloomustasid minu enda suhtlust. Tagasi joonistuslaua juurde läksin, keskendudes seekord näidete lisamisele, mis tutvustasid teabe kõrval ka isikupära.
Üheks ootamatuks väljakutseks oli vestlusrobotile õpetamine, millal öelda "ma ei tea", mis on iga AI-süsteemi oluline oskus. Pidin teda spetsiaalselt koolitama, et ta tunneks ära oma teadmiste piire ja pakkuma vajadusel selgeid teid inimlikule toele. See nõudis negatiivsete näidete ja äärmuslike juhtumite loomist, kus õige vastus oli vastuse eskaleerimine, mitte improviseerimine.
Pärast kolme koolituse iteratsiooni sain lõpuks mudeli, mis suutis läbida nn kesköötesti – kas see saab hakkama selliste küsimustega, millele ma hiljaks jäin, et vastata? Kui see juhtis kasutaja edukalt läbi meie API autentimisprotsessi sama selgelt, nagu ma kasutaksin, teadsin, et oleme kuhugi jõudmas.

Konteksti teadlikkuse rakendamine: vestluste voolamine

Erinevus ülistatud KKK-otsingu ja tõelise vestlusabilise vahel on kontekstiteadlikkus – võime meeles pidada varem öeldut ja sellele tugineda. See osutus kogu projekti üheks tehniliselt keerulisemaks aspektiks.
Minu esimene rakendus kasutas lihtsat konteksti akent, mis lihtsalt lisas igale uuele päringule paar viimast vahetust. See toimis põhiliste järelküsimuste puhul, kuid läks keeruliste stsenaariumide korral kiiresti katki. Kui kasutaja küsiks funktsiooni A, seejärel funktsiooni B kohta ja vaataks seejärel uuesti funktsiooni A kohta, satuks vestlusbot segadusse.
Lõpuks rakendasin keerukama kontekstihaldussüsteemi, mis kasutas tehnikate kombinatsiooni:

Libisev kontekstiaken, mis seadis esikohale hiljutised teabevahetused, kuid säilitas ka olulise varasema teabe
Olemi jälgimine tuvastamaks, millal kasutajad viitasid tagasi eelnevalt mainitud toodetele või funktsioonidele
Seansi oleku haldamine, et jälgida, kus kasutajad mitmeetapilistes protsessides, nagu konto seadistamine, olid

Läbimurre saabus siis, kui lisasin asjakohasushinnangu, et teha kindlaks, millised vestlusajaloo osad on praeguse päringu jaoks kõige olulisemad. Selle asemel, et pimesi kaasata viimast N vahetust, hindas süsteem nüüd, millised vestluse eelnevad osad olid uue küsimusega semantiliselt kõige enam seotud.
See muutis kasutajate rahulolu maailma eriliseks. Vestlusbot saab nüüd hakkama loomulike vestlusvoogudega, näiteks: "Kui palju maksab põhiplaan?" → "Milliseid funktsioone see sisaldab?" → "Ja lisatasu plaan?" → "Kas sellel on varem mainitud failijagamise funktsioon?" Ilma konteksti maha jätmata või segadusse sattumata.
Jälgida, kuidas kasutajad süsteemiga pettumusteta suhtlevad, oli tohutult rahuldustpakkuv – nad ei kohanenud vestlusroboti piirangutega; vestlusrobot kohanes nende loomuliku vestlusstiiliga.

Edge-juhtumite ja tõrkerežiimide käsitlemine

Olenemata sellest, kui hästi te oma mudelit koolitate, ilmnevad äärmuslikud juhtumid – sageli viisil, mida te ei osanud oodata. Vahetult pärast vestlusroti käivitamist oma saidil hakkasin nägema põnevaid ja aeg-ajalt naljakaid rikkerežiime, mis saatsid mind tagasi joonistuslauale.
Üks külastaja püüdis 15 minutit veenda minu vestlusrobotit kirjutama luuletust küberjulgeolekust (millestki, mis ületab selle ettenähtud eesmärki). Teine proovis seda kasutada üldise programmeerimisassistendina, kleepides sisse koodilõigud ja paludes silumisabi tehnoloogiate jaoks, mis ei ole minu ettevõttega seotud. Kõige murettekitavamad olid juhuslikud "hallutsinatsioonid" – juhtumid, kus vestlusrobot andis enesekindlalt valet teavet, tõlgendades dokumente valesti või üldistades koolitusnäidete põhjal.
Ma käsitlesin neid väljakutseid mitmekihilise lähenemisviisi kaudu:
Esiteks rakendasin süsteemiviipale selgemad ulatuse piirid, andes mudelile selgesõnaliselt juhised selle eesmärgi ja piirangute kohta. See vähendas nende kasutajate esinemist, kes üritavad seda soovimatutel eesmärkidel kasutada.
Teiseks lisasin enesekindluse hindamismehhanismi. Kui mudeli väljund näitas ebakindluse märke (keeleliste markerite või madala ennustuskindluse tõttu), tunnistab see kasutajale seda ebakindlust, mitte ei esita oletusi faktidena.
Kolmandaks lõin selgete päästikutega eskalatsiooniraja. Teatud teemad või kasutaja pettumuse tuvastamine ajendaksid vestlusbotit pakkuma kasutaja minuga otseühendust, luues sujuva üleandmise kogemuse.
Lõpuks seadsin üles tagasisideahela, kus kasutajad said märgistada probleemsed vastused, mis lisati automaatselt ülevaatusjärjekorda. See andis mulle süstemaatilise võimaluse probleeme tuvastada ja parandada, selle asemel, et mängida äärmuslike juhtumitega.
Võib-olla andis kõige väärtuslikum õppetund nende äärmuslike juhtumite analüüsimisest: täiuslik vestlusbot ei teinud kunagi vigu, vaid see, mis käsitles oma piiranguid graatsiliselt ja teadis, millal inimene kaasata. See vaatenurga muutus muutis seda, kuidas ma edu hindasin ja suunasin oma edasisi parandusi.

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!

Valmis 60 sekundiga
Programmeerimist pole vaja
100% turvaline

UI/UX disain: muutke oma vestlusrobot ligipääsetavaks

Tehniliselt geniaalne kohmaka liidesega vestlusbot on nagu kandiliste ratastega Ferrari – kogu see jõud läheb raisku, kui kasutajad ei saa sellega mugavalt suhelda. Õppisin selle õppetunni kõige raskemal viisil pärast seda, kui mu esialgsed beetatestijad kaebasid kõige üle, alates aeglasest reageerimisajast ja lõpetades segaste vestlusvoogudega.
Esimene minu ehitatud liides oli tehniliselt funktsionaalne, kuid tundus steriilne ja mehaaniline. Kasutajatestid näitasid, et inimesed kõhklesid sellega tegelemast – see lihtsalt ei tundunud kutsuv. Läksin tagasi joonestuslaua juurde, pidades silmas järgmisi põhimõtteid:
Isiksus on oluline: lisasin peened kujunduselemendid, mis peegeldasid vestlusroboti isikupära – sõbralik avatar, inimrütme jäljendavad tippimisnäitajad ja aeg-ajalt animatsioonid, mis andsid sellele elujõulise tunde, ilma et see kummalisse orgu ületaks.
Seadke selged ootused: koostasin sissejuhatava sõnumi, mis selgitas selgelt, mille vastu vestlusbot võib aidata ja selle piiranguid, seades algusest peale sobivad kasutajaootused.
Järkjärguline avalikustamine: selle asemel, et kasutajaid kõigi võimalustega üle koormata, rakendasin süsteemi, kus vestlusbot soovitab vestluse konteksti põhjal asjakohaseid järelmeetmeid.
Mobiilipõhine disain: pärast seda, kui nägin, et üle 60% minu kasutajatest pääseb saidile mobiilseadmetes, kujundasin vestlusliidese täielikult ümber, et see töötaks veatult väiksematel ekraanidel – suuremad puuteobjektid, täisekraani vestlusrežiim ja häälsisestusvalikud.
Visuaalne tagasiside: lisasin peened olekuindikaatorid, et kasutajad teaksid alati, mis toimub – kas vestlusbot "mõtleb", kas on ühendusega probleeme või on vestlusesse sattunud inimene.
Üks konkreetne kasutajaliidese element tegi üllatava erinevuse: "selgitamise" nupp, mida kasutajad said puudutada, kui nad tundsid, et vestlusrobot sai neist valesti aru. See lihtne funktsioon parandas oluliselt kasutajate rahulolu, kuna andis neile selge tee edasi, kui side katkes, selle asemel, et sundida küsimust nullist ümber sõnastama.
Enne-pärast mõõdikud olid silmatorkavad – keskmine vestluse pikkus kasvas 340% ja kasutajate arv, kes naasid mitu korda vestlusrobotit kasutama, kahekordistus. Õppetund oli selge: tehniline võimekus ei tähenda vähe, kui inimliides tekitab hõõrdumist.

Integratsioon olemasolevate süsteemidega

Vestlusbot ei eksisteeri isoleeritult – selleks, et olla tõeliselt väärtuslik, peab see integreeruma teie olemasoleva digitaalse ökosüsteemiga. Minu puhul tähendas see selle ühendamist oma klientide andmebaasi, dokumentatsioonisüsteemi ja tugipiletiplatvormiga.
Esialgne integreerimine oli põhiline – vestlusbot võis otsida dokumentatsioonist ja tal oli kirjutuskaitstud juurdepääs KKK-dele. Kuid kasutajad tahtsid kiiresti rohkem: "Kas saate minu tellimuse olekut kontrollida?" "Kas saate mu meiliaadressi värskendada?" "Kas saate mulle tugipileti luua?" Need taotlused olid kasutaja seisukohast täiesti mõistlikud, kuid nõudsid sügavamat süsteemiintegratsiooni.
Kasutasin mikroteenuste lähenemisviisi, luues spetsiifilised API lõpp-punktid, mida vestlusbot saaks sobiva autentimisega helistada. Igal integratsioonil olid oma turvakaalutlused. Kirjutuskaitstud toimingute jaoks, nagu tellimuse oleku kontrollimine, rakendasin kinnitusvoo, kus kasutajad peavad esitama tellimuse numbrid ja seotud meilid. Kirjutamistoimingute jaoks, nagu konto üksikasjade värskendamine, koostasin tugevama autentimisetapi.
Üks eriti kasulik integratsioon oli minu piletisüsteemiga. Kui vestlusbot tuvastas, et see ei suuda probleemi adekvaatselt lahendada, pakub see tugipileti loomist, mis on eelnevalt täidetud vestluste ajalooga (kasutaja loaga). See tähendas, et kui ma lõpuks piletile vastasin, oli mul täielik kontekst, ilma et kasutajal oleks vaja ennast korrata.
Integratsioonid muutsid vestlusroboti iseseisvast küsimuste ja vastuste süsteemist tõeliseks äriassistendiks. Tavaliste probleemide keskmine lahendamise aeg langes 8 tunnilt (ootan, kuni ma meilidele vastan) alla 3 minuti. Võib-olla veelgi olulisem on see, et kasutajad teatasid suuremast rahulolust isegi siis, kui vestlusrobot ei suutnud nende probleemi täielikult lahendada, kuna see võib pakkuda koheseid olekuvärskendusi ja luua piletimüügisüsteemi kaudu vastutuse.
Õ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

Kuidas teada saada, kas teie vestlusbot on tegelikult edukas? See küsimus osutus keerulisemaks, kui ma alguses arvasin. Töötlemata kasutusnumbrid ei rääkinud kogu lugu – sageli kasutatav vestlusbot võib tegelikult osutada kehvale veebisaidil navigeerimisele, mitte abivalmile assistendile.
Rakendasin mitmekülgset analüüsimeetodit:
Vestluste mõõdikud: jälgisin lõpetamise määra (kas kasutajad said oma küsimustele vastused?), vestluse pikkust, loobumispunkte ja teemade jaotust, et mõista, milleks inimesed vestlusrobotit tegelikult kasutavad.
Ettevõtluse mõju mõõdikud: mõõtsin tavaliste küsimuste puhul meilide arvu vähenemist, tugipiletite kõrvalekalde määra (probleemid lahendati ilma pileteid loomata) ja klientide päringute lahendamise aega.
Kasutajate rahulolu: pärast iga vestlust said kasutajad oma kogemusi hinnata ja ma analüüsisin neid hinnanguid vestluste ärakirjade põhjal, et tuvastada positiivsete ja negatiivsete kogemuste mustrid.
Tulude mõju: jälgisin vestlusbotiga suhtlenud kasutajate konversioonimäärasid võrreldes nendega, kes seda ei teinud, eriti vestluste puhul, kus vestlusbot soovitas konkreetseid teenuseid.
Andmed näitasid üllatavaid teadmisi. Näiteks ei olnud vestlusbot kõige väärtuslikum mitte kõige lihtsamate küsimuste jaoks (mida saaks lahendada parema dokumentatsiooniga) või kõige keerulisemate küsimuste jaoks (mis lõpuks nõudis inimese sekkumist), vaid kesktee probleemide jaoks, mis nõudsid edasi-tagasi selgitamist, kuid järgisid väljakujunenud mustreid.
Samuti avastasin, et vestlusbotiga suhtlenud kasutajad registreerusid 37% tõenäolisemalt esmaklassiliste teenuste jaoks, mitte tingimata seetõttu, et vestlusbot oli suurepärane müügimees, vaid seetõttu, et see vähendas hõõrdumist klienditeekonna teabe kogumise faasis.
Need mõõdikud juhtisid minu täiustamise tegevuskava. Pidasin prioriteediks valdkondade täiustamist, kus vestlusbot juba väärtuslikuks osutus, selle asemel, et püüda seda kõike teha. Iga kahe nädala järel vaatasin üle vestluslogid, kus kasutajad väljendasid rahulolematust, tuvastasid mustrid ja rakendasin sihipäraseid täiustusi – olgu see siis täiendavaid koolitusandmeid, UX-i muudatusi või uusi süsteemiintegratsioone.
See andmepõhine lähenemine muutis vestlusroti lahedast tehnoloogilisest projektist tõeliseks ärivaraks, millel on mõõdetav investeeringutasuvus.

Saadud õppetunnid ja tulevikujuhised

Enda tehisintellekti vestlusroboti ehitamine on olnud pideva avastamise teekond. Tagantjärele vaadates on siin peamised õppetunnid, mis võivad aidata teisi sarnasel teel.
Alustage kitsalt, seejärel laiendage: minu kõige edukam lähenemine oli keskenduda vestlusbotile mõne asja erakordselt hästi tegemisele enne selle võimaluste laiendamist. Esialgne versioon käsitles ainult põhilisi tooteküsimusi, kuid tegi seda suure täpsusega.
Inimese ja tehisintellekti üleandmine on kriitiline: disain graatsilise eskalatsiooni jaoks algusest peale. Hetked, mil teie vestlusrobot tunneb ära oma piirangud ja läheb sujuvalt üle inimeste toele, on sama olulised kui küsimused, millele ta saab otse vastata.
Investeerige heasse vestluskujundusse: teie viipade, koolitusandmete ja vestlusvoogude kvaliteet loeb rohkem kui toormudeli võimalused. Hästi läbimõeldud süsteem, mis kasutab väiksemat mudelit, ületab sageli võimsat mudelit, mille juhised on halvad.
Kasutajad andestavad piirangud, kuid mitte segadust: kasutajad mõistsid, kui vestlusrobot ei saanud midagi teha, kuid olid pettunud, kui tundus segaduses või iseendaga vastuolus. Võimaluste selgus osutus funktsioonide laiusest olulisemaks.
Turvalisus ja privaatsuskaalutlused arenevad: kui vestlusrobot sai rohkem integreeritud ärisüsteemidega, muutusid turvalisuse kaalutlused üha olulisemaks. Pidin rakendama õiget autentimist, andmete minimeerimist ja selgeid kasutaja nõusolekumehhanisme.
Mis puutub tulevikku, siis uurin mitmeid põnevaid suundi:
Multimodaalsed võimalused: lisab kasutajatele võimaluse üles laadida veateadetest ekraanipilte või fotosid, kusjuures vestlusbot pakub vastutasuks visuaalseid juhiseid.
Ennetav abi: reaktiivsetest küsimustest ja vastustest väljumine, et tuvastada hetked, mil vestlusbot saab kasutaja käitumise põhjal ennetavalt abi pakkuda.
Isikupärastamine: vestluste ajaloo ja kontoandmete kasutamine, et kohandada vastuseid naasvatele kasutajatele, jätta meelde nende eelistused ja varasemad probleemid.
Häälliides: paljud kasutajad on väljendanud huvi tippimise asemel assistendiga rääkimise vastu, eriti mobiilseadmetes.
Selle vestlusroboti loomine pole muutnud mitte ainult minu äritegevust, vaid ka arusaamist inimese ja arvuti suhtlusest. Tehnoloogia areneb kiiresti edasi, kuid põhialused jäävad alles: kasutajate vajaduste mõistmine, läbimõeldud vestluste kujundamine ja süsteemide loomine, mis teavad nii oma võimalusi kui ka piiranguid.
Kui kaalute oma vestlusroboti loomist, soovitan teil selle sammu ette võtta. Alustage väikesest, keskenduge kasutajate tõelistele vajadustele ja pidage meeles, et eesmärk ei ole Turingi testi läbimine, vaid tegelike inimeste tegelike probleemide lahendamine. Kõige edukamad AI-assistendid ei ole need, mis jäljendavad täiuslikult inimesi, vaid need, mis suurendavad inimese võimeid tähendusrikkal viisil.

Seotud teemad

Töö tulevik
Inimene vs AI faktikontrollijad
AI Analytics
AI tulevik SEO meta loomises
2025. aasta tehisintellekti edu oluline koostisosa
10 viisi, kuidas AI saab teie ettevõtet aidata

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!

Valmis 60 sekundiga
Programmeerimist pole vaja
100% turvaline