
# AI‑gestuurde intent‑gebaseerde routeringsengine voor realtime samenwerking bij leveranciersvragenlijsten

Vendor‑beveiligingsvragenlijsten vormen een knelpunt voor snelgroeiende SaaS‑bedrijven. Elke nieuwe klantaanvraag zet een keten van manuele overdrachten in gang: een security‑analist haalt het nieuwste beleid op, een juridisch reviewer valideert de formulering, een product‑engineer verduidelijkt technische implementaties, en het uiteindelijke antwoord wordt samengevoegd in een PDF. Deze gefragmenteerde werkwijze leidt tot **lange doorlooptijden, inconsistente antwoorden en audit‑risico's**.

Wat als het platform zelf kon begrijpen *waarom* een vraag wordt gesteld, *wie* het beste kan antwoorden, en *wanneer* een antwoord nodig is, en vervolgens automatisch het verzoek naar de juiste persoon routeert — *in realtime*? Dat is de **AI‑gestuurde Intent‑Based Routing Engine (IBRE)**, een kerncomponent van het Procurize‑AI‑platform die **knowledge‑graph‑semantiek**, **retrieval‑augmented generation (RAG)** en **continue feedback** combineert om collaboratieve beantwoording van vragenlijsten op machinale snelheid te orkestreren.

> **Belangrijkste inzichten**
> - Intent‑detectie transformeert ruwe vragenlijsttekst naar gestructureerde bedrijfs‑intenties.
> - Een dynamische kennisgrafiek verbindt intenties met eigenaars, bewijs‑artefacten en beleidsversies.
> - Realtime routing maakt gebruik van LLM‑aangedreven confidence‑scores en werkbelasting‑balancering.
> - Continue leerlussen verfijnen intenties en routerings‑policies op basis van post‑submission audits.

---

## 1. Van tekst naar intent – De semantische parse‑laag

De eerste stap van IBRE is een vrije vraag (bijv. *“Encryptie data at rest?”*) om te zetten naar een **canonieke intent** waar het systeem actie op kan ondernemen. Dit gebeurt via een twee‑staps pijplijn:

1. **LLM‑gebaseerde entiteitsextractie** – Een lichte LLM (bijv. Llama‑3‑8B) haalt sleutelentiteiten op: *encryptie*, *data at rest*, *scope*, *compliance framework*.
2. **Intent‑classificatie** – De geëxtraheerde entiteiten voeren een fijn‑afgestemde classifier (BERT‑gebaseerd) die ze toewijst aan een taxonomie van **~250 intenties** (bijv. `EncryptDataAtRest`, `MultiFactorAuth`, `IncidentResponsePlan`).

