Deel:𝕏LinkedInRedditFacebookKopieer link

Runbook voor een LLM-storing: detectie, escalatie, postmortem

Door Ivo Donker — samengesteld met AI-ondersteuning · 7 augustus 2026

Wanneer een extern Large Language Model (LLM) uitvalt, crasht niet alleen een afzonderlijke microservice, maar degradeert direct de functionele intelligentie van een complete applicatie. Hoewel de architecturale pijler van robuuste softwareontwerp voorziet in circuits en fallbacks, ontbreekt in de praktijk vaak de operationele handleiding die vastlegt hoe technici handelen tijdens actieve uitval. Zonder gestructureerd proces leidt een incident tot chaotische communicatie, vertraagde mitigerende maatregelen en gemiste claims op Service Level Agreements. Raadpleeg het ankerartikel over robuuste integraties om te begrijpen hoe deze operationele runbook-procedures naadloos aansluiten op het bredere systeemontwerp.

Dit artikel fungeert als het operationele runbook bij LLM-storingen. Het verbindt signalen uit observability direct met acties voor incident-response, escalatiepaden en postmortem-analyses. Dit artikel behandelt de technische fallback-laag zelf niet; zie de gids voor graceful degradation bij LLM-uitval voor de implementatie van reserve-modellen en degradatiestrategieën. Dit artikel behandelt niet welke SLA-cijfers je in een contract moet bedingen; zie ons overzicht van SLA en uptime bij LLM-providers voor het opstellen van contractuele garanties.

1. Het runbook als operationeel artefact

Een runbook is geen statische documentatie die eenmalig bij het opleveren van een project wordt geschreven. Het is een levend, versiebeheerd artefact dat direct beschikbaar moet zijn voor de dienstdoende site reliability engineer (SRE) of ontwikkelaar. Het eigenaarschap van het runbook ligt primair bij het team dat verantwoordelijk is voor het beheer van de LLM-integratie-infrastructuur of API-gateway.

Het runbook treedt in werking op het moment dat geautomatiseerde bewaking gecontroleerde drempelwaarden overschrijdt of wanneer eindgebruikers een significante afname van functionaliteit melden die niet door reguliere applicatiefouten wordt verklaard. Om te zorgen dat de instructies accuraat blijven, geldt de verplichting dat elke wijziging in de API-architectuur, routing-logica of fallback-providers binnen 24 uur wordt doorgevoerd in de runbook-procedures. Elk incident vormt de directe aanleiding om het stappenplan te herzien.

2. Fase 1: Detectie en signaalanalyse

Faalmodus

In deze fase centreert de faalmodus zich rondom het onvermogen om tijdig vast te stellen of een verhoogd foutpercentage veroorzaakt wordt door een externe providerstoring (zoals infrastructuuruitval, model-degradatie of capaciteitsproblemen bij de leverancier) dan wel door een interne fout in de eigen applicatiecode (zoals ongeldige JSON-payloads, gecorrumpeerde API-sleutels of overschreden prompt-tokenlimieten).

Detectie

Automatische detectie berust op het continu analyseren van observability-signalen bij het API-eindpunt. Maak onderscheid tussen harde providerfouten (zoals HTTP statuscodes 500, 502, 503 en 504), rate-limit-fouten (HTTP 429) en applicatiefouten (HTTP 400 of 422). Voor het correct inrichten van telemetriepijplijnen en logstructuren verwijzen we naar de gids voor observability en logging, waar uitgelegd wordt hoe je gedetailleerde metrieken verzamelt. Wanneer HTTP 5xx-fouten gedurende een voortschrijdend venster van 60 seconden de drempel van 5% overschrijden, is er sprake van een potentiële providerstoring.

Naast foutpercentages zijn latency-percentielen kritieke indicatoren. Een plotselinge stijging van het P99- of P95-latency-niveau wijst vaak op verstopping bij de provider voordat er daadwerkelijk HTTP-foutcodes worden geretourneerd. Bekijk de benchmark-handleiding voor latency-percentielen om te bepalen welke meetwaarden representatief zijn voor jouw specifieke workloads.

Onderscheid tijdelijke uitval (zoals netwerkspikes of kortstondige herstarts) van structurele storingen door het analyseren van de foutfrequentie en de respons-headers van de provider (zoals Retry-After). Als 80% van de verzoeken gedurende meer dan drie achtereenvolgende minuten faalt, betreft het een structurele storing.

// Provider-onafhankelijke detectielus voor LLM-endpoint gezondheid
type HealthStatus struct {
    IsHealthy     bool
    ErrorRate     float64
    P95LatencyMs  int64
    FailureReason string
}

