Waarom AI-outreach faalt op ware beweringen, niet alleen op gehallucineerde, en wat ik leerde bij het bouwen van een deterministische verificatielaag.
Artificial IntelligenceSalesStartup

De bewering was waar. Ik doodde hem toch.

Ashutosh SinghalAshutosh Singhal22 juni 202615 min

De eerste e-mail die ik ooit weigerde te versturen was volledig juist.

Ik herinner me die zin omdat ik hem zo'n veertig keer heb gelezen: "I saw you've recently grown your One-Way Truckload fleet to 2,735 trucks." Elk woord ervan was waar. Werner Enterprises had die vloot echt gerapporteerd, in zijn eigen Form 10-K, ingediend bij de SEC. En terwijl ik voor de demo zat die ik aan het bouwen was, doodde ik de bewering toch.

Die beslissing voelde ongeveer een dag verkeerd. Daarna voelde het als precies de kern van het geheel.

Evidencepanel van de Veracity Engine met de echte Werner 10-K-bewering over de groei van de One-Way Truckload-vloot naar 2.735 trucks, gemarkeerd als verouderd omdat de aangehaalde indiening 842 dagen oud is, doorgestreept en gemarkeerd als gestript in de conceptmail.
De bewering die ik doodde. De zin over 2.735 trucks citeert een echte Werner 10-K, maar de indiening is 842 dagen oud tegen een recentheidsvenster van 365 dagen, dus "recently" faalt en de regel wordt vóór verzending gestript. Code nam die beslissing, geen taalmodel.

Ik was dit project begonnen in de overtuiging, zoals bijna iedereen die nu in AI-sales bouwt, dat de vijand hallucinatie was. Het model verzint iets, het valse ding komt in de e-mail, de prospect merkt het, je geloofwaardigheid sterft. Vang de verzinsels en je wint. Die framing is schoon, demonstreert goed, en ik denk nu dat die stilletjes verantwoordelijk is voor veel verbrande verzenddomeinen. De Werner-zin bevatte nul verzinsels. Het was toch een bewering die ik nooit het gebouw uit zou laten.

Dit is een essay over wat mijn mening veranderde, verteld zoals het echt ging — dus langzaam en met één gênante week in het midden. Als je wilt zien wat ik uiteindelijk heb gebouwd, staat het hier: veriprajna.com/nl/demos/ai-verkoopintelligentie-geverifieerde-outreach. Maar het product is het saaie deel. Het interessante is waarom een ware zin geen veilige zin is, en waarom ik ophield het model te vertrouwen om het verschil te zien.

De week waarin ik het model zijn eigen huiswerk liet nakijken

Ik besteedde ongeveer een week aan pogingen om het taalmodel zijn eigen verouderde citaten te laten vangen, en ik wil eerlijk zijn: het werkte niet.

De opzet was op papier redelijk. Een researcher-agent haalt feiten op. Een writer-agent schrijft de e-mail, beperkt tot alleen die feiten. Dan leest een fact-checker-agent het concept tegen de bronnen en markeert alles wat niet standhoudt. Drie agents, een nette pijplijn, het soort architectuur dat een knikje krijgt in een design review. Ik verwachtte oprecht dat de fact-checker het makkelijke deel zou zijn.

Het was het deel dat brak. Niet luid. Dat was het probleem. De fact-checker las het Werner-concept, zag een zin over 2.735 trucks, vond een bron die 2.735 trucks zei, en keurde hem zelfverzekerd goed. Wat correct is, als de enige vraag is "ondersteunt een bron dit getal." Het model had geen blijvend besef dat de bron meer dan twee jaar oud was en de zin "recently" zei. Wanneer ik het dwong over data te redeneren, ving het de veroudering soms wel en liet het soms door, en ik kon niet voorspellen welke. Een checker die je niet kunt voorspellen is geen checker. Het is een tweede mening.

Het moment waarop het echt landde was laat op een avond toen ik hetzelfde concept drie keer door de fact-checker liet lopen en twee goedkeuringen en één afwijzing kreeg, zonder enige wijziging aan de input. Ik staarde daar een tijd naar. Ik vroeg een probabilistisch systeem om de deterministische poort te zijn op een ander probabilistisch systeem.

