Tankeledere

Teknologi alene garanterer ikke adoption: LÃĶrdomme fra opbygning af en intern AI-chatbot

mm
FÃļj Unite.AI til dine foretrukne kilder pÃĨ Google

Da AI-adoption accelererede over industrier, syntes det logisk at deployere en chatbot til at stÃļtte en nyligt lanceret intern applikation. Applikationen selv udfordrede imidlertid konventionelle brugerforventninger. Den introducerede nye arbejdsgange bygget pÃĨ fremvoksende teknologi, som var ukendt for de fleste brugere.

For at reducere friktion og forbedre adoption var chatbotten designet til at besvare spÃļrgsmÃĨl om applikationen og den underliggende teknologi. MÃĨlet var at hjÃĶlpe brugerne med at forstÃĨ ikke kun, hvad de skulle gÃļre, men ogsÃĨ hvorfor systemet opfÃļrte sig pÃĨ den mÃĨde, det gjorde. Vi troede, at ved at give kontekstuelle forklaringer ville vi kunne accelerere lÃĶring og reducere forvirring.

Fra begyndelsen var AI-agenten tÃĶnkt som en lÃļsning med begrÃĶnset omfang. Den var designet strengt til at stÃļtte dokumentation og give brugerhjÃĶlp. Konceptuelt var chatbotten tÃĶnkt til at fungere som en dynamisk erstatning for en traditionel ofte-stillede-spÃļrgsmÃĨl-dokument, der tilbÃļd en konversationel, sÃļgbar og kontinuerligt tilgÃĶngelig grÃĶnseflade med udvidet funktionalitet ud over statisk indhold.

For at integrere agenten i organisationens interne chat-miljÃļ havde vi brug for at forstÃĨ, hvordan strukturerede meddelelser blev visuelt fremstillet, hvordan samtalehistorik blev gemt og hvordan systemet identificerede deltagere i trÃĨde. Dette gjorde det muligt for os at bestemme de centrale variabler, der var nÃļdvendige for at starte behandlingen af brugerspÃļrgsmÃĨl.

At grundlÃĶgge modellen: Fra hallucination til pÃĨlidelig kontekst

Store sprogmodeller er kraftfulde, men uden kontekstuel forankring er de tilbÃļjelige til hallucinationer. For at imÃļdegÃĨ dette implementerede vi en vektor-embedding-teknik.

Brugervejledninger, interne dokumentationer og produktvisionen blev transformeret til numeriske vektorreprÃĶsentationer af tekst. Disse indlejninger fik fat i semantisk betydning, hvilket gjorde det muligt for systemet at matche begreber i stedet for at afhÃĶnge af enkel keyword-matching.

NÃĨr en bruger stillede et spÃļrgsmÃĨl, konverterede systemet spÃļrgsmÃĨlet til en vektorreprÃĶsentation og sammenlignede den med de gemte indlejninger. Det hentede de mest semantisk relevante dokumenter og indfÃļrte dem i modellens prompt. Modellen genererede herefter en respons, der var grundet i disse specifikke dokumenter, ofte sammenfattende den relevante information.

Denne tilgang forbedrede betydeligt svarets nÃļjagtighed. I stedet for at generere svar baseret pÃĨ ren generel viden, svarede modellen ved hjÃĶlp af vores organisations egen dokumentation som kontekst.

Den skjulte kompleksitet af kontekststyring

Det var afgÃļrende at inkludere samtalehistorik i promptet, sÃĨ chatbotten kunne fortolke opfÃļlgende spÃļrgsmÃĨl og opretholde kontinuitet. Uden historik blev interaktioner fragmenterede og gentagne. Brugere udviklede ofte deres spÃļrgsmÃĨl inkrementelt, og uden kontekst kunne chatbotten ikke fortolke henvisninger som “den mulighed” eller “det foregÃĨende trin”.

Men at inkludere for meget historik skabte et andet problem: token-grÃĶnser. Disse opstÃĨr, nÃĨr sprogmodeller afkorter input, der overstiger deres maksimale kontekstvindue. Hvis et spÃļrgsmÃĨl eller en samtale blev for lang, kunne vigtig information gÃĨ tabt. Dette producerede ikke en eksplisit fejl, men snarere en nedgradering af svarets kvalitet eller pÃĨvirkning af hentningsnÃļjagtigheden.

For at imÃļdegÃĨ dette implementerede vi strategier til at styre prompt-stÃļrrelse, prioritere relevant indhold og overvÃĨge spÃļrgsmÃĨls lÃĶngde. Vi eksperimenterede med at sammenfatte ÃĶldre meddelelser og selektivt inkludere kun de mest relevante dele af samtalen. Kontekst var kritisk, men den skulle vÃĶre omhyggeligt styret.

At udvide kapaciteter og skabe forvirring

Ud over at besvare dokumentationsbaserede spÃļrgsmÃĨl, udvidede vi chatbottens kapaciteter ved at tilfÃļje backend-funktioner, der kunne hente bestemt offentlig information direkte fra applikationen. Dette gjorde det muligt for brugere at hente data fra chatten uden at logge ind i applikationen selv. IdÃĐen var at reducere friktion og styrke chatbotten som en nyttig grÃĶnseflade, ikke kun et statisk videnlag.

