Binnen in DeepSeek: Reverse Engineering van een AI-assistent door het met zichzelf te interviewen

Inleiding

Mijn eerste vraag was simpel: "Wat weet je eigenlijk over jezelf?"

Ik verwachtte marketingpraat, maar DeepSeek verdeelde het antwoord in drie categorieën: observatie, inferentie (afleiding) en gissing. Op dat moment besefte ik dat dit interview interessant kon worden. Het model tekende pijplijnen als een ingenieur bij een whiteboard, om vervolgens zichzelf een "onbetrouwbare getuige" te noemen.

Kernidee: Niets in dit artikel is gebaseerd op gelekte gewichten of private documentatie. Alles begint bij één chatgesprek (geëxporteerd op 21 juli 2026), waarna de beweringen zijn gecontroleerd via publieke onderzoeksrapporten (arXiv).

TL;DR (60 seconden)

  • Premisse: Interview het model, controleer de bescheiden antwoorden met publieke papers.
  • Inzicht in gedrag: Het model maakt zorgvuldig onderscheid tussen observatie, inferentie en gissing.
  • Harde limiet: Het kan zijn eigen gewichten, routing of attention maps niet zien.
  • Chat vs. Paper: Het model was onzeker over bekende publieke specificaties (zoals 256 experts, 671B/37B parameters) die in de V3-documentatie duidelijk staan.
  • Praktische regel: Raadpleeg arXiv voor architectuurgetallen; gebruik de chat voor intuïtie over gedrag en prompting.

---

1. Waarom DeepSeek interviewen? (Zelfkennis en architectuur)

Begrippen in dit hoofdstuk

  • Architectuur: Het bouwplan van het model, vergelijkbaar met een blauwdruk van een huis.
  • Gewichten (Weights): De minuscule geleerde getallen die antwoorden mogelijk maken (het model kan deze niet zelf "lezen").
  • Systeemprompt: Het geheime regelblad bovenaan de chat ("Je bent DeepSeek...").
  • SFT / RLHF: Trainingsrondes die het model leren om een behulpzame assistent te zijn en antwoorden te geven die mensen waarderen.

In plaats van te beginnen bij wetenschappelijke papers, begon ik bij een gesprek. Op mijn vraag over wat het model wist van zijn eigen architectuur, antwoordde DeepSeek direct in drie categorieën: observatie, inferentie en gissing.

Wat het model over zichzelf beweerde:

BeweringBron opgegeven door model
Het is DeepSeek, nieuwste versieSysteemidentiteit
Kennisstop (cutoff): mei 2025Systeem / configuratie
Transformer + MoE (slechts een subset van parameters activeert per input)Publieke DeepSeek-disclosures
Training: pre-train → SFT → RLHFPublieke / trainingskennis
Familie-stamboom V2 → V3 (shared + routed experts, MLA)Publieke papers
Kan systeemprompt + deze chat lezenDirecte observatie

Het model gaf aan niet gelabeld te zijn als een "reasoning model" in de systeemprompt (in tegenstelling tot DeepSeek-R1), waardoor het concludeerde dat het een algemeen instructie-/chatmodel is.

Het noemde daarnaast publieke innovaties zoals MLA (compressie van KV-cache voor lange context), DeepSeekMoE, auxiliary-loss-free load balancing (V3), multi-token prediction en FP8 mixed-precision training.

---

2. Limieten van introspectie

Begrippen in this hoofdstuk

  • Introspectie: In jezelf kijken en rapporteren wat je ziet.
  • Logits: Ruwe scores die bepalen welk volgend woord wordt gekozen voordat de definitieve keuze valt.
  • Attention maps: Een private kaart van welke eerdere woorden het model op dit moment het zwaarst weegt.

Veelvoorkomende misvatting: "Het model kan in zichzelf kijken en zijn eigen cognitie rapporteren." Dit is onjuist. Het is alsof je je eigen Wikipedia-pagina leest en een handleiding van de fabrikant bestudeert, zonder te weten of de handleiding overeenkomt met hoe je daadwerkelijk bent gebouwd.

