AI-tooling
Mx-tooling
Een AI die liever eerlijk "weet ik niet" zegt dan je een fout antwoord geeft.
- Rol
- bedenker, architect en bouwer
- Periode
- augustus 2026 – heden
- Opdrachtgever
- ANWB, Mendix-team
- Type
- AI-tooling voor ontwikkelteams
- Kerntechnologie
- Claude Code, GitHub Copilot, Python, SQLite
Over het project
De ANWB heeft negentien Mendix-applicaties. Wil je weten hoe zo'n app in elkaar zit, bijvoorbeeld welke rol een gegeven mag wijzigen of wat een aanpassing raakt, dan moet je het project openen in Mendix Studio Pro of iemand vinden die de app kent. Met Mx-tooling stelt elke developer die vraag gewoon in GitHub Copilot of Claude Code. Iemand typt bijvoorbeeld "Welke rollen mogen een Tender wijzigen?" en krijgt een antwoord terug, met het bronbestand en de datum erbij. Daarachter zit een GitLab-groep met drie projecten: MxForge, MxKb en MxAgent. Ik heb ze alle drie zelf bedacht en gebouwd, en ook het ontwerp is van mij.
Sinds augustus 2026 ben ik met niets anders bezig dan AI, en dit project is daar het grootste deel van. Het is mijn eerste project waarin AI alles is: het product dat ik maak, en ook het gereedschap waarmee ik het maak.
De uitdaging
Een AI-assistent die de feiten niet heeft, verzint een antwoord dat aannemelijk klinkt. Gaat de vraag over toegangsrechten, of over wat een wijziging raakt, dan richt zo'n antwoord meer schade aan dan helemaal geen antwoord. Er speelde meer. De broncode van een Mendix-app is geen platte tekst die een taalmodel zomaar kan lezen. En het moest veilig: er mochten geen wachtwoorden of sleutels in de kennisbank belanden, en de apps zelf mochten nooit per ongeluk worden aangepast.
Wat ik heb gebouwd
Het zijn drie projecten in één GitLab-groep, en ze werken als een keten waarin het ene project het volgende voedt:
- MxForge: de bouwstraat. Hierin zit MxBuildTool, een Python-pakket dat elke app alleen-lezend uitleest uit acht bronnen en daar een kennisbank van maakt: één bestand per microflow, pagina of entiteit, plus een graaf die laat zien hoe alles samenhangt. Daarnaast zit er MxBuildBot in, de configuratie die vastlegt welke apps met welke versies worden gebouwd en aan welke feitentoetsen elke bouw moet voldoen.
- MxKb: de kennisbank zelf. Er hoort een kleine zoekinterface bij die je zonder extra installatie kunt gebruiken.
- MxAgent: de werkruimte waarin Copilot of Claude Code met de kennisbank aan de slag gaat. Hier zitten de skills voor concreet werk, zoals een stappenplan maken van een Jira-story, een migratieplan opstellen voor de nieuwe React-client, stylingadvies geven of de kosten van een herbouw ramen.
Belangrijkste functionaliteit
Elk antwoord krijgt een bewijslabel.
De assistent zegt er steeds bij hoe zeker hij is. OBSERVED betekent dat het letterlijk in de bron staat, INFERRED dat het is afgeleid (de redenering staat erbij) en UNRESOLVED dat het niet vast te stellen is. In dat laatste geval gaat hij niet gokken, maar zet hij de vraag op een lijst met open punten.
Veilig uitlezen, en dat kan ik aantonen.
Een bewaker laat alleen leesopdrachten door. Van het project wordt vóór en ná de extractie een vingerafdruk (SHA-256) gemaakt. Zijn die gelijk, dan is er niets veranderd. Wachtwoorden en sleutels worden herkend en gemaskeerd voordat er iets wordt weggeschreven.
Kwaliteitspoorten.
Elke app moet langs een gate die tientallen punten controleert. Daarna draaien er vier poorten over de hele levering: geheimen, volledigheid, omvang en restanten. Zakt een app, dan blijft gewoon zijn vorige versie staan.
Een graaf voor impactvragen.
Bij één impactvraag vond de standaard-index van Mendix 3 geraakte elementen. De graaf vond er 16. Het antwoord dat volledig leek, was dus maar voor 19 % compleet.
Skills die het werk afmaken.
De ene skill maakt van een businesswens een onderbouwd voorstel, met een confidence score en een gevalideerd script. Een andere maakt er een stappenplan voor Studio Pro van dat klopt voor de juiste versie.
Hoe het werkt
Eerst wordt de broncode van elke app uitgelezen en opgeschoond. Dan volgen de controles, en alleen wat daar doorheen komt, wordt een levering van de kennisbank. De AI-assistent leest uitsluitend uit die levering en vermeldt bij elk resultaat uit welk bestand het komt en van welke datum. Vraag je iets over je eigen featurebranch, dan kijkt de assistent daar live in.
Hoe ik bouw: AI als team, ik aan het stuur
Het grootste deel van dit project is gebouwd door AI-agents. De architectuur en de veiligheidsregels heb ik zelf bepaald, net als elke keuze onderweg. In Claude Code draait één regiesessie die zes parallelle sessies aanstuurt, elk met een eigen stuk van het werk. Een wijzigingsregister houdt bij wie wat aanpast. Ingrijpende acties, zoals pushen of iets verwijderen, gebeuren pas als ik akkoord geef. Per taak schrijft de ene agent de code en beoordeelt een tweede die. Welk model een taak krijgt, kies ik op basis van het risico.
Ik wil eerst zien voordat ik iets geloof, dus ik meet. In een A/B-toets beantwoordde een verse agent dezelfde acht vragen twee keer: één keer met de kennisbank en één keer met de ruwe Mendix-tools. Met de kennisbank was hij 2,4 keer zo snel en gebruikte hij 26 % minder tokens. Door te meten vond ik ook een stille regressie na een tool-upgrade, die anders onopgemerkt was gebleven. En een optimalisatie die 21 % van de relaties schrapte, bleek geen enkel antwoord te veranderen.
Waar het nu staat
Werkt nu
- De bouwtool leest apps veilig uit en bouwt er de kennisbank van. Er staan 2.210 tests omheen, met 95 % coverage.
- Dertien apps zijn doorzoekbaar, en developers stellen er al vragen over in Copilot.
- Zeven skills doen concreet ontwikkelwerk, van stappenplan tot migratieplan.
Volgende stapter goedkeuring
- Een eigen MCP-server, zodat de AI gerichter kan zoeken.
- Elke nacht automatisch bouwen, met een levering die een datum krijgt.
- Een wijzigstroom waarin de AI een app op een featurebranch aanpast, met drie vaste momenten waarop een mens beslist en hooks die wijzigingen op de hoofdlijn blokkeren.
Kerncijfers
19
Mendix-apps in het landschap
13
apps doorzoekbaar in de kennisbank
±66.000
relaties in de kennisgraaf
2.210
geautomatiseerde tests, 95 % coverage
7
AI-skills voor concrete ontwikkeltaken
−26 %
tokens per vraag ten opzichte van de ruwe tools
2,4×
zo snel een antwoord
Gebruikte tools
- AI-ontwikkeling
- Claude Code (regiesessies, subagents, skills)GitHub Copilot
- Bouwtool
- PythonTyperSQLitepytestruffmypy
- Mendix
- mxcliMDLMendix 10.24
- DevOps
- GitGitHub ActionsGitLab CI in voorbereiding
Wat ik heb geleerd
- 01
Agentic engineering:: werk verdelen over parallelle AI-sessies zonder de regie kwijt te raken, en per taak het model kiezen dat erbij past.
- 02
Vangrails ontwerpen:: snelheid mag niet ten koste gaan van veiligheid. Daarvoor gebruik ik leesbewakers, vingerafdrukken, poorten en momenten waarop een mens beslist.
- 03
Evals en metingen:: AI-uitkomsten toetsen met vaste vragen en harde cijfers, en niet op gevoel.
- 04
Kennis ontsluiten voor AI:: een kennisgraaf en een router bouwen die binnen het contextbudget van een taalmodel blijven, dus binnen de hoeveelheid tekst die het in één keer kan verwerken.
- 05
Productiewaardig Python:: een echt pakket, met een CLI, vastgepinde versies en 95 % testdekking.
Wil je AI inzetten in je ontwikkelteam en toch zelf de controle houden? Daar praat ik graag met je over.