AI-generated codeFileMaker developmentAI in business softwarecode reviewFmBetterFormsquality assurancecustom software
Hoe u een AI-gegenereerde functie kunt evalueren

Hoe u een AI-gegenereerde functie kunt evalueren

Jeroen·

Een praktische checklist voor het bepalen of een door AI gegenereerde functie in uw bedrijfssoftware betrouwbaar genoeg is om uit te brengen en te vertrouwen.

Iemand van je team heeft net een AI-codeeringsassistent uitgeprobeerd en deze leverde een werkende functie in twintig minuten — een script dat facturen automatisch categoriseert, een layout die klantnotities samenvat, een knop die een e-mailreactie opstelt. Het ziet er indrukwekkend uit in de demo. Maar niemand heeft nog de moeilijkere vraag gesteld: klopt het eigenlijk, is het veilig om uit te voeren op echte klantengegevens, en zal het over zes maanden nog werken wanneer het onderliggende model verandert?

Dit is de situatie waarin steeds meer bedrijfseigenaren, interne ontwikkelaars en IT-managers zich bevinden, ongeacht of de AI-functie is gebouwd met een algemeen beschikbaar hulpmiddel of, steeds vaker, direct gegenereerd binnen een platform zoals FileMaker met behulp van iets als Claude ("Klai"-achtige AI-assistenten) of low-code AI-layoutgenerators zoals FmBetterForms. De code compileert, de demo draait, iedereen knikt — en vervolgens gaat het live zonder dat iemand het echt heeft geëvalueerd. Dit artikel geeft je een concrete, herhaalbare manier om elke AI-gegenereerde functie te evalueren voordat deze productie aanraakt.

Waarom kun je een AI-gegenereerde functie niet zoals normale code testen?

Omdat het anders faalt. Traditionele, aangepaste code faalt meestal luidkeels — een ontbrekend veld gooit een fout op, een verbroken relatie toont lege gegevens, een bug is reproduceerbaar. AI-gegenereerde code faalt stil en aannemelijk. Het produceert een output die er goed uitziet, goed leest, en subtiel fout is.

Een concreet voorbeeld: een AI-assistent die wordt gevraagd een FileMaker-script te schrijven dat vervallen facturen markeert, zou de logica van de datumvergelijking bijna juist kunnen krijgen — behalve dat het vergelijkt met de systeemklok van de clientmachine in plaats van de server, zodat gebruikers op afstand in een ander tijdzone na drie weken ontdekken dat facturen een dag te vroeg of te laat zijn gemarkeerd. Niets stort in. Geen foutlogbericht. Iemand merkt gewoon drie weken later dat het rapport van vervallen schulden niet aansluit met de nummers van de accountant.

Dit is het kernrisico: AI-gegenereerde functies verschuiven de foutmodus van "zichtbare bug" naar "stille onnauwkeurigheid." Je evaluatieproces moet hieromheen worden gebouwd, niet alleen erom gaat controleren dat de functie draait.

Wat moet je eigenlijk controleren voordat je een AI-gegenereerde functie accepteert?