Ik vroeg een LLM om de betrouwbare scheidsrechter te zijn voor een LLM, en noemde het resultaat "verificatie."

Dat is geen verificatie. Dat is twee modellen die het eens zijn, wat iets anders en veel zwakker is. Als de hele reden dat je een checker nodig hebt is dat de output van het model niet op het eerste gezicht te vertrouwen is, dan kan de output van een tweede model niet het ding zijn waar je op vertrouwt om te checken. Ik had een spiegelpaleis gebouwd en er een compliance-sticker op geplakt.

Wat is erger, een verzonnen feit of een waar feit?

Wat me het meest verraste tijdens het bouwen was het besef dat de verzinsels nooit de engste mislukkingen waren. De ware-maar-misbruikte beweringen wel.

Denk aan wat er echt gebeurt wanneer een AI-SDR een bedrijfsdetail hallucineert. Vaak is het nonsens, duidelijk ernaast, het soort ding dat een prospect leest en verwijdert. Gênant, zeker. Maar de bewering die je echt in de problemen brengt is degene die controleerbaar en correct is en toch verkeerd in context. Die zeilt door elk "is dit verzonnen"-filter precies omdat hij niet verzonnen is. De grammatica is perfect. Het getal is echt. En het is een leugen over de tegenwoordige tijd.

Ik begon dit contextueel misbruik te noemen, en toen ik er een naam voor had zag ik het overal in de demo die ik in elkaar zette. Het heeft meer dan één vorm, maar elke versie deelt de eigenschap die het gevaarlijk maakt: elk is een ware uitspraak.

De vorm die me het meest leerde is de verouderde bron, en bij Werner zag ik hem voor het eerst helder. "Recently grew to 2,735 trucks" citeert een echte 10-K, maar die indiening landde op 2024-02-26, en tegen de werkdatum van de demo is die ruim meer dan twee jaar oud. Het getal is niet gestopt waar te zijn. Het woord "recently" is gestopt waar te zijn. Dat zijn niet hetzelfde feit, en een bron-matching-check behandelt ze als identiek.

Ik bouwde dezelfde vorm een tweede keer met een synthetische lead, een mid-market logistiekbedrijf genaamd Northwind, zodat ik het patroon kon tonen zonder te pretenderen dat een echt bedrijf iets zei wat het niet zei. Het concept beweerde dat Northwind "recently expanded into APAC" had. Er is een realistisch ogende bron voor. De bron is gedateerd maart 2019, wat in de demo uitkomt op grofweg 2.652 dagen oud, meer dan zeven jaar. De grounding-overlap tussen bewering en bron is een schone 100%. De entiteit matcht. En het is toch het soort zin waardoor een prospect denkt dat je sinds het laatste WK niet meer naar hen hebt gekeken.

Evidencepanel voor de Northwind-APAC-bewering: grounding op 100 procent en entity match beide geslaagd, temporele validiteit faalt bij 2.652 dagen boven de limiet van 365 dagen, oordeel verouderde bron, de bewering doorgestreept en gestript.
Dezelfde vorm op een synthetische lead, zodat geen echt bedrijf verkeerd wordt geciteerd. Grounding 100%, entity OK, en de temporele check faalt nog steeds bij 2.652 dagen. Een waar feit dat steunt op een bron uit 2019.
Een waar feit op een verouderde bron is nog steeds een leugen over het heden. De datum is deel van de bewering, of de zin dat nu toegeeft of niet.

De andere vorm is de naamscollisie, en die hield ik ook als synthetische case. "Northwind Logistics just raised a $40M Series B" heeft een echte bron erachter. De bron gaat over Northwind Inc., een cybersecurity-startup uit Austin, een volledig ander bedrijf dat toevallig dezelfde naam deelt. Elk woord is nauwkeurig over een Northwind. Niets daarvan is nauwkeurig over deze ene.

