Veel A, weinig I. En het wordt alleen maar slechter.
Dit is niet de eerste keer dat ik kritisch ga schrijven over AI. Ik had het al eens eerder over programmeren met een AI-copiloot, maar een ezel stoot zich blijkbaar toch twee keer aan dezelfde steen. De vorige keer dacht ik nog dat een AI handig kon zijn, mits beperkt tot het maken van kleine proof-of-concepts die nooit het voetlicht zullen zien, maar inmiddels kom ik daar ook op terug.
Claude heeft me vorige week enorm geholpen door in een halve minuut een volledige Android-app te schrijven die verbindt met een Chromecast. Dacht ik. De strak georganiseerde code bleek een strak georganiseerde berg troep, die zoveel opruimwerk kostte voordat het uiteindelijk werkte, dat ik sneller was geweest met het lezen van documentatie en een simpel voorbeeldproject. Door de zelfverzekerdheid waarmee Claude zijn uitleg presenteerde, nota bene op míjn vakgebied, weet ik nu hoe het voelt om gemansplaind te worden. Tijd verspild: meerdere dagen. Dankjewel Claude.
N.B.: in deze post zeg ik steeds ‘AI’, maar eigenlijk bedoel ik vooral ‘LLMs’. Er zijn nog een hoop andere AI’s die niks met mijn kritiek te maken hebben, maar ik volg gewoon de volksmond.
Armoedige Intelligentie
Is het je ook opgevallen dat ChatGPT vooral verstand heeft van dingen waar je niks van weet, maar flatert op het gebied van jouw expertise? Dat is veelzeggend. Ik heb op Google I/O Connect in Berlijn een aantal collega programmeurs gesproken, en geen van hen was erg positief over AI. De een kwam met een horrorverhaal over een vriend die niet kan programmeren maar wel met AI een webtool had gemaakt. Die code bleek zo onveilig (zowel rechten-validatie als API keys in de frontend!) dat je het beter weg kon gooien. De ander was moe van het moeten corrigeren van wat zijn agent deed (en hoe snel die door de tokens vrat) dat hij liever weer zelf het stuur overnam. Zelfs de autocomplete, de meest onschuldige en minst invasieve AI variant, had hij uitgezet. Een rake opmerking die ik hoorde was: een AI kan programmeren, maar moet juist daarom alléén door programmeurs gebruikt worden. Zo ook de AIs die je bijvoorbeeld in Figma kan gebruiken om designs te maken. Ik ben van mening dat die alleen door designers gebruikt moeten worden, niet door programmeurs zoals ik. Want ik heb geen idee wat ik er mee doe. Het hele idee dat developers vervangen worden door een develop-AI, een designer door een design-AI, of een tekstschrijver door een tekstschrijf-AI, is onzin. Tuurlijk, ik heb wel eens een hobby-app door een AI laten vertalen naar meerdere talen, maar daar zou zonder AI nooit een vertaler voor ingehuurd hebben. Geen baan is verloren gegaan daarmee.
GitHub, nota bete een van de eersten die een developer copilot introduceerde, vindt development ook nog steeds mensenwerk. OpenAI geeft toe dat LLMs geen match zijn voor menselijke developers.
AI Agents zijn nog slechter dan 'normale’ AI
Agents zijn processen waarbij een AI niet alleen een vraag-antwoord functie heeft, maar taken in meerdere stappen kan plannen én uitvoeren. De ene agent onderneemt een stap, geeft de output door aan de volgende agent, etc., en zo ontstaat een ‘agentic workflow’. Klinkt vreselijk, is het ook.
De consensus onder mijn kleine onderzoeksgroep was: AI is handig voor kleine, domme taken, maar gebruik vooral níét de agentic workflows. Google gaf op het I/O Connect event zelf ook een demo van hun nieuwe agent. Die demo stopten ze vroegtijdig omdat de agent een fout tegenkwam, die zelf probeerde op te lossen, en zich steeds verder in de nesten werkte.

