Wat doet een taalmodel écht
Tokens, kansen en waarom een LLM geen database is
Typ "De kat zit op de" in een taalmodel, en kijk wat het antwoord wordt. Grote kans dat er "mat" komt, of "bank". Dat is geen toeval, en het is ook geen begrip. Het is statistiek, op een schaal die we tot een paar jaar geleden niet voor mogelijk hielden. In deze les open je de motorkap. Je gaat zien dat een taalmodel geen feitendatabase is, geen denkende entiteit, maar een extreem getrainde voorspeller van "wat komt hierna?". En juist omdat dat onderscheid zo vaak scheef gaat, gaan we het uit elkaar trekken tot je het voor altijd voelt.
Stap één: tekst is geen tekst voor het model
Een taalmodel ziet geen woorden. Het ziet getallen. Voordat je zin bij het model aankomt, wordt hij opgeknipt in stukjes die "tokens" heten. Een token is meestal een stuk van een woord — soms een heel woord, soms een lettergreep, soms een leesteken.
De zin "Ik ga vanavond koken." wordt bij Claude bijvoorbeeld opgeknipt in ongeveer: "Ik", " ga", " van", "avond", " koken", ".". Zes tokens. Elke token krijgt een uniek nummer uit een tabel van zo'n 100.000 tot 200.000 mogelijke tokens. Jouw zin is voor het model dus gewoon een rijtje getallen, zoals [2045, 318, 812, 3301, 9421, 13].
Waarom is dit belangrijk? Omdat prijzen en snelheid in tokens worden gerekend, niet in woorden. Een Nederlands woord is gemiddeld 1,3 tot 2 tokens. Een lang technisch woord als "versnellingsbaksmering" kan oplopen naar zes of zeven tokens. En Chinees of Japans? Elk karakter is vaak één token, maar er zijn er veel meer nodig voor dezelfde betekenis. Daarom is Engels als werktaal voor AI gemiddeld het goedkoopst.
OpenAI en Anthropic hebben online "tokenizers" waar je een stuk tekst plakt en ziet hoe het opgeknipt wordt. Doe dat eens met een klantmail, een artikel en een stuk code. Je zult zien: code en Engels zijn efficiënt, Nederlandse juridische taal is duurder, emoji's en accenten zijn verrassend kostbaar.
Stap twee: voorspellen, voorspellen, voorspellen
Nu het belangrijkste deel. Wat doet het model met die rij getallen? Het doet één ding, heel vaak: het schat voor elke mogelijke volgende token hoe waarschijnlijk het is dat die als volgende komt. Niet één antwoord — een kansverdeling over álle tokens in het vocabulaire.
Stel je geeft "De hoofdstad van Frankrijk is". Het model rekent: "Parijs" 82%, "een" 4%, "de" 3%, "vooral" 1%, enzovoort door de hele woordenschat. Het kiest een token op basis van die kansen, plakt hem aan je invoer, en begint opnieuw. Zo bouwt een taalmodel zijn antwoord op — token voor token, elke keer opnieuw de kansen berekenend op basis van alles wat er tot nu toe staat.
Dat is letterlijk wat er gebeurt. Geen raadplegen van een database. Geen zoekopdracht. Geen begrip in de filosofische zin. Puur: wat is statistisch gezien het meest plausibele volgende stukje tekst, gegeven alles wat ik tijdens mijn training heb gezien en gegeven wat er nu op het scherm staat?
Waarom werkt dat zo goed?
Dit is de vraag waar zelfs de makers niet volledig antwoord op hebben. Maar een groot deel van het effect is dat als een model op genoeg tekst wordt getraind — boeken, artikelen, code, gesprekken — de patronen die nodig zijn voor "plausibel volgend woord" enorm rijk worden. Om het volgende woord van een wiskunde-bewijs goed te voorspellen, moet je iets van wiskunde hebben opgepikt. Om het volgende woord van een Python-functie te voorspellen, moet je iets van programmeerlogica hebben opgepikt.
Zo ontstaat vanuit een simpel doel — het volgende token raden — een verrassende rijkheid aan vaardigheden. Niet omdat iemand die erin heeft gestopt, maar omdat ze nodig waren om goed te voorspellen. Dat heet "emergent behavior" en het is een van de fascinerendste dingen aan moderne AI.
En de temperatuur dan?
Bij het kiezen van het volgende token zit een knop die "temperature" heet. Op temperatuur 0 kiest het model altijd het meest waarschijnlijke volgende token. Streng, voorspelbaar, saai. Op temperatuur 1 volgt het de kansverdeling zoals hij is — soms komt toch dat 3%-woord eruit. Op temperatuur 1,5 of 2 wordt het creatief, soms te creatief, en beginnen zinnen af te dwalen.
In je API-calls kun je die knop zelf zetten. Voor een juridisch document of een SQL-query wil je temperature 0 of 0,1 — geen verrassingen. Voor een brainstorm of een creatieve tekst kun je 0,8 proberen. Voor je klantenservice-widget meestal iets laags, 0,2 of 0,3, zodat antwoorden consistent blijven.
Dat is geen bug. Als temperature boven 0 staat, is er toeval in het kiezen. Twee keer dezelfde vraag kan twee verschillende (maar beide plausibele) antwoorden geven. Wil je reproduceerbaar werken voor tests — zet temperature op 0. Wil je variatie in marketingteksten — draai de knop omhoog.
Waarom een LLM géén database is
Dit is het misverstand waar de meeste tijd mee verloren gaat. Mensen denken: "Het model weet dingen, dus ik vraag het feiten." En dan verbazen ze zich als het model met een stalen gezicht een wet verzint die niet bestaat, een CEO-naam noemt die bij het verkeerde bedrijf hoort, of een bronvermelding geeft naar een boek dat nooit geschreven is.
Dat heet "hallucineren" en het is geen bug. Het is de kern van hoe het model werkt. Het voorspelt plausibele tekst. Als het genoeg voorbeelden heeft gezien van "de hoofdstad van X is Y", zal het voor Frankrijk betrouwbaar "Parijs" zeggen. Maar vraag je naar een obscure Nederlandse gemeenteverordening uit 2019, dan gaat het gokken. En het gokt overtuigend, want overtuigende tekst is waar het op getraind is.
De les: gebruik een LLM niet als feitenorakel. Gebruik hem om tekst te transformeren, samen te vatten, te herschrijven, te structureren, code te genereren, ideeën te brainstormen. Als je echte feiten nodig hebt, stop ze zelf in de prompt (context-engineering, daar komen we op terug) of gebruik een tool die de feiten ophaalt en dan door het model laat verwerken.
De knowledge cutoff
Elke model is getraind tot een bepaalde datum. Claude's kennisafkap ligt momenteel rond januari 2026. GPT-5 heeft zijn eigen datum, Gemini weer een andere. Vraag een model naar iets wat daarna is gebeurd, en het weet het simpelweg niet. Soms zegt het dat eerlijk. Soms verzint het iets wat klopt had kúnnen zijn. Daar moet je op bedacht zijn.
De oplossing is niet "wachten op de volgende trainingsversie". De oplossing is: voeg actuele informatie toe aan je prompt. Scrape de relevante webpagina, plak hem bij je vraag, en vraag het model op basis van deze tekst iets te doen. Dan gebruikt het zijn taalvaardigheid, maar met jouw actuele feiten.
Drie dingen om mee te nemen
- Tokens, geen woorden. Alles wat je aan het model geeft wordt opgeknipt, en dat bepaalt je kosten en je contextruimte. Een ruwe vuistregel: een Nederlandse pagina tekst is ongeveer 500-800 tokens.
- Voorspellen, geen opzoeken. Het model doet niets anders dan "wat is het meest plausibele volgende stukje?". Alle indrukwekkende dingen eromheen volgen uit die ene simpele regel, op enorme schaal toegepast.
- Geen feitenmachine. Feiten die je nodig hebt, lever je zelf aan. Het model is een taal-transformator, geen Wikipedia. Wie dat onderscheid voelt, stopt met worstelen en begint met bouwen.
In de volgende les kijken we naar het modellenlandschap zelf. Claude, GPT, Gemini, en de open-source broeders. Wanneer kies je welk model, en waar gebruik je ze voor? Want ze zijn niet allemaal even goed in dezelfde dingen — en voor jou als bouwer maakt de juiste keuze het verschil tussen een rekening van tien euro en een rekening van tienhonderd.
Tot dan. Blijf onder de motorkap kijken.