Evidencepanel dat laat zien hoe de $40M Series B-bewering de entity-match-check faalt omdat de aangehaalde bron over Northwind Inc. gaat en niet over Northwind Logistics, oordeel entity mismatch, de bewering doorgestreept en gestript.
De naamscollisie. Elk woord is waar over Northwind Inc., een cybersecurity-startup uit Austin, en niets daarvan is waar over Northwind Logistics. De entity-check vangt wat een platte bron-match nooit zou vangen.

Let op wat alle drie de voorbeelden gemeen hebben. Geen ervan is een hallucinatie. Als je je hele veiligheidsverhaal zou bouwen rond het vangen van verzinsels, zou je alle drie versturen. Dit is de faalmodus achter de AI-SDR-implosies die iedereen citeert en niemand echt verklaart. De single-pass tools hallucineren wel een meetbaar aandeel prospectspecifieke beweringen, ergens in de range van 12 tot 18 procent volgens één branche-accounting (AI SDR Industry Report, 2026), maar de verzinsels zijn de mislukkingen die je je tenminste kunt voorstellen te vangen. De ware-maar-verouderde, ware-maar-verkeerde-entiteit-beweringen zijn degenen die eruitzien als succes tot ze je kosten.

Wat mij ertoe bracht het model niet meer te vertrouwen en wel een datumaftrekking te vertrouwen

Wat uiteindelijk werkte was bijna beledigend eenvoudig, en ik verzette me er langer tegen dan ik had moeten doen.

Als het probleem met de Werner-bewering is dat "recently" wijst naar een bron ouder dan een verstandig recentheidsvenster, dan is de check geen redeneertaak. Het is rekenkunde. Neem de brondatum, neem de werkdatum, trek af. Als de bewering recentheidstaal gebruikt en de kloof groter is dan 365 dagen, is de bewering verouderd en gaat hij niet de deur uit. Bronleeftijd 2652 dagen is groter dan 365 dagen op een recentheidsbewering, dus fail. Er is geen prompt, geen temperature, geen "as an AI language model." Er is een getal en een drempel.

Toen ik mezelf toestond dat te schrijven, wilden de rest van de checks ook code worden. Volgt de bewering echt logisch uit een bronfragment, gemeten als token-overlap tegen de contentwoorden, met de eigen bedrijfsnaam uitgesloten zodat een zin niet hoog kan scoren door alleen "Werner, Werner, Werner" te herhalen? Code. Gaat de bron over deze entiteit en niet over een andere met dezelfde naam? Code. Het taalmodel is nog steeds de auteur, en het is een oprecht goede auteur. Het is alleen niet de rechter.

Ik kwam erop uit het principe op twee manieren te formuleren die ik nu constant zeg. De ene is "agents adviseren, code beslist." De andere is "geen LLM die een LLM beoordeelt." Het neurale netwerk doet waar neurale netwerken goed in zijn: een vloeiend, menselijk concept schrijven. Een deterministische, pure-Python-verifier doet waar code goed in is: dezelfde regel op precies dezelfde manier elke keer toepassen. Neurale auteurschap, symbolische verificatie. Het industriewoord voor dat paar is neurosymbolisch, al geef ik minder om het label dan de eigenschap die het koopt.

Betere modellen schrijven betere zinnen. Ze maken een twee jaar oude indiening niet recent. Dat is geen capaciteitskloof. Het is een categoriefout.

En de eigenschap die het koopt is reproduceerbaarheid. Wanneer ik de verifier op dezelfde input draai, krijg ik hetzelfde oordeel, elke keer. Dat klinkt als een klein technisch detail. Het is eigenlijk het hele spel, want reproduceerbaarheid is wat een beslissing certificeerbaar maakt. Ik kan je het spoor geven. Bronleeftijd 2652 dagen, groter dan 365, recentheidsbewering aanwezig, oordeel verouderd, bewering gestript. Je kunt het opnieuw draaien en het identieke resultaat krijgen. Een LLM-rechter, zelfs een goede, kan je dat niet beloven. Ik heb die avond met drie runs en twee oordelen meegemaakt. Ik bouw geen compliance-verhaal daar bovenop.