func EvaluateLLMEndpoint(metrics MetricsWindow, timeoutBudgetMs int64) HealthStatus {
    // Definieer de kritieke alarmdrempels
    const maxErrorThreshold = 0.05 // 5% fouten toegestaan
    const maxP95LatencyMs = 4500   // 4.5 seconden P95 limiet

    if metrics.TotalRequests == 0 {
        return HealthStatus{IsHealthy: true, ErrorRate: 0, P95LatencyMs: 0}
    }

    errorRate := float64(metrics.FailedRequests) / float64(metrics.TotalRequests)
    
    // Foutpad 1: HTTP 5xx of netwerkfouten overschrijden drempel
    if errorRate > maxErrorThreshold {
        return HealthStatus{
            IsHealthy:     false,
            ErrorRate:     errorRate,
            P95LatencyMs:  metrics.P95LatencyMs,
            FailureReason: "PROVIDER_ERROR_RATE_EXCEEDED",
        }
    }

    // Foutpad 2: Latency overschrijdt het gestelde deadline-budget
    if metrics.P95LatencyMs > maxP95LatencyMs || metrics.P95LatencyMs > timeoutBudgetMs {
        return HealthStatus{
            IsHealthy:     false,
            ErrorRate:     errorRate,
            P95LatencyMs:  metrics.P95LatencyMs,
            FailureReason: "LATENCY_BUDGET_EXHAUSTED",
        }
    }

    return HealthStatus{
        IsHealthy:    true,
        ErrorRate:    errorRate,
        P95LatencyMs: metrics.P95LatencyMs,
    }
}

Mitigatie

Zodra de detectielus een afwijking vaststelt, isoleert de applicatie direct de uitgaande stroom naar de defecte provider. De automatische bewaking registreert het exacte tijdstip van het incident, verzamelt de meest recente 100 fout-trace-IDs en markeert de provider in het interne statusdashboard als onbeschikbaar. Hierdoor wordt voorkomen dat vervolgverzoeken vastlopen in lange wachttijden.

Kosten van de mitigatie

3. Fase 2: Escalatie en communicatie

Faalmodus

De faalmodus in deze fase omvat het uitblijven van tijdegeschakelde actie, het verkeerd inschatten van de impact op de bedrijfsvoering, of onduidelijke, tegenstrijdige communicatie naar interne belanghebbenden en externe gebruikers tijdens een actieve onderbreking.

Detectie

Escalatie wordt geactiveerd zodra de automatische mitigatie (zoals een circuit breaker) langer dan 5 minuten actief blijft, of wanneer het verlies van functionaliteit direct invloed heeft op kritieke bedrijfsprocessen (zoals betalingsverwerking of klantenservice-automatisering).

Mitigatie

Het escalatieproces volgt een strikt gedefinieerde escalatieladder:

  1. Niveau 1: Geautomatiseerde melding (T0). Pager-melding naar de on-call engineer via geautomatiseerde alarmering op basis van de detectiemetrieken.
  2. Niveau 2: Incident Commander (T+10 min). Indien de storing na 10 minuten niet automatisch is opgelost of opgevangen door transparante fallbacks, neemt de Incident Commander de leiding over de operationele coordinatie.
  3. Niveau 3: Stakeholder-notificatie (T+15 min). Informeer het product- en serviceteam. Werk de interne statuspagina bij.
  4. Niveau 4: Externe communicatie (T+30 min). Publicering van een incidentmelding op de openbare statuspagina voor externe gebruikers indien de dienstverlening zichtbaar is aangetast.

Tijdens een actieve storing is een nauwkeurige registratie van gegevens essentieel voor het afhandelen van de contractuele verplichtingen van de leverancier. SLA-verwachtingen zijn vastgelegd in contracten, maar vereisen tijdens uitval specifieke handelingen: leg timestamps van de eerste mislukte call vast, bewaar de HTTP-responscodes en de Unieke Request-IDs van de provider, en genereer een geaggregeerd rapport van de totale downtime. Voor de juridische en administratieve details van claims lees je het advies over AI-contracten en SLA-claims waarin stap voor stap staat hoe je bewijslast verzamelt voor creditclaims en hoe de communicatieplicht richting leveranciers werkt.

Kosten van de mitigatie

4. Fase 3: Tijdelijke mitigatie en operationalisering

Faalmodus

In deze fase bestaat de faalmodus uit het volledig blokkeren van applicatie-workflows doordat het systeem afhankelijk blijft van een onbeschikbaar model, of juist het overbelasten van de reserve-infrastructuur door een ongecontroleerde, abrupte omschakeling.

Detectie