Gebruik dit als een werkende checklist. Sla geen stappen over omdat de demo overtuigend leek — de demo is precies het scenario waar de AI het meest waarschijnlijk gelijk in heeft.

  1. Gebruikt het echte productievoormige gegevens, niet het happy-path-voorbeeld? Test het tegen een klantenrecord met ontbrekende velden, een buitenlands teken in een naam, een factuur met nulwaarde, een dubbele invoer. AI-gegenereerde logica is vaak getraind op schone voorbeelden en struikelt over de rommelige edge cases waarvan je echte database vol zit.

  2. Kun je in gewone taal precies uitleggen wat het doet? Als de ontwikkelaar die het controleert niet regel voor regel de logica kan doorlopen en uitleggen waarom elke stap bestaat, is dat een rood vlaggetje — niet omdat AI-code inherent onleesbaar is, maar omdat ongecontroleerde code die je niet kunt uitleggen, code is die niemand later kan onderhouden of debuggen.

  3. Wat gebeurt er als het fout is? Werkt een verkeerde AI-gegenereerde berekening stilzwijgend een record bij, of vlaggt het zichzelf eerst voor menselijke controle? Functies die direct naar je database schrijven hebben een materieel hogere norm van controle nodig dan functies die alleen suggereren of samenvatten.

  4. Is de output omkeerbaar? Als een AI-gegenereerd script automatisch twee klantenrecords samenvoegt of 10.000 transacties automatisch categoriseert, kun je dit ongedaan maken? Bouw een dry-run-modus of een audit log in voordat de functie live gegevens op schaal mag aanraken.

  5. Hangt dit af van een externe AI-service die beschikbaar en ongewijzigd blijft? Een functie die voor elk verzoek naar een groot taalmodel belt, introduceert een nieuw soort fragiliteit: modelupdates, tarieflimieten, wijzigingen in API-prijzen of storingen kunnen een functie breken die gisteren nog perfect werkte. Weet precies waar die afhankelijkheid ligt.

  6. Zou een menselijke expert in het domein akkoord gaan met de logica? Niet alleen "draait het" — zou je boekhouder akkoord gaan met de logica van de factuurtermijnleeftijd? Zou je magazijnbeheerder akkoord gaan met de berekening van het herbeste ellpunt? AI-gegenereerde functies krijgen de vorm van bedrijfslogica vaak goed en de details fout, en alleen een domeinexpert vangt dat op.

  7. Is er een testgeval dat zou bewijzen dat het kapot is, en heb je het uitgevoerd? Schrijf vooraf op wat een fout zou betekenen. Als je vooraf geen faalconditie kunt uiteenzetten, test je niet echt — je kijkt er gewoon eenmaal naar en hoopt het beste.

Hoe verschilt het evalueren van AI-gegenereerde code van het evalueren van code van een junior-ontwikkelaar?

Het is een nuttige vergelijking, maar niet volkomen. De code van een junior-ontwikkelaar heeft een persoon erachter die zijn redenering kan uitleggen, die leert van feedback, en die (meestal) hun eigen onzekerheid zal aangeven — "ik was niet zeker over dit onderdeel." Een AI-codegenerator heeft daarvan niets. Het zal zijn eigen verkeerde antwoord met exact hetzelfde zelfvertrouwen beschrijven als het juiste antwoord.

Dat betekent dat de beoordelingslast eigenlijk hoger is voor AI-gegenereerde functies, niet lager, ook al ziet de code er vaak schoner en idiomatischer uit dan een eerste poging van een junior. Behandel AI-output op dezelfde manier als code van een contractant met wie je nog nooit hebt samengewerkt: ga uit van competentie in syntaxis, ga uit van niets over juistheid voor je specifieke bedrijfsregels.

Wat is anders wanneer de AI een hele layout of UI genereert, niet alleen een script?

Hulpmiddelen die hele layouts of UI-componenten genereren — bijvoorbeeld AI-gestuurde layoutbouwers in FileMaker zoals FmBetterForms — introduceren een tweede evaluatiedimensie naast logica: bruikbaarheid en consistentie.

Vraag je af:

  • Volgt de gegenereerde layout dezelfde navigatiepatronen, veldnamen en visuele taal als de rest van je systeem, of introduceert het een eenmalige stijl die gebruikers verwarrt die schermen wisselen?
  • Verwerkt het machtigingsniveaus correct — ziet een gebruiker met beperkte toegang een knop die bij klik een fout veroorzaakt omdat ze eigenlijk geen rechten hebben voor de onderliggende actie?
  • Schaalt het naar echte gegevensvolumes? Een gegenereerde lijstweergave die er prima uitziet met 20 voorbeeldrijen kan onbruikbaar traag worden met 20.000 echte rijen als de AI niet de indexering of paginering heeft toegepast die je systeem nodig heeft.

Moet je anders evalueren afhankelijk van hoeveel de functie aanraakt?