Denne udvidelse skabte imidlertid forvirring hos nogle brugere. NÃĨr chatbotten begyndte at hente live-data, begyndte brugerne at spÃļrge den om at udfÃļre handlinger, der krÃĶvede direkte interaktion inden for platformen. De antog, at chatbotten kunne erstatte operationelle trin, herunder dem, der krÃĶvede godkendelse eller bevidst udfÃļrelse inden for platformen.

Chatbotten var aldrig designet til at udfÃļre disse handlinger, men forskellen mellem informationshjÃĶlp og operationel udfÃļrelse var ikke altid klar.

Integration af live-data introducerede ogsÃĨ nye tekniske overvejelser. Vi havde brug for at definere, hvornÃĨr et spÃļrgsmÃĨl skulle gÃĨ gennem indlejring-baseret henting og hvornÃĨr det skulle udlÃļse en backend-opkald. Denne beslutningslogik krÃĶvede omhyggelig design. Derudover havde vi brug for at justere svarene for at hÃĨndtere tekniske undtagelser pÃĨ en smuk mÃĨde og undgÃĨ at eksponere rÃĨ systemfejl for brugerne.

Multisproget kapacitet er ikke automatisk

Under testningen opdagede vi, at chatbotten konsekvent opfÃļrte sig bedre pÃĨ engelsk end pÃĨ andre sprog, der blev brugt inden for Jalasoft. Den primÃĶre ÃĨrsag var strukturel: Det meste af dokumentationen, der blev brugt til at generere indlejninger, var skrevet pÃĨ engelsk, og indlejningsmodellen, vi valgte, var optimeret til engelsk semantisk lighed.

Den understÃļttede ikke tvÃĶrsproglig henting eller semantisk sammenligning pÃĨ tvÃĶrs af sprog. Som fÃļlge heraf hentede ikke-engelske forespÃļrgsler ofte mindre relevante dokumenter, hvilket fÃļrte til svagere svar.

Dette fremhÃĶvede en vigtig indsigt: Multisproget kapacitet er ikke automatisk.

NÃĨr forventninger udvides ud over omfang

For at kontrollere brugsomkostningerne implementerede vi en daglig grÃĶnse for, hvor mange spÃļrgsmÃĨl brugerne kunne stille. Imidlertid begrÃĶnsede vi ikke udtrykkeligt spÃļrgsmÃĨlenes omfang. Brugerne var frie til at spÃļrge om noget som helst.

Dette ÃĨbne spÃļrgsmÃĨl ledte til uventede brugs mÃļnstre. Nogle brugere begyndte at interagere med chatbotten til personlige eller eksplorerende formÃĨl, der ikke var relateret til applikationen. Over tid voksede forventningerne ud over chatbottens tÃĶnkte rolle, hvilket skabte en klÃļft mellem, hvad brugerne hÃĨbede, den kunne gÃļre, og hvad den var designet til at stÃļtte.

Denne misalignering reducerede gradvist dens opfattede nyttighed. Brugen af chatbotten faldt, og den blev til sidst afviklet, med indsats rettet mod at redesigne applikationen selv for at gÃļre den mere intuitiv og nem at bruge.

Den virkelige lÃĶre: Interaktionsdesign

Fra et ingeniÃļr-mÃĶssigt synspunkt fungerede systemet rimeligt godt. Det hentede dokumenter, inkluderede samtalehistorik, reducerede hallucinationer gennem indlejninger, hÃĨndterede backend-opkald og styrede prompt-stÃļrrelse. Arkitekturen fungerede, som det var tÃĶnkt.

Men den manglede bevidst interaktionsdesign.

Chatbotten formulerede ikke tydeligt samtaler. Den forstÃĶrkede ikke konsekvent sin egen rolle. Den vejledte ikke brugerne med strukturerede eksempler pÃĨ, hvad den kunne og ikke kunne gÃļre. Den besvarede spÃļrgsmÃĨl, men den satte ikke forventninger.

Vi lÃĶrte, at konversational AI-systemer krÃĶver mere end stÃĶrke modeller og struktureret data. De krÃĶver omhyggeligt designet forventninger. Brugere har brug for klarhed om agentens rolle, dens grÃĶnser og dens styrker. Systemet skal proaktivt give eksempler pÃĨ prompts, klargÃļre begrÃĶnsninger og omdirigere spÃļrgsmÃĨl, der er uden for omfang, konsekvent.

Uden denne bevidste ramme kan selv en teknisk sund implementering have svÃĶrt ved at opretholde vÃĶrdi. Brugere kan overvurdere kapaciteter eller frakoble, nÃĨr uudtalte forventninger ikke bliver opfyldt.

Kernepunktet er enkelt, men kraftfuldt.

Opbygning af konversational AI er ikke kun en teknisk udfordring. Det er ogsÃĨ en interaktionsdesign-udfordring.

StÃĶrk kontekst, prÃĶcis henting og robust arkitektur er nÃļdvendige, men ikke tilstrÃĶkkelige. Systemets effektivitet afhÃĶnger lige sÃĨ meget af, hvordan det definerer sin rolle, kommunikerer sine grÃĶnser og former brugerforventninger.

Teknologi alene garanterer ikke adoption. Klart interaktionsdesign gÃļr.

Angie Navia er en Full-Stack Developer hos Jalasoft med fem ÃĨrs erfaring i at bygge produktionsapplikationer og integrere AI-kapaciteter i softwarelÃļsninger. Hun har gennemfÃļrt IBM Generative AI for Software Developers Specialization og anvender AI-vÃĶrktÃļjer i sin daglige udviklingsarbejde.