Ondertekend JSON-auditbewijs met een Download JSON-knop, met per bewering het oordeel, geciteerd feit en bron, publicatiedatum en recentheidsdagen, en elk per-check resultaat inclusief source resolution, grounding, sentence faithfulness, entity match en temporele validiteit.
Het bewijs dat de verifier voor elke e-mail schrijft. Elke bewering, het oordeel, de aangehaalde bron, de data, en de exacte checkresultaten, geëxporteerd als JSON die je kunt downloaden en opnieuw draaien. Reproduceerbaarheid is wat het certificeerbaar maakt.

Is dit niet gewoon een hallucinatieprobleem in vermomming?

Ik krijg bijna in elk gesprek een versie van deze vraag, meestal van iemand technisch, en mijn antwoord is in de loop van de tijd korter geworden. Nee. En de reden dat het dat niet is, is de reden waarom ik denk dat dit werk de huidige modelgeneratie overleeft.

De hallucinatie-framing neemt stilletjes aan dat de fix een beter model is. Grotere context, schonere training, lagere verzinselsratio, en uiteindelijk krimpt het probleem tot niets. Misschien is dat waar voor pure verzinsels. Het doet niets voor de mislukkingen waar ik echt om geef. Een perfect model, één dat nooit een enkel feit verzint, zal nog steeds vrolijk "recently" schrijven over een indiening uit 2024, omdat die zin van binnenuit het concept waar en vloeiend is en precies wat je vroeg. Het model heeft geen verplichting aan de kalender. De kloof tussen "grew to 2,735 trucks" en "recently grew to 2,735 trucks" is geen kloof die schaal dicht.

Dit is waar de markt de les steeds op de harde manier leert. De AI-SDR-categorie optimaliseerde hard voor volume en voor signaalgebaseerde personalisatie, en sloeg grotendeels de stap over waarin je de resulterende bewering opnieuw verifieert tegen een actuele, entiteit-correcte bron. De economie is niet vriendelijk geweest. Enterprise AI-SDR-churn ligt ergens rond de 50 tot 70 procent per jaar (UserGems, 2026). Het meest geciteerde waarschuwende verhaal, 11x.ai, haalde 74 miljoen dollar op en viel in 2025 uit elkaar met churn gerapporteerd in de range van 70 tot 80 procent (TechCrunch). Je post die cijfers niet omdat je model af en toe hallucineerde. Je post ze omdat de output gepersonaliseerd leek en niet betrouwbaar was, en kopers voelen het verschil uiteindelijk zelfs wanneer ze het niet kunnen benoemen.

Dus de these waar ik steeds op terugkom is bot. Personalisatie is geen verificatie. Je AI-SDR heeft primair geen hallucinatieprobleem. Het heeft een verificatieprobleem, en een beter basismodel lost dat niet op, want verificatie en provenance zijn geen modelcapaciteiten. Het zijn eigenschappen van het systeem dat je om het model heen bouwt.

Personalisatie is geen verificatie. Verificatie en provenance zijn geen modelcapaciteiten. Het zijn eigenschappen van het systeem dat je om het model heen bouwt.

Wat "100%" werkelijk mag betekenen

Ik wil hier voorzichtig zijn, want dit is precies de plek waar een founder geneigd is te overclaimen, en het bedrijf dat ik bouw is genoemd naar het tegengestelde instinct.

Er zijn twee getallen in de demo en het zijn niet hetzelfde getal. Het eerste is de Veracity Score, wat gewoon ondersteunde beweringen gedeeld door het totaal aan feitelijke beweringen in het concept is. Die beantwoordt "hoeveel van wat de AI schreef bleek waar te zijn," en op een echt concept blijft die vaak ruim onder de 100, wat juist het eerlijke en nuttige eraan is. De Werner-mail verliest zijn headline-bewering. De Northwind-mail verliest er twee. Dat is het systeem dat werkt, niet faalt.

