← Blog

AI agents

AI-native playbook: zestien missers in het Nederlandse mkb

Je concurrent las dezelfde Hacker News-post als jij. Zes agents later betaal je GPT-4 om te beslissen of er een mail uit moet. Hier is de veldgids terug.

Jacob Molkenboer· Oprichter · A Brand New Company· 18 dec 2025· 9 min
Antiek houten telefoonschakelbord met zes verwarde messing kabels, groen papieren label, lakzegel op kaart, ivoren linnen.

Het is dinsdag in Utrecht. Je technisch medeoprichter zit aan zijn vierde koffie. Het scherm toont een LangGraph-diagram met zes agent-nodes, een supervisor, drie tool-nodes en een pijl die op zichzelf terugbuigt als een vraagteken. Het echte werk, nieuwe orders trekken uit de Magento-webhook, voorraad checken tegen het WMS, en de leverancier pingen als iets onder de drempel zakt, was vroeger een Python-script van veertig regels op cron. Hij las vorige maand op Hacker News het founder's playbook, dat je vertelt om AI-native te bouwen, agent-first, met het model als kernloop. Jullie raakten allebei enthousiast. Nu kost Vercel €1.420 per maand en krijgt de leverancier de mail nog steeds een uur te laat.

Dit is de veldgids terug.

Het playbook klopt, voor een ander soort bedrijf

De post die het startte, The founder's playbook: Building an AI-native startup, is niet fout. Hij is geschreven voor een bedrijf waarvan het product alleen bestaat als een model het bij elkaar houdt. Een research assistant. Een coding agent. Een workflow waarvan de waarde in het oordeel van het model zit, niet in de deterministische plumbing eromheen.

Jouw bedrijf heeft een Magento-store, een Mollie-koppeling, twaalf medewerkers in Eindhoven, €4M omzet, en een backlog aan operationeel werk waarvan de grootste pijn is dat niemand de facturen op tijd nabelt. Andere natuurkunde. Het playbook ziet het model als de wig. Bij jou is het model de kruiding.

Hieronder: zestien concrete manieren waarop het AI-native playbook misgaat in een Nederlandse mkb-context, gerangschikt naar wat het kost om ze terug te draaien. De eerste acht kan je technisch medeoprichter vanmiddag fixen. De laatste acht dwingen een rewrite af, en hoe verder op de lijst, hoe groter de kans dat een investeerder ze in diligence vindt voordat je de seed-ronde sluit.

Acht missers die je vanmiddag terugdraait

1. Een deterministische flow inpakken in een LLM-router

Een Magento-webhook gaat af. De payload is getypeerd. De bestemming staat vast. Je hebt geen agent nodig om te beslissen "is dit een order?", want de URL deed dat al. Vervang de router-node door een if en een switch op event_type. Alleen die ene node is meestal goed voor 10 tot 15% van de tokenrekening.

2. LangGraph voor een lineaire pijplijn van drie stappen

State machines verdienen hun gewicht zodra state echt vertakt. Als jouw LangGraph geen cycli heeft en geen conditional edges die de database niet kon beantwoorden, dan is het een functie met extra kosten en extra observability-oppervlak. Refactor naar drie gewone function calls en verwijder de supervisor.

3. Conversatiegeheugen als persistentie

Als er iets verloren gaat bij een herstart van het proces, hoort het in Postgres, niet in een BaseMemory-instance. Voeg een tabel toe. Voeg een write toe. De agent leest de volgende beurt uit de tabel. Memory is een cache, geen database.

4. GPT-4 aanroepen om JSON te parsen die al JSON was

De Magento-API geeft je getypeerde JSON. Een model vragen om "het order-ID eruit te halen" is vier cent betalen voor wat data["order_id"] gratis doet. Modellen zijn voor ambigue input; APIs voor de rest.

5. Een beslis-agent voor een if/else

"Mailen we de klant of de leverancier?" is een kolom in je orders-tabel, of een regel van vijf regels code. Het model heeft geen informatie die jouw code niet heeft. Lees de kolom.

6. Veertig PDF's in een vector store gooien

Veertig PDF's passen in een prompt. RAG begint pas te tellen bij duizenden documenten met semantische overlap. Stuur tot die tijd de bestandspaden mee en laat het model degene lezen die het nodig heeft, of vat alles vooraf één keer samen in een statisch bestand. Pinecone is geen persoonlijkheidskenmerk.

7. Elk klantrecord 's nachts opnieuw embedden

Klantrecords veranderen zelden. Embed bij update, niet op een schema. Een Postgres-trigger gaat af zodra de rij verandert, de trigger zet een job in de queue, de worker embed opnieuw. NOTIFY/LISTEN is ouder dan jouw bedrijf en nog steeds de goedkoopste manier om dit op te tuigen.

8. Zelfgebouwde retry-loops

Schrijf geen while True: try: ... except: sleep(2) binnen een agent-node. Het model retryt, de agent retryt, de queue retryt, en de klant krijgt vier facturen. Zet het werk op een queue met idempotency keys en laat één laag de retries bezitten.

Kern

Als de input shape bekend is en de output shape bekend is, doet een functie het werk. Agents verdienen hun kosten zodra het model oordeel toevoegt dat anders een mens had moeten geven.

Acht missers die een rewrite afdwingen

9. Agents die in natuurlijke taal met elkaar praten