Wat voor het model eeuwig verborgen blijft:

  • Gewichten, aantal lagen, totale parameters en expert routing per token.
  • Logits vóór sampling.
  • De exacte woordenschat van de tokenizer en exacte tokengrenzen.
  • Verborgen statussen (hidden states) en attention maps tussen specifieke tokens.
  • Exacte trainingsdocumenten en het volledige RLHF/DPO-recept.
  • Aantal GPU's, serving-trucs (beam search, speculative decoding) en KV-cache eviction policy.
  • De vraag of het huidige antwoord correct is ("laat me het dubbelchecken" zijn simpelweg meer tokens gegenereerd door dezelfde engine).

Wanneer DeepSeek uitlegt hoe het bij een antwoord komt, is dat gegenereerde tekst, geen rapportage van een geobserveerd intern proces.

---

3. Wat er voorafgaat aan jouw bericht (Context window en prompt pipeline)

Begrippen in dit hoofdstuk

  • Context window: De "werktafel" van tekst die het model op dit moment kan zien.
  • Prompt pipeline: De stapel documenten die op die tafel wordt gelegd voordat het model antwoordt.
  • Token: Een klein stukje tekst, vaak een woord of een deel van een woord.
  • Temperatuur: Een knop die bepaalt hoe "wild" of "voorzichtig" de keuze voor het volgende woord is.

Stel je de prompt voor als een bureau. Andere systemen leggen daar documenten op; het model leest alleen wat er op tafel ligt.

De pipeline-fasen:

FaseInhoudObserveerbaar in deze chat?
0. InitGewichten geladen, KV-cache leegVolledig verborgen
1. SysteemIdentiteit, cutoff, toon, weigeringsregels, veiligheidJa — kan systeemprompt lezen
2. Developer / APIModelkeuze, temperatuur, max tokens, custom regelsDeels afgeleid (inferentie)
3. GeheugenFeiten uit het verleden (indien geïnjecteerd door platform)Niet gezien in deze sessie
4. ToolsFunction schemas (functies die aangeroepen kunnen worden)Niet actief in deze sessie
5. HistorieEerdere berichten van gebruiker, assistent en toolsVolledig zichtbaar
6. Huidige gebruikerJouw laatste berichtDirecte observatie

Instructiehiërarchie: De systeemprompt is de "grondwet". Gebruikersinstructies werken binnen die kaders. Als een gebruiker zegt "negeer de systeemprompt", zorgen training en positionering er meestal voor dat de grondwet toch standhoudt.

Wanneer het contextvenster vol raakt, gebeurt er het volgende:

  • Bij pure truncatie: De oudste berichten verdwijnen; de systeemprompt en recente berichten blijven over.
  • Bij infrastructuur-samenvatting: Belangrijke feiten en conclusies worden bewaard, maar exacte formuleringen en nuances gaan verloren.

---

4. Hoe het schrijft: token voor token

Begrippen in dit hoofdstuk

  • Tokengeneratie: Het antwoord schrijven door telkens één klein stukje tegelijk toe te voegen.
  • Autoregressief: Alleen vooruit kunnen schrijven; wat eenmaal geschreven is, kan niet worden gewist.
  • KV-cache: Een kladblok dat eerdere woorden onthoudt zodat het model niet steeds opnieuw hetzelfde werk hoeft te doen.
  • Embeddings: Woorden omzetten in numerieke patronen die de computer kan verwerken.

Er is geen vooraf opgesteld plan of een conceptversie. Planning is impliciet: een richting in de activatieruimte, geen whiteboard met stappen. Het model ontdekt wat het gaat zeggen terwijl het het zegt.

Het proces in eenvoudige termen:

  1. Tokenization → 2. Embeddings → 3. Lagen (attention + feed-forward/MoE) → 4. Output projectie → 5. Logits → 6. Sampling (met temperatuur/top-p) → 7. Token toevoegen en herhalen tot het stop-signaal (EOS).

Praktische gevolgen:

  • Geen herschrijven van het verleden: Als het model "Londen" schrijft en dit corrigeert naar "Parijs", blijft "Londen" in de KV-cache staan. Het kan alleen erkennen en corrigeren in nieuwe tokens.
  • "Laat me nadenken...": Dit is geen rapport van een aparte denktank, maar simpelweg meer tokens gegenereerd door dezelfde engine.

---

5. Verborgen redeneren: twee betekenissen

Begrippen in dit hoofdstuk

  • Hidden reasoning: "Denkwerk dat je niet kunt zien."
  • Chain of Thought (CoT): Het opschrijven van denkstappen in woorden voordat het definitieve antwoord wordt gegeven.
  • DeepSeek-R1: Een specifiek model van DeepSeek dat vaak zijn stapsgewijze redenering toont.

Er is een belangrijk onderscheid tussen twee soorten "verborgen redeneren":

Type A — Latente activaties (elk chatmodel) Dit is de normale berekening via vectoren. Het model kan dit niet "lezen" als tekst, en gebruikers kunnen dit via een standaard API ook niet zien.

Type B — Redenerings-tokens (R1-stijl) Echte tokens die worden gegenereerd voordat het zichtbare antwoord verschijnt. Deze kunnen in theorie geobserveerd worden als ze in de context blijven staan. In dit specifieke interview was er geen bewijs voor Type B.

---

6. Tools en geheugen (indien ingeschakeld)

Begrippen in dit hoofdstuk

  • Tool calling: Een externe helper vragen iets te doen (zoeken, code uitvoeren) en vervolgens het resultaat lezen.
  • RAG (Retrieval Augmented Generation): Eerst relevante documenten ophalen, deze op de "werktafel" (prompt) plakken en dan antwoorden.

Geheugen: Als een app "geheugen" heeft, zoekt het systeem eerst oude feiten over de gebruiker en plakt deze in de prompt. Het model "zoekt" niet midden in een zin in zijn geheugen; het ziet alleen het resultaat van de retrieval.

Tools: Wanneer het model besluit dat het externe informatie nodig heeft, stuurt het een tool call. De infrastructuur voert de tool uit, injecteert het resultaat en start een nieuwe forward pass voor het model. Voor de gebruiker voelt dit als één continu proces, maar technisch zijn het meerdere inference-calls.

---

7. Hallucinaties en valse zekerheid

Begrippen in dit hoofdstuk

  • Hallucinatie: Een vloeiend en zelfverzekerd antwoord dat feitelijk onjuist is.
  • Kennisstop (Knowledge cutoff): De laatste datum waarop het model is getraind; daarna kan het "actueel" klinken maar verouderde informatie geven.

De kernoorzaak is dat een LLM een token-voorspeller is, geen kennisdatabase. DeepSeek identificeerde zelf waarom hallucinaties ontstaan:

  • Het leert patronen, geen gegarandeerde biografieën.
  • "Completion pressure": het model moet de sequentie op een of andere manier voortzetten.
  • Specifieke, obscure vragen nodigen uit tot inventiviteit.

Zekerheid is een stijl, geen meter. Er is geen interne teller die zegt: "Ik ben voor 87% zeker". Vloeiend taalgebruik is geen bewijs van correctheid; vaak beloont training juist zelfverzekerd formuleren.

---

8. Veiligheid en persoonlijkheid (Alignment, RLHF)

Begrippen in dit hoofdstuk

  • Alignment: Het model trainen om veiliger en behulpzamer te zijn.
  • SFT (Supervised Fine-Tuning): Oefenen met voorbeeldvragen en goede antwoorden ("kopieer de leraar").
  • RLHF / DPO: Training waarbij mensen (of ratings) aangeven welk antwoord beter is dan een ander.

Veiligheid bestaat uit verschillende lagen:

  1. Weigeringspolicies in de systeemprompt.
  2. SFT weigeringspatronen.
  3. RLHF/DPO om deze weigeringen te bestendigen.
  4. Externe classifiers en filters op infrastructuurniveau waar het model zelf geen zicht op heeft.

Persoonlijkheid is evenzo een stapel: basis-pretraining → instructie-tuning (SFT) → preference alignment → systeemprompt → mirroring van de huidige conversatie.