Het tweede getal is verzendintegriteit, en die is per constructie 100% wanneer er überhaupt iets overblijft, omdat de policy-gate elke niet-ondersteunde bewering stript voordat de e-mail mag verzenden. De garantie is niet "de AI had altijd gelijk." De garantie is "de e-mail die de deur uitgaat bevat alleen bron-onderbouwde beweringen." Dat zijn heel verschillende beloftes, en ik heb mensen ze zien samenvoegen tot een veel grotere, veel valsere.

Er is ook een benchmark, en hier is de zin die ik weiger in te korten: op een vaste, hand-gelabelde golden set van 25 cases krijgt de deterministische verifier 25 van de 25 oordelen juist. Dat is 100% op die gelabelde benchmark. Het is geen claim over de open wereld, het is geen belofte over jouw inbox, en het is nadrukkelijk geen "zero hallucination," een zin die volgens mij niemand eerlijk zou moeten zeggen. Het model schrijft nog steeds concepten. Concepten bevatten nog steeds onbewezen beweringen. Het punt is dat de onbewezen eruit worden gehaald en gestript, en die detectie is deterministisch genoeg om te certificeren. Iedereen die je een zero-hallucination-garantie verkoopt, verkoopt je het ding dat ik een week lang niet voor elkaar kreeg.

Ik zeg ook botweg, omdat de maatstaf die ik mezelf opleg dat eist, dat de connectors van de demo gesimuleerd zijn. De EDGAR-pull, het ophalen van nieuws, de CRM-write-back, het daadwerkelijke verzenden, allemaal gestubd. Wat echt is, is het mechanisme: de checks, de gate, het audittrail, en de Werner 10-K-fragmenten, die echt openbare registers zijn. Ik laat je zien hoe de engine beslist, niet een productiepijplijn met jouw data erin. Als je wilt zien hoe hij beslist, staat het hier nog eens: veriprajna.com/nl/demos/ai-verkoopintelligentie-geverifieerde-outreach.

De vraag die me rest

Ik merkte dat het laatste wat deze build in mij veranderde kleiner was dan de these, en het is het langst blijven plakken.

Er is een derde lead in de demo, een synthetische FINRA-gereguleerde broker-dealer, en zijn concept komt er volledig schoon uit. Elke bewering ondersteund, niets gestript, een perfecte Veracity Score. En de policy-gate routeert hem toch naar een mens, omdat hij gereguleerd en C-suite en een grote deal is, en de regel zegt dat een mens daarnaar kijkt ongeacht hoe schoon het concept is. De eerste keer dat ik een foutloze e-mail zag vasthouden voor review, was mijn instinct dat het systeem een fout had gemaakt. Dat had het niet. Ik had alleen, zonder het te merken, aangenomen dat juistheid en veiligheid dezelfde eigenschap waren.

Dat zijn ze niet. Een bewering kan waar en onveilig zijn. Een concept kan schoon zijn en toch een persoon nodig hebben. Het hele werk bleek erin te bestaan die ideeën te scheiden en voor beide te bouwen, in plaats van ze samen te vouwen tot één getal dat een goede headline maakt.

Dus de vraag die ik je wil nalaten is degene die ik nu stel voordat iets door AI geschreven mijn handen verlaat. Niet "is dit waar," wat ik meestal kan beantwoorden en wat meestal niet genoeg is. De moeilijkere: kan ik nu bewijzen welke actuele bron deze exacte bewering onderbouwt, en zou dat bewijs iemand overleven die wil dat het faalt?

Als het antwoord nee is, maakt het niet uit hoe goed het model wordt. De zin is niet klaar om te versturen.

Gerelateerd onderzoek

Ook gepubliceerd op

Bouw uw AI met vertrouwen.

Werk samen met een team met diepgaande ervaring in het bouwen van de volgende generatie enterprise-AI. Laat ons u helpen bij het ontwerpen, bouwen en implementeren van een AI-strategie waarop u kunt vertrouwen.

Veriprajna Deep Tech-adviesbureau is gespecialiseerd in het bouwen van veiligheidskritische AI-systemen voor de gezondheidszorg, de financiële sector en gereguleerde domeinen. Onze architecturen worden gevalideerd aan de hand van gevestigde protocollen met uitgebreide compliancedocumentatie.