Zes agents die Engelse strings naar elkaar doorgeven is een telefoonspel van zes etappes met een stochastische vertaler bij elke hop. Vervang interagent-berichten door getypeerde schemas, Pydantic, Zod, wat je stack ook gebruikt. Anthropic schreef het ronduit op in Building effective agents: de meeste workflows hebben helemaal geen agents nodig, en de workflows die het wel hebben, moeten in gestructureerde data communiceren, niet in proza.

10. Geen idempotency op side effects

Je facturatie-nabeller stuurde dezelfde klant drie herinneringen omdat hij twee keer retryde en elke retry SendGrid los aanriep. Idempotency keys zijn niet optioneel zodra een agent geld, mail of de agenda raakt. Dit is een schemawijziging, geen promptwijziging, en de fix zit in de database voordat hij in de code zit.

11. Het LLM als source of truth

"Vraag de agent wat de klant besteld heeft" is een zin die betekent dat je het overzicht kwijt bent. De order leeft in de database. De agent leest uit de database. De database heeft gelijk; de agent misschien. Als het geheugen van de agent het canonieke record is van iets dat ertoe doet, kan je niet leveren aan een finance-team en kom je niet door een audit.

12. De altijd-aan supervisor-loop

Een LangGraph-supervisor die om de vijf seconden polt op werk dat twee keer per dag binnenkomt, is ongeveer €600 per maand aan tokens, betaald om niets te doen. Trigger vanuit het event, webhook, queue, database notification, niet vanuit een klok. Dit is de cron-versus-agent-vraag met een tokenmeter eraan.

13. Gedeelde mutable state in-process

Zodra agent B het werkgeheugen van agent A begint te muteren, heb je een gedistribueerd systeem dat zich voordoet als een monoliet, zonder transacties en zonder audit log. Kies één. Of de agents zijn aparte processen die over een queue praten, of het zijn functies in één proces met één gedeelde transactie. De hybride vorm is wat de bugs maakt die je niet kan reproduceren.

14. Geen eval-harness

"Het werkte toen ik het probeerde" is geen test. Zonder een fixture van vijftig echte inputs en verwachte outputs is elke promptwijziging kop of munt en elke model-upgrade een regressierisico. De harness is het eerste wat je bouwt, niet het laatste; zonder dat kan je de derde agent niet uitrollen zonder de eerste twee stilletjes te slopen.

15. Direct op de verouderde site gebouwd

De agent leest uit een WordPress-installatie uit 2014 met een custom MyISAM-tabel en een plugin die sinds 2019 niemand heeft geüpdatet. De volgende core-upgrade breekt de integratie; de volgende CVE op een plugin trekt de site offline. De migratie die je blijft uitstellen blokkeert nu de AI-roadmap, en "we deden eerst het AI-werk" leest slecht in diligence.

16. Het saaie databaseontwerp overslaan

Je hebt zes agents vastgeschroefd op een schema zonder events-tabel, zonder audit log, zonder idempotency keys, zonder transactiegrenzen om de side effects heen. Elk probleem hierboven woont hier. Investeerders vinden het in vijftien minuten. Dit is de rewrite, en die wordt onvermijdelijk zodra drie van de items 9 tot en met 15 tegelijk voorkomen.

De goedkoopste fix is die je vanavond doet

Toen we de inbox-triage-agent bouwden voor een Rotterdamse logistieke klant, was de eerste poging een LangGraph-supervisor met vier nodes, twee retrievers en een tool router. De tweede poging was drie Postgres-triggers en één agent die alleen draaide als de triggers afgingen. De tokenrekening ging met een factor negen omlaag en de latency van twaalf seconden naar onder de twee, want de hefboom bij AI-agents voor het mkb zit vooral in toegeven welke delen geen model nodig hebben.

Vanavond: open het bestand met je agent-graph, tel de nodes, en zet bij elke node het antwoord van één zin op "wat zou er breken als dit een Postgres-trigger en een functie was?" Kun je dat niet in één zin beantwoorden, dan heb je de eerste node gevonden om te schrappen.

Kern

Als de input shape bekend is en de output shape bekend is, doet een functie het werk. Agents verdienen hun kosten zodra het model oordeel toevoegt dat anders een mens had moeten geven.

FAQ

Wanneer wint een AI-agent het echt van een cronjob in het mkb?

Als de input ongestructureerd is (vrije tekst in een mail, spraak, een foto) of als de output oordeel vereist dat anders een mens moest geven. Voor getypeerde input met getypeerde output zijn een cron en een functie sneller, goedkoper en makkelijker te debuggen.

Is LangGraph de verkeerde tool?

LangGraph is prima als je echt een graph hebt: cycli, vertakkingen, agent handoffs die code niet kan beslissen. Voor een lineaire pijplijn van drie stappen zijn drie function calls eenvoudiger, goedkoper en makkelijker te testen.

Hoe weet ik of mijn agent-setup een rewrite nodig heeft vóór een investeringsronde?

Check op idempotency op side effects, een echte eval-harness met vijftig fixtures, en getypeerde berichten tussen agents. Ontbreekt één van die drie, reken dan op een rewrite die tijdens technische diligence boven komt drijven.

Kunnen we één agent houden en de rest met code vervangen?

Meestal wel. De meeste opzetten met zes agents vallen terug tot één agent voor de ambigue stap plus een handvol triggers en functies voor de deterministische stappen. Begin met lijstjes maken van welke stappen oordeel vereisen.

ai agentsautomationarchitectureprocess automationstrategyoperations

Iets bouwen?

Start een project