Add "AI en Agentstrategie"
248
AI-en-Agentstrategie.md
Normal file
248
AI-en-Agentstrategie.md
Normal file
@@ -0,0 +1,248 @@
|
||||
# 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 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?)
|
||||
Reference in New Issue
Block a user