Wat een goede chatbot werkelijk doet
Een chatbot die iets toevoegt aan je bedrijf doet drie dingen: hij geeft snel een concreet antwoord op een specifieke vraag, hij weet wanneer het antwoord buiten zijn kennis valt en hij verbindt de gebruiker dan door naar een mens. Dat klinkt eenvoudig, maar de meeste chatbots die ik tegenkom doen geen van deze drie dingen goed.
- ▸Gerichte antwoorden: de chatbot haalt informatie op uit jouw eigen bronnen en citeert die. Een medewerker die vraagt naar het verlofsaldo krijgt het juiste getal, niet een algemene uitleg over hoe verlof normaal gesproken werkt.
- ▸Scoping: de chatbot weet wat buiten zijn kennisdomein valt. Vragen die niet beantwoord kunnen worden uit de beschikbare documenten worden niet beantwoord met een slag in de lucht.
- ▸Escalation: als de chatbot het antwoord niet heeft, of als een vraag een menselijke beslissing vereist, zegt hij dat expliciet en biedt hij een overstap naar een medewerker of contactformulier.
Deze drie eigenschappen komen niet automatisch uit een taalmodel. Ze ontstaan door de juiste architectuurkeuzes: welke kennisbron, hoe de documenten geindexeerd worden, hoe prompts gebouwd worden en welke grenzen hard worden ingeprogrammeerd.
Wat een slechte chatbot doet en waarom dat schade oplevert
Veel bedrijven die een chatbot willen, krijgen een wrapper om een generiek taalmodel. De chatbot heeft toegang tot alles wat het model weet: internet, nieuws, algemene kennis. Het resultaat is een bot die vragen beantwoordt met informatie die niet bij jouw bedrijf hoort.
- ▸Generieke antwoorden: een klant vraagt naar jouw retourbeleid en krijgt een uitleg over hoe retourzendingen in het algemeen werken. Niet wat jij als bedrijf hanteert.
- ▸Hallucinaties: het model verzint specifieke details als die niet in zijn context zitten. Prijs, levertijd, productnummer, alles kan gegenereerd worden alsof het klopt.
- ▸Lead-capture loops: sommige chatbots zijn gebouwd om e-mailadressen te verzamelen. Ze stellen vragen, leiden af en geven nooit het antwoord dat de gebruiker zoekt. Dat frustreert bezoekers en holt het vertrouwen in je merk uit.
- ▸Geen geheugen van de vorige beurt: een meergespreksstroom waarbij de chatbot elke vraag als nieuw behandelt, zonder context van wat eerder gezegd is.
- ▸Antwoorden die botsen met je beleid: een bot die zegt dat iets kan wat jij als bedrijf niet aanbiedt, of die een prijs noemt die niet klopt.
Schade door een slechte chatbot is niet altijd direct zichtbaar. Het zit in bezoekers die afhaken, in klantenservice-tickets die binnenkomen over zaken die de chatbot fout heeft gecommuniceerd en in het verlies van vertrouwen bij klanten die de bot een keer heeft misleid.
Mijn aanpak: RAG over jouw eigen documenten
RAG staat voor Retrieval-Augmented Generation. In plaats van een taalmodel te vragen om uit zijn hoofd te antwoorden, laat ik het model zoeken in een vectordatabase die gevuld is met jouw documenten. Het model antwoordt op basis van wat het vindt in die database, niet op basis van algemene internet-kennis.
De workflow ziet er zo uit: jouw documenten worden ingeladen, opgesplitst in stukken en omgezet naar vectorrepresentaties. Als een gebruiker een vraag stelt, zoekt het systeem eerst naar de meest relevante stukken tekst en geeft die als context aan het taalmodel. Het model formuleert vervolgens een antwoord op basis van precies die stukken.
- ▸Kennisbronnen die ik indexeer: PDF-documenten, Word-bestanden, Markdown-kennisbanken, CSV-productcatalogi, FAQ-pagina's, Confluence-exports, Notion-exports.
- ▸Automatische refresh: als jij een document bijwerkt, wordt de index automatisch bijgewerkt. De chatbot werkt altijd met de meest recente versie.
- ▸Source-attributie: de chatbot kan laten zien op welk document of welke sectie het antwoord gebaseerd is. Dat maakt antwoorden verifieerbaar.
- ▸Drempelwaarde voor onzekerheid: als de relevantiescore van het gevonden fragment te laag is, antwoordt de chatbot niet met een gok maar met een eerlijk 'dit weet ik niet uit de beschikbare documenten'.
- ▸Geheugen over de sessie: het gesprek onthoud context zodat opvolgvragen ('en wat kost dat dan?') correct beantwoord worden.
Het resultaat is een chatbot die alleen antwoordt op basis van wat jij hem geleerd hebt. Geen verrassingen, geen fabricaties, geen generieke uitleg die niet bij jouw bedrijf past.
Welke taalmodellen ik gebruik en waarom
Het model is een keuze die ik maak op basis van jouw specifieke situatie. Er is geen universeel antwoord op de vraag welk model het beste is. Claude van Anthropic is mijn eerste keuze voor situaties waar nauwkeurigheid en redeneren zwaarder wegen dan kosten. Claude heeft sterke instructie-volggedrag, lage hallucinatieneigingen en goede prestaties op taken die vereisen dat het model voorzichtig en eerlijk is over wat het niet weet.
Voor volumegedreven scenario's waar kostenefficiëntie prioriteit heeft, gebruik ik OpenAI's API. OpenAI's nieuwste model-mini biedt uitstekende kwaliteit bij lage kosten per token en is geschikt voor klantenservice-bots die veel korte vragen verwerken. Voor bedrijven die hun data volledig op eigen infrastructuur willen houden, is een lokaal model zoals Llama de juiste keuze. Het draait op jouw eigen server, geen data verlaat jouw netwerk.
De keuze voor het model staat los van de RAG-architectuur. Het fundament, de indexering van jouw documenten, de retrieval-logica, de escalation-regels, is identiek ongeacht welk model er op antwoordt. Dat betekent dat het model later gewisseld kan worden zonder de hele chatbot opnieuw te bouwen.
Waar de chatbot leeft: website, Slack, Teams of WhatsApp
Een chatbot bestaat uit twee onderdelen: de backend (het taalmodel, de RAG-pipeline, de bedrijfslogica) en de interface waarmee gebruikers ermee praten. De backend bouwen is het kernwerk. De interface is een keuze die afhangt van wie de gebruikers zijn en waar ze al zitten.
- ▸Website-widget: een chatvenster dat op je eigen website verschijnt. Geschikt voor klantenservice, productadvies of FAQ-afhandeling richting bezoekers. Ik bouw dit als een lichtgewicht embedded component zonder zware third-party scripts.
- ▸Slack-integratie: een bot die binnen je Slack-workspace antwoordt op vragen van medewerkers. Geschikt voor interne kennisbases, HR-vragen of IT-ondersteuning. Medewerkers stellen vragen in het kanaal of in een DM, de bot antwoordt direct.
- ▸Microsoft Teams: voor bedrijven die Microsoft 365 gebruiken en hun interne bot willen integreren in de bestaande werkplek. Dezelfde RAG-backend, andere interface.
- ▸WhatsApp Business: voor bedrijven met klanten die WhatsApp als primair communicatiekanaal gebruiken. Vereist een WhatsApp Business API-account, maar de aansluiting op de RAG-backend is standaard.
- ▸Admin-tool: soms wil je geen extern kanaal maar een interne zoekinterface bovenop je eigen documenten. Een simpele webapplicatie die medewerkers gebruiken om snel door interne documentatie te zoeken.
De interface-keuze bepaalt niet de kwaliteit van de antwoorden. Die zit in de RAG-pipeline. De interface bepaalt wel de gebruikerservaring en de adoptie. Een chatbot die medewerkers moeten openen in een apart systeem wordt minder gebruikt dan een bot die antwoordt in het kanaal waar ze al werken.
-- Anonieme casus
Interne kennisorganisatie: medewerkers vragen, documenten antwoorden
Een kennisintensieve organisatie had een interne wiki van meer dan 800 pagina's. Medewerkers konden informatie niet snel terugvinden. Zoekopdrachten leverden te veel resultaten op, de juiste pagina was dan alsnog moeilijk te identificeren. De klantenservice besteedde een significant deel van de dag aan het beantwoorden van interne vragen van collega's.
Ik bouwde een interne RAG-chatbot die de volledige wiki indexeert. Medewerkers stellen vragen in gewone taal. De chatbot haalt de relevante sectie op en geeft een concreet antwoord met een link naar de brondocumentatie. Antwoorden die buiten de wiki vallen worden niet gegenereerd. De chatbot zegt in dat geval expliciet dat er geen antwoord beschikbaar is in de interne kennisbank.
Het systeem draait op eigen infrastructuur. Geen externe API die interne documenten verwerkt. De index wordt elke nacht bijgewerkt zodat nieuwe of gewijzigde pagina's direct beschikbaar zijn. Medewerkers hoeven niet te weten hoe RAG werkt. Ze stellen een vraag in Slack en krijgen een antwoord.
Wat ik niet doe
Transparantie over de grenzen van een chatbot is net zo belangrijk als transparantie over de mogelijkheden. Er zijn aanvragen die ik afwijs, niet omdat ze technisch onmogelijk zijn, maar omdat ze resulteren in een chatbot die schade aanricht.
- ▸Chatbot zonder source-of-truth: een bot die antwoordt op basis van algemene internet-kennis zonder jouw specifieke documenten als basis. Dit leidt onvermijdelijk tot antwoorden die niet bij jouw bedrijf passen.
- ▸Chatbot die 'alles weet': een bot zonder duidelijke scope. Als de chatbot in theorie elke vraag kan beantwoorden maar geen enkele consistent goed, is hij slechter dan geen chatbot.
- ▸Marketing-funnel-bot zonder UX-test: een bot die primair is ontworpen om e-mailadressen te verzamelen of leads te kwalificeren zonder dat de gebruikerservaring getest is. Dit soort bots stoot bezoekers af.
- ▸Chatbot als vervanger voor menselijk oordeel: voor beslissingen die juridische, medische of financiele consequenties hebben, is een chatbot nooit de eindverantwoordelijke. Ik bouw escalation in, geen vervanging van menselijk advies.
- ▸Chatbot met verouderde documenten zonder update-mechanisme: een bot die aanvankelijk goed werkt maar na zes maanden verouderde informatie geeft omdat de index nooit ververst wordt.
Chatbot laten maken: prijzen
De investering voor een chatbot hangt af van het aantal kennisbronnen, de complexiteit van de escalation-logica en de interface die gekozen wordt. Er is geen standaardbedrag dat hier zinvol is.
Op aanvraag
Neem contact op voor een inschatting op basis van jouw situatie. Ik geef altijd een eerlijk beeld van wat realistisch is voor de start.