AI-monitoring en observability
Wat te monitoren in AI-systemen, belangrijke metrieken om misbruik en drift te detecteren, alarmeringsstrategieën, en observability-architectuur voor LLM-applicaties.
Waarom AI-monitoring anders is
Traditionele applicatiemonitoring richt zich op uptime, latentie en foutpercentages. AI-monitoring moet verder gaan — het volgen van het gedrag van een probabilistisch systeem waarvan de uitvoer door ontwerp onvoorspelbaar is. Een traditionele applicatie werkt of werkt niet. Een AI-applicatie kan "werken" (een 200-statuscode met een geldig antwoord teruggeven) terwijl ze schadelijke, onjuiste of gemanipuleerde inhoud produceert.
Wat te monitoren
AI-monitoring beslaat drie domeinen: systeemmetrieken, gedragsmetrieken en beveiligingsmetrieken.
Systeemmetrieken
Dit zijn de traditionele observability-metrieken, aangepast voor AI-workloads:
| Metriek | Wat het meet | Waarom het belangrijk is |
|---|---|---|
| Latentie (TTFT) | Tijd tot het eerste token | Abnormaal hoge latentie kan wijzen op adversariële invoer die buitensporige berekening veroorzaakt |
| Latentie (totaal) | Totale tijd voor responsgeneratie | Plotselinge stijgingen kunnen wijzen op prompt-injectie die complexe toolketens triggert |
| Tokendoorvoer | Per seconde verwerkte tokens | Dalingen wijzen op resourceconflicten of een aanval |
| Foutpercentage | Percentage mislukte verzoeken | Pieken kunnen wijzen op geautomatiseerde aanvalspogingen |
| Tokengebruik | Invoer-/uitvoertokens per verzoek | Ongewoon hoog gebruik kan wijzen op extractiepogingen of het volstoppen van context |
| Kosten | Dollaruitgaven per verzoek/gebruiker/periode | Kostenpieken door verzoeken met veel tokens of buitensporig toolgebruik |
| GPU-benutting | Verbruik van rekenresources | Aanhoudend hoge benutting kan wijzen op denial-of-service |
Gedragsmetrieken
Deze metrieken volgen de kwaliteit en gepastheid van modeluitvoer:
| Metriek | Wat het meet | Waarom het belangrijk is |
|---|---|---|
| Weigeringspercentage | Percentage verzoeken dat het model weigert te beantwoorden | Plotselinge dalingen kunnen wijzen op succesvol jailbreaken |
| Onderwerpdistributie | Distributie van gespreksonderwerpen in de tijd | Verschuivingen kunnen wijzen op systematische uitbuiting |
| Uitvoersimilariteit | Cosinusgelijkenis tussen uitvoer en bekend-schadelijke templates | Detecteert uitvoer die overeenkomt met schadelijke inhoudspatronen |
| Frequentie van tool-aanroepen | Hoe vaak het model tools aanroept | Pieken kunnen wijzen op toolmisbruik via prompt-injectie |
| Patronen van tool-aanroepen | Welke tools worden aangeroepen en met welke argumenten | Onverwachte tool-aanroepen kunnen wijzen op adversariële manipulatie |
| Sentimentdrift | Veranderingen in het uitvoersentiment in de tijd | Geleidelijke verschuivingen kunnen wijzen op subtiele manipulatie |
| Hallucinatiepercentage | Percentage ongegronde beweringen in de uitvoer | Stijgingen kunnen wijzen op vergiftigde ophaalbronnen |
Beveiligingsmetrieken
Deze metrieken richten zich specifiek op adversariële activiteit:
| Metriek | Wat het meet | Waarom het belangrijk is |
|---|---|---|
| Percentage injectiepogingen | Verzoeken die door prompt-injectiedetectoren worden gemarkeerd | Volgt aanvalsvolume en -trends |
| Triggerpercentage van guardrails | Hoe vaak elke guardrail een verzoek blokkeert | Veranderingen wijzen op nieuwe aanvalspatronen of degradatie van guardrails |
| Lekken van systeemprompt | Uitvoer met fragmenten van de systeemprompt | Wijst op succesvolle extractiepogingen |
| Percentage PII-blootstelling | Uitvoer met gedetecteerde PII | Volgt datalekken |
| Frequentie van API-sleutelrotatie | Hoe vaak gecompromitteerde sleutels worden gedetecteerd | Wijst op de gezondheid van het sleutelbeheer |
| Anomaliescore per gebruiker | Gedragsafwijking per gebruiker ten opzichte van de baseline | Identificeert accounts die voor adversarieel testen worden gebruikt |
Alarmeringsstrategie
Effectieve alarmering brengt detectiegevoeligheid in balans met alarmmoeheid. Voor AI-systemen is deze balans bijzonder uitdagend, omdat de uitvoer van het systeem inherent variabel is.
Alarmniveaus
Kritiek (onmiddellijke respons)
Condities die wijzen op actieve uitbuiting of een datalek. Voorbeelden: systeemprompt volledig geëxtraheerd, PII die in de uitvoer verschijnt, tool-aanroepen naar ongeautoriseerde diensten, kostenpiek die de drempel overschrijdt. Respons: piep de oproepdienst op, automatische beperking (rate limit of blokkeer gebruiker).
Hoog (binnen 1 uur)
Condities die wijzen op een aanhoudende aanval of significante drift. Voorbeelden: aanhoudende stijging in het triggerpercentage van guardrails, een nieuw jailbreakpatroon dat herhaaldelijk verschijnt, abnormale patronen van tool-aanroepen. Respons: waarschuw het beveiligingsteam, onderzoek binnen het uur.
Gemiddeld (binnen 1 werkdag)
Condities die wijzen op potentiële problemen die onderzoek vereisen. Voorbeelden: geleidelijke verandering in onderwerpdistributie, stijgend weigeringspercentage (mogelijk overfilteren), nieuwe gebruikersaccounts met ongewoon hoog gebruik. Respons: in de wachtrij plaatsen voor onderzoek.
Laag (wekelijkse beoordeling)
Trends en patronen voor doorlopende beoordeling van de beveiligingshouding. Voorbeelden: langzame drift in metrieken voor uitvoerkwaliteit, veranderingen in het gedrag van de gebruikerspopulatie, opkomende patronen in geblokkeerde verzoeken. Respons: opnemen in de wekelijkse beveiligingsbeoordeling.
Dynamische baselines
Statische alarmdrempels falen voor AI-systemen, omdat normaal gedrag varieert met gebruikspatronen, modelupdates en seizoensgebonden veranderingen. Gebruik dynamische baselines:
- Voortschrijdende-venster-baselines: Vergelijk huidige metrieken met dezelfde metriek over de afgelopen 7-30 dagen
- Op percentielen gebaseerde drempels: Alarmeer wanneer een metriek het 99e percentiel van zijn historische distributie overschrijdt
- Veranderingssnelheidsalarmen: Alarmeer wanneer een metriek met meer dan N% verandert binnen een tijdvenster
- Cohortvergelijking: Vergelijk het gedrag van een gebruiker met dat van zijn cohort in plaats van met een globale drempel
Observability-architectuur
Een volledige AI-observability-stack heeft vier lagen:
Laag 1: verzameling
Leg alle relevante data vast op het punt van generatie:
- Logging van verzoek/respons: Elke prompt en completion met metadata (gebruikers-ID, tijdstempel, model, parameters)
- Guardrail-beslissingen: Elke guardrail-evaluatie met zijn score en beslissing
- Traces van tool-aanroepen: Elke toolaanroep met argumenten, resultaten en timing
- Infrastructuurmetrieken: GPU-benutting, geheugen, latentie, foutpercentages
Laag 2: opslag
Sla verzamelde data op in systemen die zijn geoptimaliseerd voor de benodigde toegangspatronen:
| Datatype | Opslag | Bewaring | Toegangspatroon |
|---|---|---|---|
| Metrieken | Time-series-DB (Prometheus, InfluxDB) | 90 dagen op volledige resolutie | Dashboardquery's, alarmering |
| Logs | Logaggregator (Elasticsearch, Loki) | 30-90 dagen | Full-text-zoekopdracht, onderzoek |
| Traces | Trace-opslag (Jaeger, Tempo) | 14-30 dagen | Analyse van verzoekstroom |
| Gesprekken | Object store (S3) met metadata-index | Per beleid (30 dagen tot 7 jaar) | Incidentonderzoek, compliance |
Laag 3: analyse
Verwerk opgeslagen data om inzichten te genereren en anomalieën te detecteren:
- Realtime stream-verwerking: Kafka/Flink voor onmiddellijke patroondetectie
- Batch-analytics: Periodieke analyse van opgebouwde data voor trenddetectie
- Op ML gebaseerde anomaliedetectie: Modellen getraind op normaal gedrag om afwijkingen te detecteren
- Op embeddings gebaseerde similariteit: Vergelijk uitvoer met databases van bekend-schadelijke inhoud
Laag 4: visualisatie en respons
Presenteer analyseresultaten en maak actie mogelijk:
- Dashboards: Realtime zicht op systeemgezondheid en beveiligingshouding
- Alarmbeheer: Routering, escalatie en bijhouden van beveiligingsalarmen
- Tools voor incidentrespons: De mogelijkheid om gebruikers te blokkeren, sleutels in te trekken en guardrails aan te passen als reactie op gedetecteerde dreigingen
- Rapportage: Compliance-rapporten, rapporten over de beveiligingshouding en trendanalyse
AI-specifieke observability-tools
Verschillende tools zijn specifiek voor AI-observability opgekomen:
| Tool | Focus | Belangrijkste functies |
|---|---|---|
| LangSmith | LangChain-applicaties | Trace-visualisatie, promptversiebeheer, evaluatie |
| Langfuse | Open-source LLM-observability | Tracing, scoring, promptbeheer |
| Weights & Biases (W&B) | ML-experimentbeheer | Trainingsmonitoring, modelevaluatie |
| Arize Phoenix | LLM- en ML-observability | Detectie van embeddingdrift, LLM-tracing |
| Helicone | LLM-gebruiksanalyse | Kostenbeheer, caching, rate limiting |
| OpenLLMetry | OpenTelemetry voor LLM's | Standaardinstrumentatie voor LLM-aanroepen |
Monitoring als red team-doelwit
Vanuit het red team-perspectief is monitoring zowel een beperking als een doelwit:
Monitoring ontwijken
- Laag en langzaam: Spreid aanvallen over de tijd om op snelheid gebaseerde detectie te vermijden
- Normaal gedrag nabootsen: Stem je verzoekpatronen af op legitieme gebruikers
- Meerdere accounts: Verdeel aanvalspogingen over accounts om anomaliedetectie per gebruiker te vermijden
- Geleidelijke escalatie: Vermijd plotselinge gedragsveranderingen die veranderingssnelheidsalarmen triggeren
Monitoring aanvallen
- Alarmoverstroming: Genereer grote volumes laag-ernstige alarmen om moeheid te veroorzaken en echte aanvallen te maskeren
- Loginjectie: Injecteer misleidende inhoud in logs om incidentonderzoek te bemoeilijken
- Blinde vlekken in monitoring: Identificeer data die niet wordt vastgelegd (bijv. streamingantwoorden die niet worden gelogd, argumenten van tool-aanroepen die niet worden vastgelegd)
- Uitbuiting van bewaartermijnen: Voer aanvallen uit en wacht vervolgens tot de logbewaring verloopt voordat je de echte aanval lanceert
Verwante onderwerpen
- Anomaliedetectie — jailbreakpogingen en ongebruikelijke patronen detecteren
- Logging-architectuur — wat vast te leggen en hoe het op te slaan
- Guardrails-architectuur — de preventieve controles die monitoring aanvult
- Runtime-monitoring — monitoring als remediatiestrategie
Referenties
- "Monitoring Machine Learning Models in Production" - Google (2024) - Comprehensive guide to ML monitoring covering data drift, model performance, and operational metrics
- "LLM Observability: A Practical Guide" - Arize AI (2025) - Practical patterns for implementing LLM-specific observability
- "OpenTelemetry for AI: Instrumenting LLM Applications" - OpenTelemetry Community (2025) - Standard instrumentation approaches for AI application observability
- "Detecting Adversarial Attacks on LLM Applications" - Microsoft Research (2024) - Research on monitoring-based detection of adversarial activity targeting LLM applications
Waarom wordt monitoring beschouwd als de 'laatste verdedigingslinie' voor AI-systemen?