← Terug naar blog
gepubliceerd 16 mei 2026·18 min lezen·AI & OverheidV2 — werkende PoC

V2: 7 AI-agents handelen een vergunning af — wat de PoC leerde

In de eerste blog (9 mei 2026) beschreven we een plan voor 8 agents. Een week later draait er een werkende PoC op vv.lostlands.nl. Tijd voor een update: wat werkt, wat is anders dan beschreven, en wat vond de Bbl-toetsing agent in een nieuwbouw-aanvraag.

TL;DR: 7 werkende Hermes-agents (geen 8), multi-tenant voor Noaberkracht (Dinkelland + Tubbergen), met echte SMTP, complete audit-trail, Anthropic Claude Sonnet 4-6 direct. Op een nieuwbouw-aanvraag vond de Bbl-toets agent 2 issues die de behandelende gemeente eerder ook benoemde — plus 4 extra die in het oorspronkelijke aanvulverzoek niet waren genoemd. Doorlooptijd per zaak: ~5 minuten met Claude Sonnet (was meerdere weken bij de behandelende gemeente).

Wat klopt van de eerste blog, wat is anders

AspectEerste blogWat werkt nuStatus
Aantal agents8 specialisten + regisseur7 Hermes-agents (intake, RO, Bbl, beschikking, WKB-controle, meldingen, publicatie)✓ ja, anders ingedeeld
Regisseur agentNous Hermes Agent v0.3.0 als regisseurGeen centrale regisseur — orchestratie zit in de webapp (FastAPI triggert agents in volgorde, plus auto-triggers zoals welstand → beschikking)⚠ pragmatischer
Model voor zware tekstGemma 4 26B lokaal op RTX 5090Claude Sonnet 4-6 direct via Anthropic API (PoC), Llama 3.3 70B via Groq voor snel werk⚠ tijdelijk anders (zie hardware)
Doorlooptijd standaardzaak~2 minuten~5 min totaal (Intake 3s + RO 2s + Beschikking 60-90s + Publicatie 4s; Bbl-toets 180s als die mee gaat)✓ realistisch
DSO STAM koppelvlak liveWeek 1Mock — API-key nog niet ontvangen, ETO-aanvraag loopt⏳ wacht op DSO/IPLO
DiVault FLEX uploadWeek 4Mock met MDTO metadata op /srv/vv/uploads/_archief/⏳ DiVault contact volgt
Welstand via SWFWeek 3Mock — PDF Het Oversticht wordt gegenereerd, gemeente moet ophalen, daarna auto-Beschikking✓ werkend (mock)
Email aan aanvragerVia SMTPEcht via lokale postfix (127.0.0.1:587)✓ werkt echt
Multi-tenantNiet genoemdNoaberkracht Dinkelland (CVDR730533) + Tubbergen (CVDR752464) — verschillende legesverordeningen, andere zaaknummer-prefixes (D-/T-)✓ toegevoegd
Bbl-toetsing inhoudelijkNiet explicietBblToetsingAgent met Claude Sonnet — leest PDFs, checkt tegen eisen, geeft per bevinding eis-waarde + werkelijke waarde + bron + paginanummer✓ NIEUW
Audit trailNiet uitgewerktPer zaak chronologische JSONL: wie deed wat wanneer (mens/agent/extern); per tool-call ook de bron-info (welke knowledge file of API)✓ toegevoegd
AlgoritmeregisterVermeldNog niet gebouwd — wel architecturaal klaar (alle agent-runs zijn logged + bron-info per tool)⏳ volgende fase

Waarom geen centrale regisseur-agent?

In de eerste blog beschreven we een centrale "regisseur" Hermes-agent die de andere agents zou aansturen. In de PoC zit die orchestratie nu in de webapp — pragmatischer en transparanter:

Een echte regisseur-agent is wel zinvol wanneer het proces écht dynamisch is (bv. "agent kiest zelf welke tools nodig zijn voor deze unieke aanvraag"). Voor de gestandaardiseerde Omgevingswet-flow is een orchestratie-laag in code beter.

