Dzirksts, kas to visu sāka
Es ar interesi sekoju AI un lielo valodu modeļu eksplozijai, bet galvenokārt kā skatītājs. Protams, es tāpat kā visi citi spēlēju ar ChatGPT un Klodu, taču sava AI palīga izveide šķita kaut kas paredzēts komandām ar dziļām kabatām un dziļākām zināšanām. Tomēr es nevarēju atbrīvoties no domas, ka pielāgots tērzēšanas robots — tāds, kas pārzina manu biznesu gan no iekšpuses, gan ārpuses, varētu būt risinājums, kas man ir ļoti vajadzīgs.
Tas, kas sākās kā nedēļas nogales projekts, lai ietaupītu sev kādu laiku, pārauga sešu mēnešu apsēstībā, kas būtiski mainīja manu pieeju programmatūras izstrādei, lietotāju pieredzei un cilvēka un datora mijiedarbības būtībai. Šis ir stāsts par to, kā es izveidoju savu tērzēšanas robotu, ko es iemācījos ceļā un kāpēc arī jūs varētu vēlēties to izveidot.
Pareizā tehnoloģiju kaudzes izvēle
Pēc nedēļu ilgas izpētes un vairākiem koncepcijas pierādījuma testiem es izvēlējos hibrīda pieeju. Es kā smadzenes izmantotu precizētu atvērtā pirmkoda valodas modeli, kas savienots pārī ar izguves paplašinātās paaudzes (RAG) sistēmu, lai nodrošinātu piekļuvi manas vietnes dokumentācijai un FAQ saturam. Tas ļautu tērzēšanas robotam iegūt vispārēju informāciju, vienlaikus īpaši pārzinot manu biznesu.
Pašam modelim es izvēlējos Mistral 7B parametru modeli — pietiekami mazu, lai darbotos ar manu pieticīgo servera iestatījumu, bet pietiekami jaudīgu, lai ar dabisku valodu apstrādātu iespaidīgi tekoši. RAG komponents izmantotu vektoru datubāzi (Pinecone), lai saglabātu manas dokumentācijas iegulumus, ļaujot tērzēšanas robotam iegūt atbilstošu informāciju, atbildot uz jautājumiem.
Priekšgals tika izveidots, izmantojot React, ar Node.js aizmugursistēmu, kas apstrādā API zvanus un apstrādi. Es izvēlējos WebSockets, lai uzturētu sarunvalodas saikni ar lietotājiem, nodrošinot dabiskāku pāreju uz priekšu un atpakaļ bez lapu atkārtotas ielādes.
Šī kaudze sniedza man nepieciešamo elastību, vienlaikus saglabājot pārvaldāmas izmaksas. Atvērtā koda fonds nozīmēja, ka es neesmu pakļauts API cenām, kas varētu strauji pieaugt, ja mana vietne pēkšņi kļūtu populāra, savukārt vektoru datu bāzes pieeja nodrošināja, ka manam tērzēšanas robotam vienmēr būs piekļuve jaunākajai informācijai par maniem pakalpojumiem.
Datu vākšana un apmācība: jūsu tērzēšanas robota dzīvības spēks
Es sāku ar simtiem e-pasta apmaiņas, atbalsta biļešu un tiešsaistes tērzēšanas žurnālu izpēti. Es padarīju šos datus anonīmus, iegūstot cilvēku uzdoto jautājumu modeļus un, kas ir būtiski, to, kā es uz tiem atbildēju. Tas man deva apmācību piemērus, kas atspoguļoja manu faktisko toni, tehniskās detalizācijas līmeni un problēmu risināšanas pieeju.
Strukturētām zināšanām es izveidoju visaptverošu FAQ dokumentu, kas aptver visu, sākot no jautājumiem par cenām un beidzot ar tehniskajām specifikācijām. Es arī dokumentēju izplatītākās problēmu novēršanas darbplūsmas, tverot lēmumu kokus, kuriem neapzināti sekoju, palīdzot klientiem diagnosticēt problēmas.
Pats apmācības process bija iteratīvs un pazemojošs. Mans pirmais mēģinājums radīja tērzēšanas robotu, kas zināja faktus par manu biznesu, bet atbildēja kā uzņēmuma rokasgrāmata. Tajā trūka siltuma un gadījuma humora, kas raksturoja manu mijiedarbību. Atgriezties pie rasējamā dēļa, kurā es devos, šoreiz koncentrējoties uz piemēru iekļaušanu, kas līdzās informācijai parādīja personību.
Viens negaidīts izaicinājums bija iemācīt tērzēšanas robotam, kad pateikt "es nezinu" — tā ir būtiska prasme jebkurai AI sistēmai. Man tas bija īpaši jāapmāca, lai atpazītu savu zināšanu robežas un vajadzības gadījumā nodrošinātu skaidrus ceļus uz cilvēku atbalstu. Tam bija jārada negatīvi piemēri un malas gadījumi, kad pareizā atbilde bija eskalēt, nevis improvizēt atbildi.
Pēc trim apmācības atkārtojumiem man beidzot bija modelis, kas varēja izturēt to, ko es saucu par "pusnakts testu" — vai tas varētu tikt galā ar tādiem jautājumiem, uz kuriem es vēlu nomodā atbildēt? Kad tas veiksmīgi iepazīstināja lietotāju ar mūsu API autentifikācijas procesu ar tādu pašu skaidrību, kādu izmantoju es, es zināju, ka mēs kaut kur ejam.
Konteksta apzināšanās ieviešana: sarunu plūsma
Mana pirmā ieviešana izmantoja vienkāršu konteksta logu, kas katram jaunam vaicājumam pievienoja dažas pēdējās apmaiņas. Tas noderēja pamata papildu jautājumiem, bet sarežģītos scenārijos ātri sabojājās. Ja lietotājs jautātu par līdzekli A, pēc tam funkciju B un pēc tam atkal veiktu papildu pārbaudi par līdzekli A, tērzēšanas robots apjuktu.
Galu galā es ieviesu sarežģītāku konteksta pārvaldības sistēmu, kurā tika izmantota tehnikas kombinācija:
Bīdāms konteksta logs, kurā par prioritāti tika noteikta nesen veiktā apmaiņa, taču tajā tika saglabāta arī svarīga iepriekšēja informācija
Entītiju izsekošana, lai noteiktu, kad lietotāji atsaucās uz iepriekš minētajiem produktiem vai funkcijām
Sesijas stāvokļa pārvaldība, lai izsekotu, kur lietotāji atradās daudzpakāpju procesos, piemēram, konta iestatīšanā
Izrāviens notika, kad pievienoju atbilstības vērtējumu, lai noteiktu, kuras sarunas vēstures daļas ir vissvarīgākās pašreizējam vaicājumam. Tā vietā, lai akli iekļautu pēdējo N apmaiņu, sistēma tagad novērtēja, kuras iepriekšējās sarunas daļas bija semantiskāk saistītas ar jauno jautājumu.
Tas radīja atšķirību lietotāju apmierinātībā. Tērzēšanas robots tagad var apstrādāt dabiskas sarunu plūsmas, piemēram: "Cik maksā pamatplāns?" → "Kādas funkcijas tas ietver?" → "Un prēmiju plāns?" → "Vai tai ir iepriekš minētā failu koplietošanas funkcija?" Neizmetot kontekstu un nemulsinot.
Vērot, kā lietotāji bez sarūgtinājuma mijiedarbojas ar sistēmu, bija milzīgs gandarījums – viņi nepielāgojās tērzēšanas robota ierobežojumiem; tērzēšanas robots pielāgojās viņu dabiskajam sarunu stilam.
Apstrādājiet malas gadījumus un atteices režīmus
Viens apmeklētājs pavadīja 15 minūtes, mēģinot pārliecināt manu tērzēšanas robotu uzrakstīt dzejoli par kiberdrošību (kaut kas pārsniedz paredzēto mērķi). Kāds cits mēģināja to izmantot kā vispārīgu programmēšanas palīgu, ielīmējot koda fragmentus un lūdzot atkļūdošanas palīdzību tehnoloģijām, kas nav pilnībā saistītas ar manu biznesu. Visvairāk satrauca neregulāras "halucinācijas" — gadījumi, kad tērzēšanas robots pārliecinoši sniedza nepareizu informāciju, nepareizi interpretējot dokumentāciju vai pārlieku vispārinot mācību piemērus.
Es risināju šīs problēmas, izmantojot daudzslāņu pieeju:
Pirmkārt, es sistēmas uzvednē ieviesu skaidrākas darbības jomas robežas, skaidri norādot modeli par tā mērķi un ierobežojumiem. Tas samazināja to lietotāju skaitu, kuri mēģināja to izmantot neparedzētiem nolūkiem.
Otrkārt, es pievienoju pārliecības vērtēšanas mehānismu. Ja modeļa izvade uzrādīja nenoteiktības pazīmes (izmantojot lingvistiskos marķierus vai zemu prognozēšanas ticamību), tas atzītu šo nenoteiktību lietotājam, nevis uzrādītu minējumus kā faktus.
Treškārt, es izveidoju eskalācijas ceļu ar skaidriem aktivizētājiem. Noteiktas tēmas vai lietotāju neapmierinātības noteikšana mudinātu tērzēšanas robotu piedāvāt lietotājam tieši sazināties ar mani, radot vienmērīgu pārsūtīšanas pieredzi.
Visbeidzot, es izveidoju atgriezeniskās saites cilpu, kurā lietotāji varēja atzīmēt problemātiskās atbildes, kas tika automātiski pievienotas pārskatīšanas rindai. Tas man deva sistemātisku veidu, kā identificēt un novērst problēmas, nevis spēlēties ar malām.
Iespējams, visvērtīgākā mācība tika gūta, analizējot šos sarežģītos gadījumus: ideāls tērzēšanas robots nebija tāds, kas nekad nepieļāva kļūdas, bet gan tas, kas graciozi izturēja savus ierobežojumus un zināja, kad iesaistīt cilvēku. Šī perspektīvas maiņa mainīja to, kā es novērtēju panākumus un vadīja turpmākos uzlabojumus.
UI/UX dizains: padariet tērzēšanas robotu pieejamu
Pirmā saskarne, ko es izveidoju, bija tehniski funkcionāla, taču jutās sterila un mehāniska. Lietotāju testēšana atklāja, ka cilvēki vilcinājās ar to iesaistīties – tas vienkārši nešķita aicinošs. Es atgriezos pie rasēšanas dēļa, paturot prātā šādus principus:
Personībai ir nozīme: es pievienoju smalkus dizaina elementus, kas atspoguļoja tērzēšanas robota personību — draudzīgu iemiesojumu, rakstīšanas indikatorus, kas atdarina cilvēka ritmus, un neregulāras animācijas, kas radīja dzīvīguma sajūtu, nešķērsojot neparasto ieleju.
Iestatiet skaidras cerības: es izveidoju ievadziņojumu, kurā skaidri paskaidrots, ar ko tērzēšanas robots varētu palīdzēt, un tā ierobežojumus, jau no paša sākuma nosakot atbilstošas lietotāju cerības.
Progresīva informācijas atklāšana: tā vietā, lai jau iepriekš pārslogotu lietotājus ar visām iespējām, es ieviesu sistēmu, kurā tērzēšanas robots ieteiktu atbilstošas papildu darbības, pamatojoties uz sarunas kontekstu.
Dizains vispirms mobilajām ierīcēm: pēc tam, kad redzēju, ka vairāk nekā 60% manu lietotāju vietnei piekļūst mobilajās ierīcēs, es pilnībā pārveidoju tērzēšanas saskarni, lai tā nevainojami darbotos mazākos ekrānos — lielāki skārienjutīgie mērķi, pilnekrāna tērzēšanas režīms un balss ievades opcijas.
Vizuāla atgriezeniskā saite: pievienoju smalkus statusa indikatorus, lai lietotāji vienmēr zinātu, kas notiek — vai tērzēšanas robots "domā", vai ir radušās savienojuma problēmas vai sarunā ir iesaistīts cilvēks.
Viens konkrēts lietotāja interfeisa elements radīja pārsteidzošu atšķirību: poga "precizējums", kurai lietotāji varēja pieskarties, ja viņiem šķiet, ka tērzēšanas robots tos ir pārpratis. Šī vienkāršā funkcija ievērojami uzlaboja lietotāju apmierinātību, jo sniedza viņiem acīmredzamu ceļu uz priekšu, kad saziņa pārtrūka, nevis lika viņiem pārfrāzēt savu jautājumu no nulles.
Metrika pirms un pēc bija pārsteidzoša – vidējais sarunas ilgums palielinājās par 340%, un to lietotāju skaits, kuri vairākas reizes atgriezās, lai izmantotu tērzēšanas robotu, dubultojās. Mācība bija skaidra: tehniskās iespējas maz nozīmē, ja cilvēka saskarne rada berzi.
Integrācija ar esošajām sistēmām
Sākotnējā integrācija bija vienkārša — tērzēšanas robots varēja meklēt dokumentācijā, un tam bija tikai lasīšanas piekļuve bieži uzdotajiem jautājumiem. Bet lietotāji ātri gribēja vairāk: "Vai varat pārbaudīt mana pasūtījuma statusu?" "Vai varat atjaunināt manu e-pasta adresi?" "Vai varat izveidot man atbalsta biļeti?" Šie pieprasījumi no lietotāja viedokļa bija pilnīgi loģiski, taču tiem bija nepieciešama dziļāka sistēmas integrācija.
Es izmantoju mikropakalpojumu pieeju, izveidojot īpašus API galapunktus, kurus tērzēšanas robots varētu izsaukt ar atbilstošu autentifikāciju. Katrai integrācijai bija savi drošības apsvērumi. Tikai lasāmām darbībām, piemēram, pasūtījuma statusa pārbaudei, es ieviesu verifikācijas plūsmu, kurā lietotājiem ir jānorāda pasūtījumu numuri un saistītie e-pasta ziņojumi. Rakstīšanas darbībām, piemēram, konta informācijas atjaunināšanai, es izveidoju spēcīgāku autentifikācijas darbību.
Viena īpaši noderīga integrācija bija ar manu biļešu sistēmu. Kad tērzēšanas robots atklāja, ka tas nevar adekvāti atrisināt problēmu, tas piedāvāja izveidot atbalsta biļeti, kas ir iepriekš aizpildīta ar sarunu vēsturi (ar lietotāja atļauju). Tas nozīmēja, ka tad, kad es beidzot atbildēju uz biļeti, man bija pilns konteksts, un lietotājam nebija jāatkārtojas.
Integrācijas pārveidoja tērzēšanas robotu no atsevišķas jautājumu un atbilžu sistēmas par īstu biznesa palīgu. Vidējais parasto problēmu risināšanas laiks ir samazinājies no 8 stundām (gaida, kamēr atbildēšu uz e-pasta ziņojumiem) līdz mazāk nekā 3 minūtēm. Varbūt vēl svarīgāk ir tas, ka lietotāji ziņoja par lielāku apmierinātību pat tad, ja tērzēšanas robots nevarēja pilnībā atrisināt viņu problēmu, jo tas varētu nodrošināt tūlītējus statusa atjauninājumus un radīt atbildību, izmantojot biļešu sistēmu.
Mācība: tērzēšanas robota vērtība palielinās, ja tas var izmantot jūsu esošās sistēmas un faktiski veikt noderīgas darbības lietotāju vārdā, nevis tikai runāt par tiem.
Panākumu mērīšana: analīze un nepārtraukta uzlabošana
Es ieviesu daudzpusīgu analītikas pieeju:
Sarunu metrika: es izsekoju pabeigšanas līmeni (vai lietotāji saņēma atbildes uz saviem jautājumiem?), sarunas ilgumu, atmešanas punktus un tēmu sadalījumu, lai saprastu, kādam nolūkam cilvēki patiesībā izmanto tērzēšanas robotu.
Uzņēmējdarbības ietekmes metrika: es mērīju samazinātu e-pasta ziņojumu skaitu bieži uzdotajiem jautājumiem, atbalsta biļešu novirzes līmeni (problēmas tika atrisinātas, neizveidojot biļetes) un klientu vaicājumu atrisināšanas laiku.
Lietotāju apmierinātība: pēc katras sarunas lietotāji varēja novērtēt savu pieredzi, un es analizēju šos vērtējumus, salīdzinot ar sarunu atšifrējumu, lai noteiktu pozitīvās un negatīvās pieredzes modeļus.
Ieņēmumu ietekme: es izsekoju reklāmguvumu līmeņus lietotājiem, kuri iesaistījās tērzēšanas robotā, salīdzinot ar tiem, kuri to nedarīja, jo īpaši sarunās, kurās tērzēšanas robots ieteica konkrētus pakalpojumus.
Dati atklāja pārsteidzošas atziņas. Piemēram, tērzēšanas robots bija visvērtīgākais nevis vienkāršākajiem jautājumiem (kurus varētu atrisināt ar labāku dokumentāciju) vai sarežģītākajiem (kuriem galu galā bija nepieciešama cilvēka iejaukšanās), bet gan vidusceļa jautājumiem, kas prasīja zināmu skaidrojumu turp un atpakaļ, bet sekoja iedibinātajiem modeļiem.
Es arī atklāju, ka lietotāji, kuri mijiedarbojās ar tērzēšanas robotu, par 37% biežāk reģistrējās augstākās kvalitātes pakalpojumiem, ne vienmēr tāpēc, ka tērzēšanas robots bija lielisks pārdevējs, bet gan tāpēc, ka tas samazināja berzi klienta ceļojuma informācijas vākšanas fāzē.
Šie rādītāji vadīja manu uzlabojumu ceļvedi. Es par prioritāti izvirzīju to jomu uzlabošanu, kurās tērzēšanas robots jau bija vērtīgs, nevis centos likt tam darīt visu. Ik pēc divām nedēļām es pārskatīju sarunu žurnālus, kuros lietotāji pauda neapmierinātību, identificēju modeļus un ieviesu mērķtiecīgus uzlabojumus — neatkarīgi no tā, vai tas nozīmēja papildu apmācības datus, UX pielāgojumus vai jaunu sistēmu integrāciju.
Šī uz datiem balstītā pieeja pārveidoja tērzēšanas robotu no forša tehnoloģiju projekta par īstu biznesa aktīvu ar izmērāmu IA.
Gūtās atziņas un turpmākie virzieni
Sāciet šauri, pēc tam paplašiniet: mana visveiksmīgākā pieeja bija koncentrēt tērzēšanas robotu uz dažām darbībām īpaši labi pirms tā iespēju paplašināšanas. Sākotnējā versijā tika risināti tikai pamata jautājumi par produktu, taču tas tika darīts ļoti precīzi.
Cilvēka un mākslīgā intelekta nodošana ir kritiska: dizains graciozai eskalācijai jau no paša sākuma. Brīži, kad jūsu tērzēšanas robots atpazīst savus ierobežojumus un vienmērīgi pāriet uz cilvēku atbalstu, ir tikpat svarīgi kā jautājumi, uz kuriem tas var tieši atbildēt.
Ieguldiet labā sarunu noformējumā: jūsu uzvedņu, apmācības datu un sarunu plūsmu kvalitāte ir svarīgāka par neapstrādātām modeļa iespējām. Labi izstrādāta sistēma, kas izmanto mazāku modeli, bieži pārspēj jaudīgu modeli ar vāju vadību.
Lietotāji piedod ierobežojumus, bet ne neskaidrības: lietotāji saprata, kad tērzēšanas robots nevarēja kaut ko izdarīt, bet kļuva neapmierināts, kad tas šķita apmulsis vai pretrunā pats sev. Skaidrība par iespējām izrādījās svarīgāka par funkciju plašumu.
Drošības un privātuma apsvērumi attīstās: tērzēšanas robotam kļūstot vairāk integrētam biznesa sistēmās, drošības apsvērumi kļuva arvien svarīgāki. Man bija jāievieš pareiza autentifikācija, datu samazināšanas prakse un skaidri lietotāju piekrišanas mehānismi.
Runājot par nākotni, es izpētu vairākus aizraujošus virzienus:
Multimodālas iespējas: tiek pievienota iespēja lietotājiem augšupielādēt kļūdu ziņojumu ekrānuzņēmumus vai fotoattēlus, savukārt tērzēšanas robots nodrošina vizuālus norādījumus.
Proaktīva palīdzība: pārejiet uz reaktīviem jautājumiem un atbildēm, lai noteiktu brīžus, kad tērzēšanas robots var proaktīvi piedāvāt palīdzību, pamatojoties uz lietotāja uzvedību.
Personalizēšana: izmantojiet sarunu vēsturi un konta datus, lai pielāgotu atbildes atkārtotiem lietotājiem, atcerētos viņu preferences un iepriekšējās problēmas.
Balss saskarne: daudzi lietotāji ir izrādījuši interesi runāt ar palīgu, nevis rakstīt, it īpaši mobilajās ierīcēs.
Šī tērzēšanas robota izveide ir mainījusi ne tikai manu biznesa darbību, bet arī manu izpratni par cilvēka un datora mijiedarbību. Tehnoloģija turpinās strauji attīstīties, taču pamatprincipi paliek: lietotāju vajadzību izpratne, pārdomātu sarunu veidošana un sistēmu izveide, kas zina gan savas iespējas, gan ierobežojumus.
Ja apsverat iespēju izveidot savu tērzēšanas robotu, iesaku jums rīkoties. Sāciet ar mazumiņu, koncentrējieties uz patiesām lietotāju vajadzībām un atcerieties, ka mērķis nav izturēt Tjūringa testu, bet gan atrisināt reālas problēmas reāliem cilvēkiem. Visveiksmīgākie AI palīgi nav tie, kas lieliski atdarina cilvēkus, bet gan tie, kas nozīmīgā veidā paplašina cilvēka spējas.