In het najaar van 2023 wilden we laten zien wat een taalmodel doet als je het aan één bron vastlegt. Niet “wat vindt de AI hiervan”, maar: wat staat er in het verkiezingsprogramma van deze partij, en waar dan? Zo ontstond Wijsstemmer, een eigen project van Eenvoud en Leto, waarin je per partij een gesprek kon beginnen met het programma zelf.
Het was tegelijk de etalage van Leto: onze eigen dienst voor chatbots op je eigen documenten. Elf partijen, elf bots, allemaal op dezelfde motor. Tien dagen na het eerste ontwerp stond het online. Twee weken voor de verkiezingen hebben we het er zelf weer afgehaald.

Het vraagstuk
Een verkiezingsprogramma is tientallen pagina’s lang en wordt door bijna niemand gelezen. Wat wél gelezen wordt zijn samenvattingen, en die zijn van iemand anders. Wij wilden de omgekeerde route: laat iemand zelf een vraag stellen, en antwoord alleen met wat er in het programma staat.
Dat stelt twee harde eisen. De bot mag niets verzinnen - staat het er niet, dan is het antwoord dat het er niet staat. En elk antwoord moet terug te leiden zijn naar de passage waar het op berust, anders is het net zo goed een mening. Daar komt nog iets bij: bij een politiek onderwerp is de vraag zelf gevoelige informatie. Wie wat vraagt, mag niet aan een persoon te koppelen zijn.
Staat het er niet, dan is het antwoord dat het er niet staat.

Bekijk bron
Onze aanpak
We hebben de inhoud en het gesprek strikt gescheiden gehouden.
- Het verkiezingsprogramma van elke partij ongewijzigd ingelezen, in stukken geknipt per alinea, met de vindplaats eraan vast
- Die stukken in een vectordatabase, zodat een vraag in gewone woorden de juiste passage vindt en niet het juiste trefwoord
- Per vraag alleen de relevante passages plus de vraag naar het taalmodel, zodat er geen antwoord kan ontstaan dat niet in het programma staat
- Elf partijbots op één motor: onze eigen dienst Leto, waarin een bot niets anders is dan een set documenten met een widget erop
- Een frontend in Laravel met Inertia en Vue, waarin je per partij een gesprek begint en met één tik naar een andere partij overstapt
- Vragen anoniem verwerkt en in bulk doorgezet, zodat een vraag niet aan een bezoeker te koppelen is - uitgelegd op een eigen pagina in plaats van in de kleine lettertjes
Het ontwerp ging op 16 september de deur uit, de maandag erna begon het bouwen, en tien dagen later lag het persbericht bij de redacties. Klein team, korte lijnen, elke wijziging via dezelfde release-pijplijn naar productie.
Het resultaat
Wijsstemmer stond eind september online en werd opgepikt: Sargasso zette hem in het rijtje kieswijzers, en de perslijst deed zijn werk. Elf partijen waren te bevragen, in gewone taal, met de passage erbij waar het antwoord op berustte.
Begin november kwam er een sommatie van ProDemos, de organisatie achter StemWijzer: de naam Wijsstemmer maakte volgens hen inbreuk op hun merk. Wij vonden van niet - Wijsstemmer nam de rol van StemWijzer niet over en had er prima naast kunnen bestaan - maar een merkenprocedure twee weken voor de verkiezingen leek ons geen goed idee. Op 6 november is de site omgedoopt tot Slimstemmer en kort daarna offline gegaan. Een week later stopte ook Leto: OpenAI had in een paar maanden ingehaald waar wij op hadden gebouwd, en die conclusie stond in september al in onze eigen stukken.
Wat overblijft is wat het aantoonde. Een taalmodel dat aan één document vastzit en zijn bron kan noemen is een ander apparaat dan een taalmodel dat overal antwoord op geeft. Dat onderscheid is de kern van elk AI-project dat we sindsdien voor klanten hebben gedaan.
Een taalmodel dat aan één document vastzit is een ander apparaat dan een taalmodel dat overal antwoord op geeft.
Tien dagen bouwen en elf partijen aan het woord - de techniek was het probleem niet, de naam wel.
Praat met ons
Vertel ons over je vraagstuk. Wij denken mee.
Binnen één werkdag reactie. Geen accountmanagers, geen verkooppraatje.