Ja — stem je controle af op het risicogebied. Een eenvoudige vuistregel:

  • Alleen-lezen, alleen-suggestie-functies (een AI-gegenereerde samenvatting, een concepte-mail die een mens nog steeds moet verzenden): lichter onderzoek, controleer nauwkeurigheid regelmatig.
  • Functies die naar je database schrijven maar alleen voor de eigen records van één gebruiker: matig onderzoek, test op edge cases, bewaar een audit trail.
  • Functies die over veel records schrijven, externe systemen activeren, of financiële/compliance-gegevens aanraken: volledig onderzoek zoals hierboven, gefaseerde uitrol, dry-run-modus en goedkeuring van een domeinexpert voordat het live gaat.

Dit is hetzelfde proportionaliteitsprincipe achter necessity-driven development: je bouwt — of accepteert in dit geval — niet meer dan de situatie echt vereist, en je belegt je controle waar het echte risico ligt in plaats van het gelijkmatig uit te spreiden.

Wat is een eenvoudig af-te-tekenen proces dat je eigenlijk kunt gebruiken?

De meeste bedrijven hebben geen zware AI-governance-beleid nodig — ze hebben een gewoonte nodig. Voordat een AI-gegenereerde functie live gaat, laat één persoon (ontwikkelaar of IT-manager) schriftelijk deze vier vragen beantwoorden, ook al is het kort:

  1. Tegen welke gegevens heb ik dit getest, en waren edge cases inbegrepen?
  2. Wat gebeurt er als deze functie een fout antwoord produceert — is het zichtbaar en omkeerbaar?
  3. Wie buiten mij (een domeinexpert) heeft de eigenlijke bedrijfslogica beoordeeld, niet alleen de demo?
  4. Wat is het plan als de onderliggende AI-service verandert of onbeschikbaar wordt?

Als die vier antwoorden ergens bestaan — een opmerking in het script, een regel in een aantekening over implementatie, een Slack-bericht — heb je een echte evaluatie. Als ze nergens bestaan, heb je een demo die per ongeluk naar productie is gepromoveerd.

Veelgestelde vragen

Kunnen AI-gegenereerde FileMaker-scripts worden vertrouwd voor financiële berekeningen? Alleen na dezelfde nauwgezetheid als handmatig geschreven financiële code: edge-case-testen, goedkeuring van domeinexpert en audit trail. AI kan de eerste versie sneller opstellen, maar het verwijdert niet de noodzaak voor controle — sterker nog, het maakt controle belangrijker omdat de code sneller afgewerkt lijkt.

Verandert het gebruik van een AI-assistent in FileMaker (zoals tools op basis van Claude) wie de bugs bezit? Nee. Wie de code accepteert en implementeert, bezit de verantwoordelijkheid ervoor, ongeacht wie of wat het heeft geschreven. "De AI heeft het geschreven" is geen geldig antwoord op "waarom heeft deze functie drie records beschadigd."

Hoe weet je of een AI-gegenereerde functie nog steeds werkt na een model- of platformupdate? Je weet dat over het algemeen niet zeker — daarom hebben functies met een live AI-afhankelijkheid monitoring en een fallback-plan nodig, niet alleen een initiële testdoorgang.

Is het over het geheel genomen sneller om AI-gegenereerde functies te gebruiken ondanks de extra controle? Vaak ja, vooral voor eerste versies, repetitief scripts of het genereren van layoutscaffold — maar alleen als de controlistap eigenlijk in je proces is ingebouwd in plaats van onder tijdsdruk te worden overgeslagen.

Het correct evalueren van een AI-gegenereerde functie vereist echte discipline, en het is precies het soort afwegingsvraagstuk dat baat heeft bij een tweede set van ervaren ogen. Loggix helpt teams die discipline in hun FileMaker-systemen en verbonden ERP- of API-workflows in te bouwen — of dat nu betekent een AI-gegenereerd script te controleren en te verstevigen voordat het live gaat, audit trails en machtigingsstructuren bouwen die een hoger-risicofunctie nodig heeft, of gewoon samen zitten om uit te zoeken welke AI-gestuurde snelkoppelingen eigenlijk veilig zijn voor je bedrijf en welke een mens in de lus nodig hebben.