Het systeem detecteert dat de primaire provider niet binnen de gestelde time-out reageert of herhaaldelijk foutmeldingen retourneert. Retries en exponentiële backoff proberen kortstondige netwerk-flikkeringen op te vangen. Om te voorkomen dat retries de uitvallende provider verder overbelasten, raadpleeg je de richtlijnen voor retries en backoff voor de juiste configuratie van jitter en maximale retry-pogingen.

Wanneer de circuit breaker uitslaat, treedt het tijdelijke mitigatieprotocol in werking. Dit protocol schakelt over naar een secundaire route of activeert een functionele degradatiemodus.

Mitigatie

Afhankelijk van de ernst en het type van de storing worden de volgende mitigerende maatregelen stapsgewijs geactiveerd:

Bij het uitvoeren van retries en het overschakelen naar reserve-providers ontstaat het risico dat een verzoek dubbel wordt verwerkt bij de provider als de oorspronkelijke call wel is ontvangen maar de respons is vertraagd. Een idempotency key voorkomt dat herhaalde API-calls onbedoelde neveneffecten veroorzaken. Bekijk het overzicht over idempotentie bij LLM-calls voor de exacte implementatie van unieke sleutels op API-niveau.

Daarnaast moet elk verzoek strak begrensd worden door een deadline-budget om te voorkomen dat draden in de applicatie eindeloos blijven wachten op een trage provider. Zie de gids voor timeouts en cancellation om te leren hoe je time-outs cascading door je complete keten kunt doorvoeren.

  • Automatische Fallback Provider
  • +100ms tot +500ms (afhankelijk van regio en routing)
  • Variabel (mogelijk hogere tokenkosten bij uitwijk)
  • Hoog (vereist equivalente prompt-formatting)
  • Modeldegradatie (Lichter model)
  • -300ms tot -1000ms (vaak sneller antwoord)
  • Lager (lichtere modellen zijn goedkoper)
  • Gemiddeld (mogelijke kwaliteitsafname van de output)
  • Caching & Statische Responsen
  • -80% tot -95% sneller
  • Geen additionele API-kosten
  • Laag (mits cache-infrastructuur al aanwezig is)
  • Mitigatiestrategie Impact op Latency Financiële Impact Complexiteit van Implementatie

    Kosten van de mitigatie

    5. Fase 4: Postmortem en incidentevaluatie

    Faalmodus

    De faalmodus in de postmortem-fase is het optreden van een herhaling van dezelfde storing doordat actiepunten niet helder worden toegewezen, of het ontstaan van een afrekencultuur ("blame culture") waardoor technici fouten verbergen in plaats van de onderliggende systeemzwaktes aan te pakken.

    Detectie

    De postmortem-fase start automatisch binnen 24 tot 48 uur na het formeel afschalen van de incidentstatus naar "Opgelost".

    Mitigatie

    Een effectieve postmortem volgt het principe van een blameless culture. Het doel is niet het aanwijzen van een schuldige, maar het identificeren van systeemfouten, ontbrekende monitoring en tekortkomingen in de automatisering. De postmortem-analyse doorloopt de volgende stappen:

    1. Tijdlijnreconstructie: Breng gedetailleerd in kaart wanneer de eerste afwijking optrad (T0), wanneer het alarm afging (T1), wanneer de mitigatie werd ingezet (T2) en wanneer de dienstverlening volledig hersteld was (T3).
    2. Analyse van de runbook-performance: Evalueer expliciet of de stappen in dit runbook correct zijn uitgevoerd. Waar traden vertragingen op? Waren de alarmdrempels te strikt of juist te ruim ingesteld?
    3. Toewijzen van actiepunten: Elk verbeterpunt krijgt één specifieke eigenaar en een harde streefdatum voor oplevering. Actiepunten variëren van het aanpassen van de alarmering tot het herstructureren van de fallback-logica.
    4. Validatie door middel van testen: Controleer of de doorgevoerde verbeteringen daadwerkelijk werken door het nabootsen van een providerstoring in een testomgeving. Lees het handboek voor het testen van LLM-integraties om te leren hoe je gelaagde storingssimulaties en chaos engineering toepast op API-koppelingen.

    Wanneer tijdens het incident bleek dat een wijziging in de prompt-structuur de oorzaak was van de fouten (bijvoorbeeld doordat de provider een nieuwe modelversie uitrolde die anders reageerde op bestaande prompts), moet een snelle rollback naar een eerdere promptversie mogelijk zijn. Raadpleeg het artikel over versiebeheer voor prompts in code om te zorgen dat prompt-wijzigingen atomic en traceerbaar zijn opgenomen in je CI/CD-pijplijn.

    Kosten van de mitigatie

    6. Checklist voor de dienstdoende engineer

    Gebruik onderstaande beknopte checklist bij het daadwerkelijk optreden van een LLM-storing: