Wat is live in productie - Een eerlijke inventarisatie?
Serie: Architecturaal AI-bestuur op communautaire schaal - Een technisch onderzoek van Village AI (Artikel 4 van 5) Auteur: My Digital Sovereignty Ltd Datum: Maart 2026 Licentie: CC BY 4.0 International
Toepassingsgebied
Dit artikel beschrijft het systeem zoals het in productie is vanaf maart 2026. Waar een mogelijkheid is gepland maar nog niet is ingezet, zeggen we dat. Als een mogelijkheid is ingezet maar bekende beperkingen heeft, beschrijven we die beperkingen. Het doel is een inventarisatie die een onderzoeker kan gebruiken om de volwassenheid van het systeem en de beweringen elders in deze serie te beoordelen.
Village AI is sinds oktober 2025 in productie. Het is een jong systeem dat op bescheiden schaal werkt. Hieronder volgt een technische beschrijving van de gebruikte architectuur.
Modelarchitectuur
Basismodel: villageai-8b-corrected-v4 - een 8B-parametermodel dat dient als basislaag voor alle tenants. Getraind op de operationele inhoud van het platform: functiedocumentatie, navigatiepatronen, hulpvraagpatronen en conventies voor communityinteractie.
Gespecialiseerde lagen: Per producttype verfijnde modellen ingezet via een routinglaag (model-routing.js). De eerste productiespecialisatie is villageai-8b-episcopal-v2, afgestemd op bisschoppelijke/Anglicaanse liturgische, pastorale en bestuurlijke inhoud. Aanvullende specialisaties (familie, behoud, gemeenschap) zijn gepland maar nog niet getraind.
Modelrouting: Een InferenceRouter selecteert het juiste model op basis van het producttype van de huurder. Als er een specialisatie bestaat voor het producttype van de huurder, wordt deze gebruikt. Een uitgebreid niveau is gedefinieerd in de architectuur, maar nog niet ingevuld.
Inferentiehardware: Primaire inferentie draait op een AMD RX 7900 XTX GPU, toegankelijk via WireGuard VPN vanaf de applicatieserver (OVH France). CPU fallback is beschikbaar met behulp van een 3B-parameter gedegradeerd model voor beschikbaarheid tijdens GPU-uitval. De GPU bevindt zich niet op dezelfde locatie als de applicatieserver - inferentieverzoeken lopen door een VPN-tunnel, waardoor netwerklatentie wordt toegevoegd aan het inferentiepad.
Framework: Inferentie wordt beheerd door Ollama, waarbij de InferenceRouter modelselectie en verzoekroutering afhandelt. Het systeem gebruikt geen inferentie-API van derden; alle inferentie wordt gegenereerd op gecontroleerde infrastructuur.
Ophalen-Geavigeerde Generatie
Vectoropslag: Qdrant, voor het opslaan van embeddings van gemeenschapsinhoud (verhalen, aankondigingen, documenten, beschrijvingen van evenementen, bestuursverslagen).
Embedding pijplijn: De EmbeddingService verwerkt gemeenschapsinhoud tot vectorrepresentaties. Inhoud wordt gechunked, ingesloten en geïndexeerd per tenant, waarbij strikte tenantisolatie wordt gehandhaafd op het niveau van de vectoropslag.
Opzoeken tijdens inferentietijd: Gebruikersquery's worden ingesloten en gebruikt voor cosinusvergelijking met het documentencorpus van de huurder. Opgehaalde documenten worden als context geleverd aan het generatormodel, waardoor de antwoorden gebaseerd zijn op de werkelijke inhoud van de gemeenschap.
Inhoud indexeren: Een ContentIndexer service verwerkt nieuwe en bijgewerkte inhoud in de vectoropslag. Indexering respecteert de grenzen van toestemming - inhoud die niet expliciet is gedeeld voor AI-gebruik wordt niet geïndexeerd.
Guardian Agent pijplijn
Elk AI-antwoord gaat door vier Guardian Agent lagen voordat het de gebruiker bereikt. De pijplijn is geïmplementeerd in src/services/guardians/ en is structureel onafhankelijk van het generatiemodel.
Laag 1: Nauwkeurigheidscontrole
- Sluit het antwoord van het model in en berekent de cosinusovereenkomst met de brondocumenten die voor de query zijn opgehaald
- Markeert reacties onder een configureerbare vergelijkbaarheidsdrempel
- Geeft een basisscore die wordt gebruikt in de vertrouwensindicator voor de gebruiker
- Bekende beperking: De cosinusovereenkomst is een semantische nabijheidsmaat, geen feitelijke nauwkeurigheidsgarantie. Twee zinnen kunnen semantisch dicht bij elkaar liggen terwijl ze verschillen op belangrijke details.
Laag 2: HallucinatieDetector
- Ontleedt antwoorden in individuele beweringen
- Verifieert elke bewering onafhankelijk aan de hand van het broncorpus
- Markeert individuele beweringen die niet gefundeerd zijn, zelfs in verder goed gefundeerde reacties
- Bekende beperking: Claimdecompositie zelf maakt gebruik van taalmodelinferentie, waardoor het afhankelijk is van de mogelijkheden van het model. Misvormde claimdecompositie kan valse negatieven produceren.
Laag 3: AnomalieDetector + DrukMonitor
- Volgt de distributieve eigenschappen van modeloutputs in de loop van de tijd
- Detecteert woordenschatafwijkingen, onderwerpafwijkingen en veranderingen in responskenmerken
- PressureMonitor houdt inferentievoorwaarden bij: contextlengte, querycomplexiteit, gelijktijdige belasting
- Onder verhoogde druk worden verificatiedrempels aangescherpt en betrouwbaarheidsdrempels verlaagd
- Bekende beperking: Anomaliedetectie vereist een basislijnperiode. Voor nieuwe huurders met een beperkte interactiegeschiedenis is de basislijn schaars en is anomaliedetectie minder effectief.
Laag 4: ResponseReviewer + RegressieMonitor + Adaptieve feedback
- Verwerkt feedback van leden (thumbs-downsignalen, moderatorcorrecties)
- RootCauseClassifier categoriseert faalwijzen
- FeedbackInvestigator onderzoekt of fouten systematische patronen vertegenwoordigen
- RegressionMonitor houdt bij of eerder gecorrigeerde fouten zich herhalen
- TrainingPairGenerator creëert trainingsgegevens van bevestigde correcties voor toekomstige fijnafstemmingscycli
- Bekende beperking: De feedbacklus is afhankelijk van de betrokkenheid van de leden. Gemeenschappen met een laag feedbackvolume produceren onvoldoende signaal voor zinvolle patroondetectie.
Bescherming tegen voorkeuren
Een PreInferenceProtector werkt vóór het genereren, waarbij invoer wordt gescreend op injectiepatronen en bepaalde typen query's direct naar menselijke beoordeling worden doorgestuurd. Dit is een conservatief filter - het kiest voor blokkeren - en staat los van de post-generatie Guardian pijplijn.
Wat het systeem vandaag kan doen
Gemeenschapsgerichte vraagbeantwoording. Gegeven een vraag over gemeenschapsinhoud ("Wanneer is de volgende sacristievergadering?", "Wat heeft de rector gezegd over het bouwfonds?"), haalt het systeem relevante documenten op en genereert een antwoord dat is gebaseerd op die inhoud. Als er geen relevante documenten worden gevonden, geeft het systeem dit aan in plaats van te genereren op basis van de voorkeuren van het basismodel.
**Het systeem kan conceptbulletins, aankondigingen en correspondentie genereren die de toon en het vocabulaire van de gemeenschap weerspiegelen. Alle concepten worden voor publicatie door een moderator beoordeeld.
Samenvatting van documenten. Lange documenten (notulen van de sacristie, beleidsdocumenten) kunnen worden samengevat met de belangrijkste punten eruit gehaald.
Translation support. Het platform ondersteunt vijf talen: Engels, Duits, Frans, Nederlands en te reo Maori. Vertaling gebruikt DeepL (niet het generatiemodel) voor nauwkeurigheid.
**Feedback van leden wordt automatisch geclassificeerd, waar mogelijk onderzocht en doorgestuurd naar de juiste moderator. De HelpFeedbackSweepService en GeneralFeedbackProcessor zorgen voor automatisch onderzoek en oplossing.
OCR en documentverwerking. De DocumentExtractor service verwerkt gescande documenten, maakt de inhoud doorzoekbaar en beschikbaar voor RAG retrieval.
Woordenlijst
Het vocabulairesysteem (product-vocabularies.js, vocabulary.js) past de terminologie van het platform aan het type gemeenschap aan. Dit werkt op twee niveaus:
Interfaceniveau: UI-labels, navigatietermen en functienamen worden vervangen door woordenschat die past bij het domein. Een Episcopale parochie ziet "parochianen", "sacristie bestuur" en "parochie bulletins" in plaats van algemene platformterminologie.
Modelniveau: De woordenschat vormt de context die aan het model wordt gegeven. Als het systeem verwijst naar "parochianen" in plaats van "gebruikers" in de promptcontext, weerspiegelt de uitvoer van het model die framing. Dit is een lichte ingreep - het werkt op het niveau van de prompt, niet op het niveau van het gewicht - maar het vermindert de wrijving tussen de distributieprioriteiten van het model en de terminologie van de gemeenschap.
Er zijn negen producttypes gedefinieerd: gemeenschap, familie, natuurbehoud, diaspora, clubs, bedrijven, alumni, whanau en bisschoppelijk. Elk heeft een eigen vocabulaire.
Wat nog niet bewezen is
We geven een opsomming van specifieke beweringen die nog niet gevalideerd zijn:
Guardian Agent doeltreffendheid onder contradictoire omstandigheden. Het systeem is niet onderworpen aan systematische red-teaming. Guardian Agent prestaties onder contradictoire prompting, opzettelijke pogingen om hallucinatie op te wekken of gecoördineerde injectieaanvallen zijn onbekend.
Gespecialiseerde laag generalisatie. De Episcopale specialisatie (villageai-8b-episcopal-v2) is ingezet voor één producttype. Of de Specialised Layer strategie effectief generaliseert naar andere domeinen (conservatie ecologie, te reo Maori culturele contexten, familie genealogie) is niet empirisch aangetoond.
**De similariteitsdrempels die gebruikt worden door de AccuracyVerifier zijn ingesteld op basis van ontwikkelingstesten en vroege productie-ervaring. Ze zijn niet geoptimaliseerd door systematische evaluatie tegen een gelabelde dataset van gegronde en niet-gegronde reacties.
**Het systeem is ongeveer vijf maanden in productie. Of de prioriteiten van het basismodel zich in de loop van de tijd opnieuw bevestigen - een langzame terugdrijving naar de trainingsdistributie ondanks fijnafstemming - is niet over een voldoende lange tijdshorizon waargenomen om conclusies te trekken.
Meertalige verificatie. Voor gemeenschappen die in andere talen dan het Engels werken, werkt de Guardian Agent pijplijn op inbeddingen van de niet-Engelse tekst. Er is niet systematisch geëvalueerd of cosinusgelijkenisverificatie even effectief is in verschillende talen.
**Het adaptieve feedbackmechanisme (laag 4) is ontworpen om het gedrag van het systeem in de loop van de tijd te verbeteren. Of het convergeert naar stabiele, verbeterde prestaties of oscillerend of afwijkend gedrag vertoont onder bepaalde feedbackpatronen is niet formeel geanalyseerd.
We presenteren dit niet als uitstel maar als open vragen. Het systeem is operationeel; deze vragen zijn nog niet beantwoord.
Infrastructuur
- Applicatieserver: OVH Frankrijk (EU jurisdictie voor gegevens)
- Database: MongoDB met strikte tenantisolatie (elke query gefilterd op tenantId)
- Vectoropslag: Qdrant (tenant-gedeelde verzamelingen)
- GPU-inferentie: AMD RX 7900 XTX via WireGuard VPN
- CPU fallback: 3B gedegradeerd model voor beschikbaarheid
- Authenticatie: httpOnly cookies, tenant context isolatie, geen publieke toegang
- Deployment: Zelf gehost, geen AI-clouddiensten van derden
- Media: Bunny CDN voor edge caching (OVH-server)
Alle inferentie vindt plaats binnen de infrastructuur van de operator. Er worden geen prompts, antwoorden of community-inhoud verzonden naar externe AI-aanbieders.
Dit is artikel 4 van 5 in de reeks "Architectural AI Governance at Community Scale". Ga voor de volledige technische architectuur naar Village AI on Agentic Governance.
Vorige: Waarom bestuur in opleidingstijd mislukt - Architecturale beperkingen als alternatief Volgende: Voorbij het model - Platformarchitectuur en bestuurlijke integratie