2
AI en Agentstrategie
vps1_gitea_admin edited this page 2026-03-31 15:54:34 +00:00

AI- en Agentstrategie

1. Rol van AI binnen het platform

Kernprincipe

AI is geen bijzaak of feature — het is een integraal onderdeel van hoe het platform werkt. De AI-laag ondersteunt gebruikers bij het structureren, analyseren, documenteren en beslissen. Tegelijkertijd blijft de mens altijd in control.

Drie niveaus van AI-inzet

Niveau Beschrijving Voorbeeld
Assistentie Reactief helpen op verzoek "Vat dit project samen", "Wat zijn de risico's?"
Signalering Proactief attenderen op patronen "Dit commitment is 2 weken over deadline", "Deze projecten hebben overlap"
Agentisch Autonome taken uitvoeren binnen grenzen Embeddings genereren, documenten classificeren, overdrachtscheck uitvoeren

2. AI-architectuur

┌─────────────────────────────────────────────────┐
│                  LARAVEL APP                     │
│                                                  │
│  Gebruiker ──▶ Chat Interface ──▶ AI Gateway    │
│                                       │          │
└───────────────────────────────────────┼──────────┘
                                        │ REST API
                                        ▼
┌─────────────────────────────────────────────────┐
│              PYTHON AI-SERVICE                   │
│                                                  │
│  ┌─────────────┐    ┌──────────────────────┐    │
│  │ Router /    │───▶│ LangGraph Orchestrator│    │
│  │ Classifier  │    └──────────┬───────────┘    │
│  └─────────────┘               │                │
│                    ┌───────────┼───────────┐    │
│                    ▼           ▼           ▼    │
│              ┌─────────┐ ┌─────────┐ ┌────────┐│
│              │ Project │ │ Kennis  │ │ Analyse ││
│              │ Agent   │ │ Agent   │ │ Agent   ││
│              └────┬────┘ └────┬────┘ └───┬────┘│
│                   │           │           │     │
│                   ▼           ▼           ▼     │
│              ┌──────────────────────────────┐   │
│              │       Tool Layer             │   │
│              │  - DB Query (read-only)      │   │
│              │  - Document Retrieval (RAG)  │   │
│              │  - Embedding Search          │   │
│              │  - Calculation               │   │
│              │  - Report Generation         │   │
│              └──────────────────────────────┘   │
└─────────────────────────────────────────────────┘

3. Agentische taken

3.1 Projectassistent

Taken:

  • Projectsamenvatting genereren
  • Risico's identificeren op basis van projectbeschrijving
  • Vergelijking met soortgelijke projecten
  • Voortgangsanalyse en signalering

Autonomie: Laag — genereert voorstellen, gebruiker beslist

3.2 Kennisassistent

Taken:

  • Semantisch zoeken over documenten en lessons learned
  • Context ophalen uit projecthistorie
  • Relevante documenten suggereren bij nieuwe projecten
  • Samenvatten van lange documenten

Autonomie: Laag — zoekt en presenteert, schrijft niet

3.3 Documentassistent

Taken:

  • Structuurvoorstel voor documenten
  • Tekstsuggesties en aanvullingen
  • Consistentiecheck over documenten
  • Generatie van concept-overdrachtsrapporten

Autonomie: Midden — genereert concepten, gebruiker reviewt en bevestigt

3.4 Analysator

Taken:

  • Portfolioanalyse (overlap, gaps, risico's)
  • Trendanalyse over projecten
  • Budget- en bestedingsanalyse
  • Overdrachtgereedheidscheck

Autonomie: Laag — analyseert en rapporteert

3.5 Uitleg-agent (Etalage & Studenten)

Taken:

  • Technische projectbeschrijvingen vertalen naar jargonvrije uitleg
  • Concept etalage-items genereren, afgestemd op doelgroep (bestuur, collega's, studenten, extern)
  • Taalregister aanpassen per doelgroep ("doelgroep-switch")
  • Studentopdrachten verduidelijken en structureren
  • Eerder gepubliceerde etalage-items als referentie gebruiken voor consistente toon

Autonomie: Midden — genereert concepten en vertalingen, maar publicatie naar de etalage vereist altijd menselijke review en bevestiging

Zie Studenten en Etalage voor de volledige beschrijving.

3.6 Systeemtaken (achtergrond)

Taken:

  • Embeddings genereren bij document-updates
  • Automatische tagging van documenten
  • Deadline-signalering
  • Samenvattingen cachen

Autonomie: Hoog — draait autonoom, maar alleen voor technische/ondersteunende taken


4. Grenzen van autonomie

Wat autonoom mag

  • Embeddings genereren en bijwerken
  • Documenten classificeren en taggen
  • Samenvattingen genereren (als concept)
  • Semantisch zoeken en resultaten presenteren
  • Signaleringen genereren (deadlines, risico's)

Wat alleen na goedkeuring mag

  • Documenten publiceren of wijzigen
  • Statusovergangen van projecten
  • Commitments aanmaken of wijzigen
  • Notificaties versturen naar andere gebruikers
  • Besluiten registreren
  • Overdrachtsplannen genereren

Wat nooit autonoom mag

  • Data verwijderen
  • Autorisaties wijzigen
  • Namens gebruikers communiceren naar buiten
  • Bestuurlijke besluiten nemen
  • Financiële mutaties doorvoeren

5. RAG-strategie

Retrieval-Augmented Generation

Gebruikersvraag
      │
      ▼
┌─────────────┐     ┌──────────────┐
│ Query       │────▶│ pgvector     │──▶ Top-K relevante chunks
│ Embedding   │     │ Similarity   │
└─────────────┘     └──────────────┘
                           │
                           ▼
                    ┌──────────────┐
                    │ Context      │
                    │ Assembly     │──▶ Prompt met context
                    └──────────────┘
                           │
                           ▼
                    ┌──────────────┐
                    │ LLM          │──▶ Antwoord met bronverwijzingen
                    └──────────────┘

Bronnen voor RAG

Bron Chunking-strategie Update-trigger
Projectbeschrijvingen Per sectie Bij wijziging
Documenten Per paragraaf (overlap) Bij upload/wijziging
Lessons learned Per artikel Bij aanmaak/wijziging
Besluiten Per besluit Bij registratie
Kennisartikelen Per sectie Bij publicatie

Kwaliteitswaarborgen

  • Bronverwijzing bij elk antwoord (welk document, welk project)
  • Confidence indicator ("gebaseerd op 3 bronnen" vs. "geen directe bronnen gevonden")
  • Mogelijkheid voor gebruiker om feedback te geven op antwoorden
  • Periodieke evaluatie van RAG-kwaliteit

6. Scheiding systeembron en AI-gedrag

Principe

Het systeem moet altijd duidelijk maken wat feitelijke data is en wat AI-gegenereerd is.

Implementatie:

  • AI-gegenereerde content krijgt een visueel label ("AI-suggestie", "Concept")
  • Gebruiker moet expliciet bevestigen voordat AI-content systeem-status krijgt
  • Audit log registreert of content door mens of AI is aangemaakt
  • AI heeft read-only toegang tot domeindata, schrijft alleen via gebruikersbevestiging

7. Logging en terugkoppeling

Verplichte logging

  • Alle AI-requests en -responses (geanonimiseerd waar nodig)
  • Welke tools/agents zijn ingezet per request
  • Welke bronnen zijn gebruikt voor RAG
  • Gebruikersfeedback op AI-antwoorden (thumbs up/down)
  • Foutmeldingen en time-outs

Doel van logging

  • Kwaliteitsverbetering van prompts en retrieval
  • Inzicht in gebruikersbehoeften
  • Detectie van onjuiste of misleidende antwoorden
  • Basis voor iteratieve verbetering

8. MVP AI-scope

In MVP

  • Chat-interface binnen projectcontext
  • Projectsamenvatting genereren
  • Semantisch zoeken over documenten
  • Basis-RAG met bronverwijzing

Niet in MVP

  • Gespecialiseerde agents per domein
  • Proactieve signalering
  • Automatische tagging
  • Portfolioanalyse
  • Documentgeneratie

Motivatie

Start eenvoudig, meet gebruik en kwaliteit, breid uit op basis van echte behoeften. Een basale maar betrouwbare AI-ervaring is waardevoller dan een brede maar onbetrouwbare.


9. Open vragen

  1. Welke LLM-provider is beschikbaar? (Claude API, OpenAI, Azure OpenAI, lokaal?)
  2. Is er een embedding-model voorkeur? (OpenAI ada-002, lokaal model?)
  3. Mag projectdata naar een externe API worden gestuurd, of moet alles lokaal?
  4. Wat is het acceptabele latentieniveau voor AI-responses? (<5s, <10s, <30s?)
  5. Moeten AI-gesprekken per gebruiker of per project worden opgeslagen?
  6. Is er behoefte aan meertalige ondersteuning? (Nederlands + Engels?)