De architectuur klopt. De getallen kloppen ongeveer. De technologie-keuzes zijn tijdelijk anders omdat we nog geen RTX 5090 in huis hebben — Claude Sonnet 4-6 direct via Anthropic doet het werk dat Gemma 4 lokaal zou doen. Functioneel identiek, kostentechnisch nog cloud-afhankelijk.

De Bbl-toetsing — wat een agent in 3 minuten vond

Het meest interessante stuk: de BblToetsingAgent die met Claude Sonnet 4-6 een volledige aanvraag voor een nieuwbouwwoning ging toetsen. De zaak (geanonimiseerd): VTH-2026-H**** — een nieuwbouwwoning op een hoek-kavel in een Twentse gemeente.

De aanvraag bestond uit 12 bestanden: bouwtekeningen v1, bouwtekeningen v2 (aanvulling), constructieberekening, BENG-berekening (UNIEC3), Bouwbesluit-berekening (BBSL), geotechnisch onderzoek, energielabel, geluidsberekening, etc.

De behandelende gemeente had na een eerste beoordeling de aanvrager geschreven (geanonimiseerde mail uit een dossier):

De aanvullingen zijn bekeken en niet alle punten zijn voldoende.

Het gaat om het volgende:

  • Achtererfgebied is niet kloppend. Het is een woning op de hoek waardoor de zijkant niet mee te rekenen is als achtererfgebied.
  • Locatie van de warmtepomp op de tekening is niet terug te vinden — vanuit de geluidsberekening lijkt deze vrij te komen te staan?

— aanvulverzoek van de behandelende gemeente

Wat de Bbl-agent vond (3 minuten, 71 stappen, Claude Sonnet 4-6)

✗ TOTAAL OORDEEL: VOLDOET_NIET
5 aspecten groen · 1 oranje · 2 rood — met 5 kritische punten waarvan 2 letterlijk dezelfde als de behandelende gemeente vond.

BENG-1 energiebehoefte overschrijdt eis met 64%

Bbl art 4.149
Eis
max 55 kWh/m².jr
Werkelijk
90,08 kWh/m².jr
📄 Bron: UNIEC3-berekening pagina 10
De UNIEC3-berekening toonde een onjuiste eiswaarde van 90,73 in plaats van 55. Klassieke fout in oudere UNIEC-versies.

Luchtdichtheid qv;10 overschrijdt eis met 50%

Bbl art 4.155
Eis
max 0,40 dm³/(s·m²)
Werkelijk
0,60 dm³/(s·m²)
📄 Bron: UNIEC3-berekening pagina 5

Warmtepomp-positie ontbreekt op tekening

Omgevingsregeling art 7.18
Eis
positie installaties verplicht op tekening
Werkelijk
niet ingetekend op de nieuwste versie van BA-01
📄 Bron: BA-01 (nieuwste versie uit aanvulling)
✓ Dit is een van de twee punten die de behandelende gemeente ook benoemde.

Achtererfgebied hoekwoning — verificatie nodig

Bbl Bijlage II artikel 2 lid 3
Eis
bij hoekwoning telt zijkant naast openbare ruimte NIET mee
Werkelijk
geen kavel-tekening met onderscheiden zones
📄 Bron: situatietekeningen
✓ Tweede punt dat de behandelende gemeente benoemde.

Constructieve veiligheid

Bbl art 4.11
Eis
statische berekening + geotechnisch onderzoek + constructietekeningen
Werkelijk
alle drie aanwezig en consistent
📄 Bron: Statische berekening + geotechnisch rapport + constructietekeningen

Daglicht alle verblijfsruimten

Bbl art 4.137
Eis
min 0,5 m² equivalente daglichtoppervlakte per ruimte
Werkelijk
leefruimte 15,13 m² · werkkamer 1,44 m² · slaapkamers 3,06/1,12/2,23/1,58 m²
📄 Bron: Bouwbesluit-berekening pagina 4

Rc-waarden isolatie