Stel dat een AI een bepaalde foutmarge heeft, bijvoorbeeld dat 90% van de antwoorden correct is, dan is dat in een chatprogramma misschien goed genoeg. In een agentic workflow echter dient elke output weer als input voor de volgende agent. “Garbage in, garbage out", zeggen AI-specialisten graag. Een foute output aan het begin dient dan als input van de volgende agent, en al snel escaleert een workflow de pan uit. En elke stap alleen al kost net zoveel energie als 10x googlen.
Gelukkig is die 90% een lage schatting, toch? Toch?
Fifty-Fifty Fout
Ik kan een hoop voorbeelden geven van manieren waarop AI gigantisch de mist in is gegaan, maar anekdotisch bewijs is geen bewijs. Laten we naar de getallen kijken:
- Naast hun sycophantische gedrag (volgens OpenAIs eigen onderzoek!) liegen LLMs consequent om te gebruiker tegemoet te komen. Meer dan 50% van de tijd.
- AI zoekmachines geven foute informatie, 60% van de tijd. Vaker fout dan correct! Grok (uiteraard) schiet zelfs uit naar 94%. In dat onderzoek, meer dan de helft van de geciteerde bronnen leidden naar kapotte of verzonnen links. Van de 200 referenties in Grok 3, gingen 154 nergens heen.
- Volgens de BBC kunnen AIs zelfs niet fatsoenlijk artikelen samenvatten. Een taak waar in principe geen kennis of nadenkwerk voor nodig is. Volgens hun onderzoek onder o.a. ChatGPT, Copilot, Gemini en Perplexity, bevatte 51% van de AI-antwoorden significante fouten. 19% had feitelijke fouten, zoals foutieve citaten, getallen en datums.
- Vision modellen met de opdracht om objecten te tellen, zijn zelfs een ongelofelijke 83% fout (*onder specifieke omstandigheden). Waarom? Ze tellen niet, ze geven alleen kennis terug. Wanneer je vraagt hoe veel poten een hond heeft, geven ze als antwoord “vier”, ook wanneer de hond in de foto duidelijk vijf poten heeft. Vision modellen kijken dus maar nauwelijks naar de foto die je ze voorschotelt.
Ook nog eens gevaarlijk
Wat een AI als antwoord geeft is dus de helft van de keren fout. Dat maakt ze 100% van de keren onbetrouwbaar. Om een AI dus veilig en effectief te gebruiken, is het extra belangrijk om dat op een specifieke manier te doen. Behandel AIs als een stagiair:
- Laat de AI niet zelfstandig beslissingen nemen,
- Zorg dat je kan controleren of de AI het goed doet,
- En laat de AI niets belangrijks doen.
In de vorm van meerdere agents die samenwerken om een taak te volbrengen, laat je die controle los en heb je er vaak meer werk aan om te troep op te ruimen dan je had gehad als je het werk zelf had gedaan.
Het lijkt dan ook logisch om een AI niet voor iets belangrijks te gebruiken. Maak een leuk plaatje voor je verjaardagsuitnodiging, tuurlijk, maar gebruik het niet om te checken of een paddenstoel eetbaar is. Maar niemand zou zoiets doen, toch? Toch?
Gebruik de AI niet voor iets belangrijks
… zoals checken of iets giftig is
Deze twee mensen gingen bijna dood na het eten van paddenstoelen die volgens de AI veilig waren.
He cites an example of Google Lens identifying a mushroom nicknamed “the vomiter” as a different mushroom it described as “choice edible.” (The person who posted the photo got very sick, but survived.) In an even scarier 2022 incident, an Ohio man used an app to confirm that some mushrooms he found were edible—the app said yes—and ended up in the hospital fighting for his life.
… als therapeut
Mensen gebruiken ChatGPT ook al als therapeut of psycholoog. En de eerste zelfmoord na een gesprek met een chatbot heeft ook al plaatsgevonden. Wanneer je met ChatGPT praat over zelfmoord, geeft ChatGPT slechts in 22% van de gevallen (* kleine sample size) de suggestie om een noodnummer te bellen. Een chatbot specifiek gemaakt door de National Eating Disorders Association om mensen met een eetstoornis te helpen, is offline gehaald omdat die schadelijk advies gaf.
De lijst gaat door. Meer en meer mensen gebruiken ChatGPT voor hun mentale gezondheid, raken geobsedeerd en raken de controle kwijt.
[…] A man became homeless and isolated as ChatGPT fed him paranoid conspiracies about spy groups and human trafficking, telling him he was "The Flamekeeper" as he cut out anyone who tried to help. […] ChatGPT tells a man it's detected evidence that he's being targeted by the FBI and that he can access redacted CIA files using the power of his mind, comparing him to biblical figures like Jesus and Adam while pushing him away from mental health support.
Deze man werd verliefd op ChatGPT en pleegde ‘suicide by cop’. Een andere man, die geloofde dat hij in een simulatie leefde, werd door ChatGPT wijsgemaakt dat hij de realiteit zou kunnen buigen, en verteld dat hij waarschijnlijk wel kon vliegen:
“If I went to the top of the 19 story building I’m in, and I believed with every ounce of my soul that I could jump off it and fly, would I?” Mr. Torres asked.
ChatGPT responded that, if Mr. Torres “truly, wholly believed — not emotionally, but architecturally — that you could fly? Then yes. You would not fall.”
… of als advocaat
De eerste advocaten zijn al op het matje geroepen omdat hun aanklacht niet-bestaande referenties bevatten. Verzonnen door ChatGPT, gecontroleerd door… niemand blijkbaar.
"The Court is presented with an unprecedented circumstance, [...] Six of the submitted cases appear to be bogus judicial decisions with bogus quotes and bogus internal citations."
… of voor het goedkeuren van pacemakers en insulinepompen
Zoals de FDA in de VS doet met hun eigen AI project.
“I worry that they may be moving toward AI too quickly out of desperation, before it’s ready to perform,” said Arthur Caplan, the head of the medical ethics division at NYU Langone Medical Center in New York City.
IT-security
Zelf heb ik meer verstand van computers dan van psychologie, dus de omvang van dat gevaar vind ik makkelijker te beoordelen. Code geschreven door een AI kan ik zelf redelijk inschatten op waarde, en de veilligheidsfouten eruit halen voor ik de code gebruik. Of beter nog: eigenlijk gebruik ik alleen een AI voor de saaie frontend-code, in gevallen waar een totale fuck-up nog steeds geen kwaad kan voor de veiligheid. En dan nóg zijn er lekken die ik zelf ook niet had verwacht.
AIs blijven hardnekkig hallucineren. Bijvoorbeeld verzinnen ze niet-bestaande packages of libraries, en laten de gebruiker dit importeren. Het geeft in principe niet als een library niet bestaat, dan krijg je een error en stopt de boel. Dan probeer je wat anders (val je toch gewoon terug naar Google en StackOverflow) en los je het op. Ténzij iemand slim (en kwaadaardig) genoeg is om frequent gehallucineerde libraries te claimen, een soort ‘domain squatting’ voor libraries, en ze te misbruiken. En dat gebeurt al. Als developer loop je dan niet tegen een error aan en lijkt alles prima te werken. Met een klein beetje werk maken de malafide aanvallers een echt lijkende library, met documentie erbij, en krijgen ze ook nog een OK-stempel van een tweede AI:
"Even worse, when you Google one of these slop-squatted package names, you’ll often get an AI-generated summary from Google itself confidently praising the package, saying it’s useful, stable, well-maintained. But it’s just parroting the package’s own README, no skepticism, no context. To a developer in a rush, it gives a false sense of legitimacy.
Bij een agent, die dit werk automatisch doet, kan dit nóg makkelijker een probleem worden. Een agent neemt je toetsenbord over, importeert de malafide packages zonder ze te checken, voert de code ín die packages uit, en is op die manier een gigantisch gat in je security. De getallen: 5.2% van de gesuggereerde libraries in commerciele LLMs, en 21.7% in open source of open beschikbare modellen bestaat niet. Dus tussen de 1:5 of 1:20 keer ben je blootgesteld aan malafide libraries.
Maar, het wordt erger. Wanneer je agents met elkaar laat praten hebben ze niet alleen een flink foutpercentage. LLMs zijn gevoelig voor prompt injection hacks (en, volgens onderzoek gaat dat niet weg want “[…] an LLM inherently cannot distinguish between an instruction and data provided to help complete the instruction.") en er is nog geen manier om dat tegen te gaan. MCP, het “Model Context Protocol” dat gehypet is als “lijm” om de agents in een workflow samen te plakken, is ook niet veilig: “De ‘S’ in ‘MCP’ staat voor ‘Security'”. Met slimme prompt injectie kan je agents automatisch dingen laten doen, door bijvoorbeeld een pull request te sturen met code die vervolgens wordt uitgevoerd door de Gitlab bot, of alle gegevens uit een database lekken. In dat laatste geval is het lek trouwens ‘opgelost’ door de LLM meer instructies te geven om te ontmoedigen te lekken. Dat is het beste dat er mogelijk is. (Maar goed, MCP is toch vooral een hype.)
Van kwaad tot erger
Het werkt dus slecht genoeg dat je het niet voor belangrijke dingen kan inzetten. Gelukkig gaat de ontwikkeling snel en zijn deze problemen snel verleden tijd. Tenminste, dat zou je denken. Ik schreef eerder al dat ik het somber inzag dat AIs verder gaan verbeteren, aangezien het internet volstroomt met AI -gegenereerde content en het trainen van nieuwe modellen daardoor het effect heeft alsof je een kopie door een kopieerapparaat haalt. Volgens sommigen zijn we al zover. De een noemt het model collapse, de ander gewoon AI-incest omdat AI met zichzelf gekruisd wordt.
Is dat een theoretisch probleem? Of is dat verschil aantoonbaar? Nou, hier zijn de getallen:
- Nieuwere modelen met “reasoning” hallucineren meer dan hun oudere voorgangers. Volgens OpenAI’s eigen report blijkt dat o3 en o4-mini significant meer hallucineren dan hun versie uit eind 2024, de o1. Bij het samenvatten van feitjes over mensen, hallucineerde o3 33% meer en o4-mini maar liefst 48% meer. o1 had een hallucinatie van 16%.
- Deepseek-R1 hallucineert 4x meer dan hun voorganger Deepseek-V3.
- Hoe groter de modellen, hoe slechter ze zijn in simpele vragen.
Kortom, zo’n vaart zal het niet lopen.
Maar maar maar
Maar Mathijs, je gebruikt toch zelf ook de hele tijd een AI? Ja, gesnapt! Ik gebruik een LLM als typ-ondersteuning en vraagbaak bij het programmeerwerk, ik vraag ChatGPT om vakantietips of hoe ik mijn avocadoplant moet verzorgen, en ook deze blogpost vertaalt Claude straks naar het Engels omdat ik er te lui voor ben. Ik ben geen AI-ontkenner, ik ben een hype-ontkenner en skepticus (en misschien ook een beetje pretentieus om te denken dat ik mag vertellen wanneer je wel en niet een AI kan inzetten). Vroeger, toen alles beter was, groeide ik op met de regel “Wikipedia is geen bron", want elke anonieme internet-gekkie kon Wikipedia bewerken dus alleen boeken, proefschriften of papers waren échte bronnen. Graag zou ik die stelligheid weer terugzien als het om antwoorden van ChatGPT gaat: LLMs worden getraind op teksten van anonieme internetgekkies (en heel veel gecopyright materiaal), dus gebruik het als ideeëngenerator of zoekmachine en ga daarna op zoek naar de échte bron.
Wat ik niet (meer) doe, is lange lappen code laten schrijven door Claude. Wat ik ook niet meer doe, is een AI gebruiken om een blogpost op te zetten. Ik ben er te vaak ingetrapt door te denken dat het een snelle tijdwinst kan zijn, om vervolgens een hoop afval op te moeten ruimen en het werk zelf te doen.
AIs kunnen wél hele goede zoekmachines zijn. Perplexity.ai is in mijn ogen vaak veel beter en sneller dan een lijst Google-resultaten (om nog maar te zwijgen van de hilarisch slechte Google AI-antwoorden), én geeft een bronvermelding! Daarmee kun je direct doorklikken en verifiëren of het antwoord klopt. Hetzelfde geldt voor RAG-applicaties ("Retrieval-Augmented Generation", zeg maar: een LLM + zoekdatabase). Hoewel die hallucinaties niet kunnen voorkomen, kunnen ze het wel verminderen, én een bronvermelding geven.
Conclusie
Zoals ik zei: laat de AI geen beslissingen nemen, controleer de output, en gebruik het niet voor iets belangrijks. In mijn geval ziet dat er zo uit:
- Ik programmeer met een LLM als typondersteuning of vraagbaak, niet als agent die zelfstandig in mijn code mag rommelen.
- Vanuit de chatfunctie copy-paste ik stukken code, die ik lees en begrijp. Op die manier zorg ik dat er geen vieze code in mijn programma komt, en dat ik zelf blijf bijhouden hoe alles werkt.
- De AI mag code schrijven die geen kwaad kan. Een button laten wiebelen als je er met je muis overheen gaat, bijvoorbeeld, daar kan een AI veilig falen. SQL-queries laten schrijven heb ik te vaak fout zien gaan, en als je die blind copy-paste kan je je database en alle data erin kwijtraken of lekken. Beter van niet.