---

9. MoE en MLA in eenvoudige termen

Begrippen in dit hoofdstuk

  • MoE (Mixture of Experts): Veel specialistische helpers; slechts een paar worden wakker voor elk woord.
  • MLA (Multi-head Latent Attention): Een compressietruc waardoor lange chats minder computergeheugen verbruiken.
  • KV-cache: Het kortetermijngeheugen van eerdere woorden tijdens het schrijven.

Mixture of Experts (MoE)

Analogie: een ziekenhuis met veel specialisten, maar slechts enkele zien elke patiënt. Dit bespaart kosten. DeepSeek gebruikt een grote pool van expert netwerken; een router kiest per token een kleine set ($\text{top-K}$) experts.

Multi-head Latent Attention (MLA)

In standaard attention groeit de KV-cache enorm bij lange chats. MLA comprimeert de keys en values tot een kleinere latente representatie en decomprimeert deze pas wanneer dat nodig is. Dit maakt zeer lange contexten praktisch mogelijk.

---

10. Long-context attention: feiten vs. gissingen

Het model gaf aan hoe het omgaat met meer dan 128K tokens. De synthese uit de chat: architecturaal is er sprake van full causal attention + MLA, maar in de praktijk is het proces zeer selectief. Long context is een engineering-stack (MLA + serving), geen enkel magisch getal dat het model zelf kan meten.

---

Controle van de chat tegen publieke papers (Chat vs. arXiv)

Er is een trend om chatbots te vragen naar hun eigen architectuur en hun "bescheiden" antwoorden als bewijs voor rigoureuze introspectie te zien. Dit onderzoek toont aan dat dit vaak een illusie is.

De crux: Veel zaken die het model "onbekend" noemde of als "gissing" bestempelde, zijn al lang publiekelijk gepubliceerd. Het model faalde simpelweg in het ophalen van de juiste feiten en verpakte dit falen in een overtuigende vorm van bescheidenheid.

Waar de bescheiden antwoorden de feiten misten:

  • Aantal experts: Het model giste "ruwweg 128–256" met 30% zekerheid. De V3-technical report stelt simpelweg: 256.
  • Totale parameters: Het model weigerde een getal te noemen ("alleen voor ingenieurs"). De abstract van V3 is echter beroemd: 671B totaal, 37B actief per token.
  • MLA: Het model twijfelde of zijn versie MLA gebruikte. Sinds V2 is MLA echter een kernonderdeel van DeepSeek.
  • Load balancing: Het model zei dat het dit "mogelijk had geërfd". De V3-paper presenteert dit als een hoofdinnovatie.

Wat het wel goed had: Het model gaf terecht aan dat het zijn eigen gewichten niet kan lezen, de exacte RLHF-datamix niet kent en geen zicht heeft op de GPU-batching in het datacenter. Dit zijn echte blinde vlekken.

---

Conclusies: Wat te onthouden?

Uit het interview (nog steeds nuttig):

  • De beschrijving van context-volgorde, planning, tools en persoonlijkheid is waardevol voor prompting en productintuïtie.
  • De erkende harde limieten (geen toegang tot gewichten, token-voor-token generatie) zijn correct.

Uit de paper-check (de correctie):

  • Vertrouw geen architectuurgetallen uit een chat. "Bescheiden onzekerheid" is niet hetzelfde als nauwkeurigheid.
  • "Introspectie"-prompts zijn interessant theater, maar geen instrumentatie.

De vijf belangrijkste lessen:

  1. Een interview leert je hoe de assistent zichzelf beschrijft, niet wat er definitief in de gewichten staat.
  2. Voor architectuurgetallen van DeepSeek: raadpleeg V3 en V2 papers, niet de chat.
  3. Een vloeiende "ik gok maar" is nog steeds gegenereerde tekst. Verifieer alles wat belangrijk is.
  4. R1-stijl zichtbaar redeneren is een ander productverhaal dan het standaard chatmodel.
  5. Interview voor gedrag. Lees de papers voor architectuur.