Bbl art 4.146
Eis
dak ≥6,3 / gevel ≥4,7 / vloer ≥3,7 m²K/W
Werkelijk
dak 6,3 / gevel 4,7 / vloer 3,7 — precies op eis
📄 Bron: UNIEC3-berekening pagina 1 — bouwkundige bibliotheek

De agent gebruikte 6 tools (lookup_bbl_eis, lookup_omgevingsplan_lokaal, bereken_achtererfgebied, check_eis_tegen_waarde, read_pdf_text, extract_drawing_info) en deed 71 stappen. Voor elke gemeten waarde gaf hij ook de bron mee: "UNIEC3-berekening pagina 10", "Bouwbesluit-berekening pagina 4".

Hoe haalt een agent de gebruiksoppervlakte uit een document?

Goede vraag: hoe vindt een agent zonder vision-LLM nu precies "de werkkamer is 8,50 m²"? Het antwoord is: de meeste indieningsdocumenten zijn tekst-PDFs, geen pure afbeeldingen.

Een ervaren vergunningverlener zou hier 2-4 uur over doen voor de eerste beoordeling, en zou alleen de punten op zijn checklist vinden. De Bbl-agent vond hier extra issues die in het oorspronkelijke aanvulverzoek niet voorkwamen (BENG-1 en luchtdichtheid), met concrete getallen, bron en paginanummers.

De 7 Hermes-agents — met bron-tracking per tool

Elke tool die een agent gebruikt is voorzien van een bron_info: of het uit een knowledge-file komt, een HTTP-API, het filesystem, of een berekening. Dit logt in de audit trail. Voorbeeld:

tool_call: bereken_leges
  args: {activiteit_type: "dakkapel", bouwkosten: 12000, bevoegd_gezag: "TB"}
  bron:
    type: knowledge_file
    naam: legesverordeningen/tubbergen_2026.json (CVDR752464)
    url:  https://lokaleregelgeving.overheid.nl/CVDR752464/2

tool_call: get_omgevingsplan_regels
  args: {locatie: "Raadhuisplein 8", activiteit_type: "dakkapel"}
  bron:
    type: http_api
    naam: DSO Regels op de Kaart (productie) / mock voor PoC
    url:  https://service.omgevingswet.overheid.nl/web/regels-op-kaart/

tool_call: lookup_bbl_eis
  args: {aspect: "energiezuinigheid_BENG"}
  bron:
    type: knowledge_file
    naam: bbl_eisen.json (afgeleid van Bbl Hoofdstuk 4 Nieuwbouw)
    url:  https://wetten.overheid.nl/BWBR0041297

Dit is exact wat de Algoritmeregister VNG en de Autoriteit Persoonsgegevens straks willen kunnen inzien: per beslissing welke bron is geraadpleegd, met welke parameters.

#AgentModelTijd
1Intake — compleetheidstoetsLlama 3.3 70B (Groq)3-5s
2RO-bot — omgevingsplan + monumenten + natuurLlama 3.3 70B (Groq)2-5s
3Bbl-toetsing ⭐ — inhoudelijke checkClaude Sonnet 4-6 (Anthropic)60-180s
4Beschikking — Awb-conform besluit + legesClaude Sonnet 4-6 (Anthropic)60-90s
5WKB-controle — verklaring kwaliteitsborgerLlama 3.3 70B (Groq)10-30s
6Meldingen — 3 standaard Wkb-brievenLlama 3.3 70B (Groq)1-2s per brief
7Publicatie + archief — email, OBM, DiVault, DSO terugmeldingLlama 3.3 70B (Groq)3-5s

Multi-tenant voor één ambtelijke organisatie

Bij Noaberkracht Dinkelland Tubbergen bedient één ambtelijke organisatie twee bevoegde gezagen. Zelfde proces, zelfde mensen, maar verschillende verordeningen:

Dinkelland (DK)
CVDR730533 — percentage-systeem
Bouwactiviteit Bbl: 1,46% (tot €25K), 0,73% (boven)
Afwijken omgevingsplan zonder bouw: € 250,00
Tubbergen (TB)
CVDR752464 — eenheden-systeem
Bouwactiviteit Bbl: € 157,50 per € 25.000 bouwkosten + € 650 vast
Afwijken omgevingsplan zonder bouw: € 644,70

Zelfde aanvraag, zelfde activiteit, ander tarief per gemeente. De Beschikking-agent kiest automatisch de juiste verordening op basis van het bevoegd gezag dat de Intake-agent uit het adres heeft afgeleid (postcode 7591 → Denekamp → DK, 7651 → Tubbergen → TB).

ScenarioBouwkostenDK legesTB legesVerschil
Dakkapel klein€ 12.000€ 582,00€ 945,00+62%
Aanbouw middel€ 80.000€ 1.960,00€ 3.410,00+74%
Nieuwbouw woning€ 250.000€ 6.125,00€ 5.300,00-13%
Bedrijf-aan-huis€ 0€ 250,00€ 644,70+158%
Sloop€ 5.000€ 175,60€ 387,00+120%
Kapvergunning€ 0€ 110,00€ 137,00+25%

WKB-meldingen komen deels via email — niet alleen DSO

De Omgevingswet vereist drie meldingen voor een Wkb-bouwwerk (gevolgklasse 1). Niet allemaal lopen via DSO:

MeldingWanneerKomt binnen viaOnze oplossing
Bouwmelding4 wkn voor start bouwDSO Omgevingsloket✓ Meldingen-agent → automatische bevestigingsbrief
Start bouwwerkzaamheden2 werkdagen voor beginVaak email of webformulier (informatieplicht)⏳ Email-inbox monitor nog te bouwen
Gereedmelding2 wkn voor ingebruiknameDSO Omgevingsloket✓ WKB-controle agent beoordeelt verklaring kwaliteitsborger

In de praktijk zien we dat de melding "ik start morgen met de bouw" vaak per email of webformulier bij de gemeente binnenkomt — niet via DSO. Onze stack moet dus twee inkomende kanalen hebben: DSO STAM webhook én een mailbox-watcher. Die mailbox-watcher staat op de roadmap.

Wat agents (nog) niet kunnen

Wat het kost — schatting

In de eerste blog stond €6-10K voor een rackserver. Voor de PoC gebruiken we cloud-LLMs (direct Anthropic):

SetupEenmaligPer maandPer zaak
PoC cloud (nu)€0~€50 (Groq + Anthropic API)~€0,30 (Claude Sonnet voor zware tekst)
Productie cloud~€5K (integratie + AP-compliance)€500-2000 (afhankelijk van volume)€0,15 — €1,00 per zaak
Productie on-prem (Gemma 4)€6-10K rackserver + €10K integratie€100 stroom + onderhoud~€0 (na investering)

Voor 500-2000 zaken per jaar (typisch middelgrote gemeente): on-prem hardware is binnen 1 jaar terugverdiend. Cloud is sneller live.

Probeer het zelf — upload je eigen (geanonimiseerde) aanvraag

🧪 Self-service demo

Heb je zelf een geanonimiseerde aanvraag liggen? Upload de PDFs en zie de agents door je documenten heen werken. Geen registratie nodig — alles draait in een testomgeving die elke 24 uur wordt opgeruimd.

→ vv.lostlands.nl/probeer

⚠ Belangrijk: anonimiseer je PDFs eerst (PDF-XChange, Adobe Acrobat of iLovePDF Redact). Documenten worden naar Anthropic/Groq gestuurd voor de LLM-stappen.

Andere ingangen in de PoC:

Vragen of opmerkingen?

Inhoudelijk sparren over hoe dit zou werken in jouw eigen organisatie? Gebruik het contactformulier op de homepage.

→ Contactformulier

Bronnen: PoC stack op /srv/vv (intern), Legesverordening Dinkelland 2025/2026 (CVDR730533), Legesverordening Tubbergen 2026 (CVDR752464), Bbl (BWBR0041297), Omgevingsregeling (BWBR0045528). Anthropic Claude Opus 4-6 + Sonnet 4-6 + Haiku 4-5, Groq Llama 3.3 70B.