Het resulterende intent‑object bevat:
- `intent_id`
- `confidence_score`
- `linked_policy_refs` (**[SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2)**, **[ISO 27001](https://www.iso.org/standard/27001)**, interne beleids‑ID’s)
- `required_evidence_types` (configuratie‑bestand, audit‑log, derden‑attestatie)

**Waarom intent belangrijk is:**  
Intenties fungeren als een *stabiel contract* tussen de inhoud van de vragenlijst en de downstream‑workflow. Zelfs als de formulering wijzigt (“Is your data encrypted while stored?” versus “Do you use encryption for data at rest?”) wordt dezelfde intent herkend, wat zorgt voor consistente routering.

---

## 2. Kennisgrafiek als context‑ruggengraat

Een **property‑graph‑database** (Neo4j of Amazon Neptune) slaat de relaties op tussen:

- **Intenties** ↔ **Eigenaars** (security‑engineers, juridische counsel, product‑leads)
- **Intenties** ↔ **Bewijs‑Artefacten** (beleidsdocumenten, configuratie‑snapshots)
- **Intenties** ↔ **Regelgevings‑kaders** (**SOC 2**, **ISO 27001**, **[GDPR](https://gdpr.eu/)**)
- **Eigenaars** ↔ **Werkbelasting & Beschikbaarheid** (huidige taak‑queue, tijdzone)

Elk knooppunt‑label staat tussen dubbele aanhalingstekens, conform Mermaid‑syntaxis voor latere visualisaties.

```mermaid
graph LR
    "Intent: EncryptDataAtRest" -->|"owned by"| "Owner: Security Engineer"
    "Intent: EncryptDataAtRest" -->|"requires"| "Evidence: Encryption Policy"
    "Intent: EncryptDataAtRest" -->|"complies with"| "Regulation: ISO 27001"
    "Owner: Security Engineer" -->|"available"| "Status: Online"
    "Owner: Security Engineer" -->|"workload"| "Tasks: 3"
```

De graaf is **dynamisch** — elke keer dat een nieuwe vragenlijst wordt geüpload, wordt het intentieknooppunt ofwel gematcht met een bestaand knooppunt of on‑the‑fly aangemaakt. Eigenaars‑kanten worden opnieuw berekend met een **bipartiete matching‑algoritme** dat expertise, huidige werklast en **[SLA](https://www.ibm.com/think/topics/service-level-agreement)**‑deadlines balanceert.

---

## 3. Realtime routing‑mechanica

Wanneer een vragenlijstitem binnenkomt:

1. **Intent‑detectie** levert een intent met een confidence‑score.
2. **Graaf‑lookup** haalt alle kandidaat‑eigenaars en bijbehorend bewijs op.
3. **Scoring‑engine** evalueert:
   - **Expertise‑fit** (`expertise_score`) – gebaseerd op historische antwoordkwaliteit.
   - **Beschikbaarheid** (`availability_score`) – realtime status via Slack/Teams presence‑API’s.
   - **SLA‑urgentie** (`urgency_score`) – afgeleid van de deadline van de vragenlijst.
4. **Composite routing score** = gewogen som (configurabel via policy‑as‑code).

De eigenaar met de hoogste composite score ontvangt een **automatisch aangemaakt taak** in Procurize, vooraf ingevuld met:
- De originele vraag,
- De gedetecteerde intent,
- Links naar het meest relevante bewijs,
- Gesuggereerde antwoord‑snippets uit RAG.

Als de confidence‑score onder een drempel (bijv. 0,65) valt, wordt de taak naar een **human‑in‑the‑loop review‑queue** gestuurd waar een compliance‑lead de intent valideert vóór toewijzing.

### Voorbeeld routeringsbeslissing

| Eigenaar | Expertise (0‑1) | Beschikbaarheid (0‑1) | Urgentie (0‑1) | Composite |
|----------|-----------------|-----------------------|----------------|-----------|
| Alice (Sec Eng) | 0,92 | 0,78 | 0,85 | **0,85** |
| Bob (Legal) | 0,68 | 0,95 | 0,85 | 0,79 |
| Carol (Prod) | 0,55 | 0,88 | 0,85 | 0,73 |

Alice ontvangt de taak direct, en het systeem logt de routeringsbeslissing voor audit‑traceerbaarheid.

---

## 4. Continue leerlussen

IBRE blijft niet statisch. Na afronding van een vragenlijst neemt het platform **post‑submission feedback** op:

- **Answer Accuracy Review** – Auditors scoren de relevantie van het antwoord.
- **Evidence Gap Detection** – Als verwezen bewijs verouderd is, wordt het beleids‑knooppunt gemarkeerd.
- **Owner Performance Metrics** – Success‑rates, gemiddelde responstijd en her‑toewijzingsfrequentie.

Deze signalen voeren twee leerpijplijnen:

1. **Intent‑verfijning** – Mis‑classificaties triggeren semi‑supervised retraining van de intent‑classifier.
2. **Routing‑policy‑optimalisatie** – Reinforcement Learning (RL) past de gewichten voor expertise, beschikbaarheid en urgentie aan om SLA‑naleving en antwoordkwaliteit te maximaliseren.

Het resultaat is een **zelf‑optimaliserende engine** die met elke vragenlijstcyclus verbetert.

---

## 5. Integratielandschap

IBRE is ontworpen als een **micro‑service** die eenvoudig koppelt aan bestaande tooling:

| Integratie | Doel | Voorbeeld |
|------------|------|-----------|
| Slack / Microsoft Teams | Realtime meldingen & taakacceptatie | `/procure assign @alice` |
| Jira / Asana | Ticket‑creatie voor complexe bewijsverzameling | Automatisch een *Evidence Collection* ticket aanmaken |
| Document Management (SharePoint, Confluence) | Ophalen van up‑to‑date beleids‑artefacten | Laatste encryptie‑beleidsversie ophalen |
| CI/CD‑pipelines (GitHub Actions) | Trigger compliance‑checks bij nieuwe releases | Policy‑as‑code test draaien na elke build |

Alle communicatie verloopt via **mutual TLS** en **OAuth 2.0**, zodat gevoelige vragenlijstdata het beveiligde perimeter niet verlaten.

---

## 6. Audit‑trail & compliance‑voordelen

Elke routeringsbeslissing genereert een onbewerkbare log‑entry:

```json
{
  "question_id": "Q-2025-437",
  "intent_id": "EncryptDataAtRest",
  "assigned_owner": "alice@example.com",
  "routing_score": 0.85,
  "timestamp": "2025-12-11T14:23:07Z",
  "evidence_links": [
    "policy://encryption/2025-09",
    "artifact://config/production/db"
  ],
  "confidence": 0.93
}
```

Deze JSON wordt bewaard in een **append‑only ledger** (bijv. Amazon QLDB of een blockchain‑backed ledger) en voldoet aan **SOX**‑ en **GDPR**‑vereisten voor traceerbaarheid. Auditors kunnen exact de redenering achter elk antwoord reconstrueren, waardoor de *evidence‑request*‑cyclus tijdens **[SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2)** audits dramatisch wordt verminderd.

---

## 7. Praktijkimpact – Een korte case study

**Bedrijf:** FinTech SaaS “SecurePay” (Series C, 200 medewerkers)  
**Probleem:** Gemiddelde doorslag‑tijd vragenlijst – 14 dagen, 30 % gemiste SLA.  
**Implementatie:** IBRE ingezet met een 200‑knooppunt kennisgrafiek, geïntegreerd met Slack en Jira.  
**Resultaten (90‑dagen pilot):**

| Metric | Voor | Na |
|--------|------|----|
| Gemiddelde responstijd | 14 dagen | 2,3 dagen |
| SLA‑naleving | 68 % | 97 % |
| Handmatige routing‑inspanning (uren/week) | 12 h | 1,5 h |
| Audit‑bevindingen op evidence‑gaps | 5 per audit | 0,8 per audit |

De ROI werd berekend op **6,2×** in de eerste zes maanden, voornamelijk door verminderde deal‑verliezen en audit‑herstelkosten.

---

## 8. Toekomstige richtingen

1. **Cross‑Tenant Intent‑Federatie** – Meerdere klanten laten gedeelde intent‑definities gebruiken terwijl data‑isolatie behouden blijft, via federated learning.
2. **Zero‑Trust verificatie** – Homomorfe encryptie combineren met intent‑routing zodat het platform zelf de vraaginhoud niet kan inzien.
3. **Predictive SLA‑modellering** – Tijdreeks‑voorspelling inzetten om aankomende pieken in vragenlijst‑invoer (bijv. na product‑lanceringen) te anticiperen en routerings‑capaciteit proactief op te schalen.

---

## 9. Aan de slag met IBRE

1. **Activeer de Intent‑Engine** in Procurize → Settings → AI Modules.  
2. **Definieer uw intent‑taxonomie** (of importeer de standaardtaxonomie).  
3. **Koppel eigenaars** door gebruikersaccounts te linken aan intent‑tags.  
4. **Verbind evidence‑bronnen** (document‑opslag, CI/CD‑artefacten).  
5. **Voer een pilot‑vragenlijst** uit en bekijk het routing‑dashboard.

Een stap‑voor‑stap tutorial staat beschikbaar in het **Procurize Help Center** onder *AI‑Driven Routing*.

---

## <span class='highlight-content'>Zie</span> ook
- [Zero‑Trust Architecture for AI‑Driven Automation – NIST SP 800‑207](https://csrc.nist.gov/publications/detail/sp/800-207/final)