Waarom dit bestaat
Wie voor Nolorem betaalt, verdient degelijke hulp op het moment dat er iets hapert. Geen van de gebruikelijke opties beviel me. Een gehoste helpdesk rekent per agent per maand aan en bewaart je klantgesprekken op andermans servers, wat een vreemde boodschap is voor een platform dat vertrouwelijkheid als uitgangspunt neemt. Een statische documentatiesite beantwoordt de vragen van gisteren en kan geen ticket aannemen.
Wat ik wél wilde bestond niet in een vorm die me beviel: een kennisbank die de vraag opvangt voor ze een ticket wordt, met een assistent die alleen antwoordt vanuit mijn eigen documentatie. Dus bouwde ik het zelf, op dezelfde infrastructuur en dezelfde principes als Nolorem.
Niet publiek toegankelijk
Het platform is afgeschermd voor klanten van Bonalogic, op dit moment dus gebruikers met een Nolorem-account. Deze pagina beschrijft hoe het in elkaar zit; er is geen rondleiding.
Wat het doet
Een assistent die zijn bronnen toont. De AI-assistent is geen algemene chatbot met een systeemprompt erop. Hij zoekt in de eigen kennisbank en beantwoordt de vraag vanuit wat hij daar vindt, met verwijzing naar het artikel. Vindt hij niets, dan zegt hij dat in plaats van iets aannemelijks te verzinnen. Dat is dezelfde keuze die Nolorem maakt bij het schrijven, en om dezelfde reden.
Hij kent de context van de gebruiker. De assistent kan de eigen tickets van de gebruiker opzoeken, zien op welk plan die zit, en een ticket voor hem opstellen. Escaleren naar een echt ticket gebeurt pas na expliciete bevestiging, zodat niemand per ongeluk een gesprek in de wachtrij duwt.
Een ticket erft wat je al gelezen hebt. Loopt een vraag toch uit op menselijke hulp, dan draagt het ticket de context mee van de artikels die de gebruiker al doorlopen had. Dat scheelt de heen-en-weer waarin een supportmedewerker vraagt of je de handleiding al bekeken hebt.
Gaten in de kennisbank worden zichtbaar. Tickets zijn niet alleen werk, ze zijn ook signaal. Waar herhaaldelijk vragen binnenkomen die de kennisbank niet dekt, hoort dat op te vallen in plaats van weg te zakken in een archief. Die terugkoppeling van tickets naar documentatie is wat het systeem met de tijd beter maakt.
Self-hosted, op mijn eigen infrastructuur. Supportgesprekken bevatten het gevoeligste materiaal dat een klant ooit doorstuurt: screenshots, accountgegevens, beschrijvingen van wat precies stukging. Dat op infrastructuur houden die ik zelf beheer is geen feature waar ik voor aanreken, het is de standaard.
Waar ik tegenaan liep
Zoekkwaliteit beslist alles. Een kennisbank die niemand kan doorzoeken is een kennisbank die niemand gebruikt, en dan dient men alsnog een ticket in. Precies wat het systeem moest voorkomen. Zoeken laten matchen op bedoeling in plaats van op exacte bewoording was het verschil tussen werkend en decoratief.
Een assistent met gereedschap heeft grenzen nodig. Zodra een model tickets kan opzoeken en aanmaken, wordt promptinjectie een reëel risico in plaats van een theoretisch. Data die van buiten komt wordt afgebakend doorgegeven, de systeemprompt blijft kort, en acties met gevolgen vragen om bevestiging van de gebruiker.
Goede artikels schrijven is lastiger dan het platform bouwen. De software was de kleinste helft. Een artikel dat een vraag echt beantwoordt, in plaats van de interface te herhalen, kost oprecht moeite, en geen hoeveelheid engineering vervangt dat.
Waarom dit hier staat
Dit is een klein platform dat een weinig glamoureus probleem oplost, en daarmee een eerlijke illustratie van het soort werk dat bedrijven het vaakst echt nodig hebben. Geen maanreis, maar het ding dat stilletjes een terugkerende kost wegneemt. Het toont ook dat ik mijn eigen klanten serieus neem: het had goedkoper gekund door een abonnement af te sluiten en de gesprekken elders te laten staan.