SQL · Statistik · ML · MLOps · GenAI

19 Entscheidungs-Labs: rechnen, prüfen, erklären

Neunzehn ausführbare oder vollständig nachrechenbare Kurzexperimente verbinden technische Ergebnisse mit einer deployment-nahen Interviewentscheidung.

LernempfehlungZuletzt fachlich geprüft: 2026-09-02

Allgemeine Lernbeispiele, keine APKV-Daten

Alle Eingaben sind klein, synthetisch und frei von Personenbezug. Die erwarteten Zahlen werden beim Validatorlauf durch ein gemeinsames Standardbibliothek-Skript geprüft. Schwellen und Mini-Datensätze demonstrieren Mechanik; sie sind keine universellen Produktionswerte.

Lab auswählen

19 von 19 Labs sichtbar.

Bearbeitungsmarken bleiben lokal im Browser und sind nur ein Lernsignal.

Lab 01SQL & DatenPython + SQLite :memory:

SQL-Grain vor dem Join sichern

Ziel: Zeige, wie ein One-to-many-Join Kennzahlen vervielfacht, und prüfe den erwarteten Grain vor der Aggregation.

Lab öffnen

Ziel & Voraussetzungen

Python 3 mit Standardbibliothek; keine externen Pakete und keine Dateiablage.

Schritte

  1. Lege drei Vorgänge und vier Statuszeilen in einer In-memory-Datenbank an.
  2. Zähle Rohzeilen nach dem Join und getrennte Vorgangs-IDs.
  3. Aggregiere Status zuerst auf genau eine Zeile je Vorgang und wiederhole den Join.

Erwartetes Ergebnis

Naiver Join: 4 Zeilen für 3 Vorgänge; nach Voraggregation: 3 Zeilen und 3 eindeutige Vorgänge.

Interpretation

COUNT(*) beantwortet eine Zeilenfrage, COUNT(DISTINCT id) eine Einheitenfrage. Ohne expliziten Grain kann eine scheinbar korrekte SQL-Summe falsch sein.

Interviewfrage

Welche Einheit soll genau eine Ergebniszeile bilden, und welchen Assert setzt du direkt nach dem Join?

Fallstricke

  • DISTINCT kaschiert nicht jede falsche Multiplizität.
  • Ein technisch gültiger Join beweist keine fachlich korrekte Kardinalität.

Cleanup: Die :memory:-Verbindung wird geschlossen; es bleibt keine Datei zurück.

Quellenbasis: sqlite3 — DB-API 2.0 interface for SQLite databases, SQLite SELECT

Lab 02SQL & DatenPython-Standardbibliothek

Zeitgerechten As-of-Join rechnen

Ziel: Ordne jedem Ereignis nur den letzten damals bekannten Merkmalsstand zu und verhindere Zukunftsleakage.

Lab öffnen

Ziel & Voraussetzungen

Python 3; kleine synthetische Zeitstempel als ganze Tage.

Schritte

  1. Sortiere Merkmalsstände je Entität nach Zeitpunkt.
  2. Wähle pro Ereignis das Maximum snapshot_time ≤ event_time.
  3. Vergleiche mit einem naiven Join auf den jeweils neuesten heutigen Stand.

Erwartetes Ergebnis

Die Ereignisse an Tag 3 und 8 erhalten die Werte 10 und 20; der heutige Latest-Join würde beiden fälschlich 20 geben.

Interpretation

Ein Feature muss relativ zum Entscheidungszeitpunkt verfügbar sein. Ein aktueller Stammdatenstand kann historische Evaluation unbemerkt optimistisch machen.

Interviewfrage

Welcher Zeitstempel beschreibt fachliche Gültigkeit, welcher technische Ankunft, und welcher war bei Inferenz verfügbar?

Fallstricke

  • Gleichheit am Grenzzeitpunkt braucht eine fachliche Regel.
  • Nachträgliche Korrekturen benötigen Bitemporalität oder einen reproduzierbaren Snapshot.

Cleanup: Nur konstante Listen im Prozess; kein Cleanup nötig.

Quellenbasis: Hidden Technical Debt in Machine Learning Systems, Rules of Machine Learning: Best Practices for ML Engineering

Lab 03SQL & DatenPython + SQLite :memory:

NULL-Semantik in SQL sichtbar machen

Ziel: Unterscheide COUNT(*), COUNT(spalte) und IS NULL an einem kontrollierten Beispiel.

Lab öffnen

Ziel & Voraussetzungen

Python 3 mit sqlite3.

Schritte

  1. Füge vier Zeilen ein, davon zwei mit NULL im Messwert.
  2. Berechne COUNT(*), COUNT(wert) und SUM(wert IS NULL).
  3. Formuliere die fachliche Missingness-Quote mit passendem Nenner.

Erwartetes Ergebnis

COUNT(*) = 4, COUNT(wert) = 2 und Zahl der NULL-Werte = 2; die beobachtete Missingness-Quote ist 50 %.

Interpretation

Aggregatfunktionen können fehlende Werte unterschiedlich behandeln. Nenner und Missingness-Mechanismus gehören deshalb explizit in die Definition.

Interviewfrage

Welche Population steckt im Nenner deiner Quote, und bedeutet NULL wirklich unbekannt statt nicht anwendbar?

Fallstricke

  • NULL = NULL ist nicht wahr; nutze IS NULL.
  • Fehlend und fachlich nicht anwendbar dürfen nicht still zusammenfallen.

Cleanup: Die In-memory-Verbindung wird geschlossen.

Quellenbasis: sqlite3 — DB-API 2.0 interface for SQLite databases, SQLite SELECT

Lab 04StatistikPython-Standardbibliothek

Mittelwert und Median unter Ausreißer vergleichen

Ziel: Quantifiziere, wie ein einzelner Extremwert Mittelwert und Median unterschiedlich verschiebt.

Lab öffnen

Ziel & Voraussetzungen

Python 3, Modul statistics.

Schritte

  1. Berechne Mittelwert und Median von [1, 2, 3, 4, 100].
  2. Entferne den Extremwert nur als Sensitivitätsanalyse und rechne erneut.
  3. Entscheide den Schätzer aus dem Estimand, nicht aus dem hübscheren Ergebnis.

Erwartetes Ergebnis

Mit Extremwert: Mittelwert 22,0 und Median 3; ohne ihn: beide 2,5.

Interpretation

Der Median ist robuster, beantwortet aber eine andere Populationsfrage als der Mittelwert. Ausreißerprüfung ist keine automatische Löschregel.

Interviewfrage

Willst du den erwarteten Wert oder den typischen mittleren Rang schätzen, und ist der Extremwert ein Fehler oder reale Population?

Fallstricke

  • Robust bedeutet nicht unverzerrt für jedes Estimand.
  • Entfernen ohne dokumentierte Regel verändert die Zielpopulation.

Cleanup: Keine Dateien oder Zufallszustände.

Quellenbasis: statistics — Mathematical statistics functions, Quantitative Techniques

Lab 05StatistikNachrechenbarer Walkthrough

Missingness als Selektionsproblem prüfen

Ziel: Zeige, dass Complete-case-Auswertung verzerrt sein kann, wenn Beobachtbarkeit mit dem Wert zusammenhängt.

Lab öffnen

Ziel & Voraussetzungen

Papier oder Python; sechs synthetische Werte mit Beobachtungsindikator.

Schritte

  1. Definiere die vollständige Zielpopulation [1, 2, 3, 8, 9, 10].
  2. Markiere nur [1, 2, 3] als beobachtet.
  3. Vergleiche Populationsmittel und Complete-case-Mittel und benenne die nicht identifizierbare Annahme.

Erwartetes Ergebnis

Populationsmittel = 5,5; Complete-case-Mittel = 2,0; Differenz = −3,5.

Interpretation

Im echten Problem ist der fehlende Teil gerade unbekannt. Das Beispiel beweist nicht, welche Imputation richtig ist, sondern warum der Missingness-Prozess analysiert werden muss.

Interviewfrage

Wovon hängt Beobachtbarkeit ab, und welche Sensitivitätsanalyse würde deine Entscheidung kippen?

Fallstricke

  • MCAR, MAR und MNAR sind Annahmen, keine automatisch erkennbaren Labels.
  • Imputation vor dem Split kann Information zwischen Sets tragen.

Cleanup: Kein Cleanup nötig.

Quellenbasis: statistics — Mathematical statistics functions, Common pitfalls and recommended practices

Lab 06ML-ValidierungPython-Standardbibliothek

Skalierung ausschließlich im Training fitten

Ziel: Mache sichtbar, wie Testdaten den Transformationsparameter verändern, wenn Preprocessing vor dem Split gefittet wird.

Lab öffnen

Ziel & Voraussetzungen

Python 3; Populationsstandardabweichung wird explizit verwendet.

Schritte

  1. Schätze Mittelwert und Standardabweichung aus Train [1, 2, 3].
  2. Transformiere Testwert 100 mit diesen Parametern.
  3. Schätze fälschlich auf Train plus Test und vergleiche das transformierte Ergebnis.

Erwartetes Ergebnis

Train-only: Mittelwert 2 und z(100) ≈ 120,02; mit Leakage: Mittelwert 26,5 und z(100) ≈ 1,73.

Interpretation

Die Größe des Testwerts darf den im Training gelernten Maßstab nicht beeinflussen. Der große z-Wert ist hier ein Shift-Signal, kein Rechenfehler.

Interviewfrage

Welche Schritte lernen Parameter, und wie stellst du sicher, dass jeder Fold seine eigene Pipeline fitten muss?

Fallstricke

  • Auch Imputation, Feature Selection und PCA können leaken.
  • Eine Pipeline schützt nur, wenn der Split die spätere Nutzung korrekt abbildet.

Cleanup: Keine Artefakte.

Quellenbasis: Common pitfalls and recommended practices, Cross-validation: evaluating estimator performance

Lab 07ML-ValidierungPython-Standardbibliothek

Entitätsleakage im Group-Split finden

Ziel: Prüfe, ob dieselbe Entität in Training und Test erscheint und dadurch wiedererkennbare Signale überträgt.

Lab öffnen

Ziel & Voraussetzungen

Python 3; synthetische Zeilen mit customer_id.

Schritte

  1. Teile sechs Zeilen naiv nach Zeilenindex.
  2. Bilde die Schnittmenge der Entitäts-IDs beider Sets.
  3. Weise ganze Entitäten einem Set zu und prüfe erneut.

Erwartetes Ergebnis

Naiver Split teilt zwei Entitäten über die Grenze; Group-Split hat Schnittmenge 0.

Interpretation

Die unabhängige Einheit ist häufig Person, Gerät, Standort oder Dokumentfamilie – nicht die Zeile. Die Deploymentfrage bestimmt die Gruppierung.

Interviewfrage

Soll das Modell neue Zeilen bekannter Entitäten oder vollständig neue Entitäten generalisieren?

Fallstricke

  • Gruppen können verschachtelt sein.
  • Stratifizierung und Gruppenreinheit lassen sich nicht immer gleichzeitig perfekt erfüllen.

Cleanup: Keine Dateien.

Quellenbasis: Cross-validation: evaluating estimator performance, Common pitfalls and recommended practices

Lab 08ML-ValidierungNachrechenbarer Walkthrough

Zeit-Split gegen Zukunftsinformation testen

Ziel: Vergleiche Random-Split und Vorwärts-Split, wenn ein Prozess sich zeitlich verändert.

Lab öffnen

Ziel & Voraussetzungen

Acht chronologisch sortierte Beobachtungen.

Schritte

  1. Definiere Train als Tage 1–6 und Test als Tage 7–8.
  2. Prüfe für jedes Trainingsfeature, ob dessen available_at ≤ Trainingsstichtag gilt.
  3. Vergleiche mit einem Random-Split, der Tage 7–8 ins Training mischt.

Erwartetes Ergebnis

Vorwärts-Split enthält 0 Zukunftstage im Training; der vorgegebene Random-Split enthält 2.

Interpretation

Ein Random-Split beantwortet eine austauschbare-iid-Frage. Für zukünftige Entscheidungen muss die Evaluation die zeitliche Informationsgrenze imitieren.

Interviewfrage

Welche reale Cutoff-Zeit und welches Label-Delay bestimmen deinen letzten zulässigen Trainingsfall?

Fallstricke

  • Zeitliche Nähe kann über rollierende Aggregate leaken.
  • Ein einzelner Cutoff zeigt keine saisonale Stabilität.

Cleanup: Kein Cleanup nötig.

Quellenbasis: Cross-validation: evaluating estimator performance, Hidden Technical Debt in Machine Learning Systems

Lab 09ML-EvaluationPython-Standardbibliothek

Accuracy-Baseline bei Klassenungleichgewicht entlarven

Ziel: Berechne Accuracy und Balanced Accuracy für einen Always-negative-Baseline-Klassifikator.

Lab öffnen

Ziel & Voraussetzungen

Zehn Labels, davon zwei positiv.

Schritte

  1. Setze alle zehn Vorhersagen auf negativ.
  2. Berechne TN, FN, Accuracy, TPR und TNR.
  3. Bilde Balanced Accuracy als Mittel aus TPR und TNR.

Erwartetes Ergebnis

Accuracy = 0,80, TPR = 0,00, TNR = 1,00 und Balanced Accuracy = 0,50.

Interpretation

Hohe Accuracy kann nur die Basisrate wiedergeben. Ob die Baseline dennoch wirtschaftlich sinnvoll ist, hängt von Handlung und Fehlerkosten ab.

Interviewfrage

Welche einfache Policy ist die echte Vergleichsbasis, und welche Fehlerart löst welche Folgehandlung aus?

Fallstricke

  • Balanced Accuracy ersetzt keine Schwellen- oder Kapazitätsentscheidung.
  • Metriken ohne Unsicherheitsintervall und zeitgerechtes Testset bleiben fragil.

Cleanup: Keine Artefakte.

Quellenbasis: Metrics and scoring: quantifying the quality of predictions, Rules of Machine Learning: Best Practices for ML Engineering

Lab 10ML-EvaluationPython-Standardbibliothek

Schwelle aus Review-Kapazität ableiten

Ziel: Übersetze Scores in eine Top-k-Policy und mache Bindungen sowie Kapazitätsgrenzen sichtbar.

Lab öffnen

Ziel & Voraussetzungen

Fünf Scores und Kapazität k = 2.

Schritte

  1. Sortiere IDs stabil nach Score absteigend.
  2. Wähle die ersten zwei statt eine willkürliche 0,5-Schwelle zu behaupten.
  3. Berechne Precision@2 gegen die synthetischen Labels.

Erwartetes Ergebnis

Ausgewählt werden B und C; beide sind positiv, daher Precision@2 = 1,00 und Recall@2 = 2/3.

Interpretation

Top-k optimiert eine knappe Warteschlange, nicht automatisch Gesamtnutzen. Scorekalibrierung, Fairness und der Nutzen nicht ausgewählter Fälle bleiben separat.

Interviewfrage

Ist die Kapazität fix, und wie gehst du mit Score-Bindungen und schwankendem Volumen um?

Fallstricke

  • Auf dem Testset optimiertes k überfitten die Evaluation.
  • Precision@k ignoriert gegebenenfalls verpasste Hochkostenfälle.

Cleanup: Keine Dateien.

Quellenbasis: Metrics and scoring: quantifying the quality of predictions, The TEVV-Athlon Framework for Evaluating AI Systems

Lab 11ML-EvaluationPython-Standardbibliothek

Brier Loss und Kalibrierungsbins trennen

Ziel: Bewerte Wahrscheinlichkeitsfehler und gruppierte Kalibrierung an vier Vorhersagen.

Lab öffnen

Ziel & Voraussetzungen

Vier Wahrscheinlichkeiten [0,1; 0,2; 0,8; 0,9] und Labels [0, 1, 1, 1].

Schritte

  1. Berechne den mittleren quadratischen Wahrscheinlichkeitsfehler.
  2. Fasse niedrige und hohe Scores in zwei vorab definierte Bins.
  3. Vergleiche mittlere Vorhersage und beobachtete Rate je Bin.

Erwartetes Ergebnis

Brier Loss = 0,175; niedriger Bin: 0,15 vorhergesagt vs. 0,50 beobachtet; hoher Bin: 0,85 vs. 1,00.

Interpretation

Der Brier Loss mischt Kalibrierung und Trennschärfe. Zwei kleine Bins sind nur ein Rechenbeispiel, kein belastbarer Kalibrierungsnachweis.

Interviewfrage

Braucht die Entscheidung eine Rangfolge, eine Wahrscheinlichkeit oder beides, und wie groß sind die Bins?

Fallstricke

  • Kalibrierung auf denselben Daten wie Modellfit ist optimistisch.
  • Globale Kalibrierung kann Subgruppenfehler verdecken.

Cleanup: Keine Artefakte.

Quellenbasis: Probability calibration, Metrics and scoring: quantifying the quality of predictions

Lab 12Responsible AINachrechenbarer Walkthrough

Subgruppenfehler mit kleinen Nennern lesen

Ziel: Berechne TPR je Gruppe und kommuniziere die Unsicherheit kleiner Nenner ohne Fairness zu einer Zahl zu verkürzen.

Lab öffnen

Ziel & Voraussetzungen

Zwei Gruppen mit je zwei positiven Fällen.

Schritte

  1. Zähle TP und FN je Gruppe.
  2. Berechne TPR_A und TPR_B.
  3. Notiere Nenner, Konfidenzgrenze als offene Aufgabe und mögliche Daten-/Prozessursachen.

Erwartetes Ergebnis

Gruppe A: 2/2 = 1,00; Gruppe B: 1/2 = 0,50; Differenz 0,50 bei sehr kleinen Nennern.

Interpretation

Der beobachtete Abstand ist ein Triage-Signal, kein stabiler Fairnessbeweis. Ursachen können Datenqualität, Labelprozess, Basisraten oder Modell sein.

Interviewfrage

Welche Gruppe ist fachlich relevant, wie wurden Labels erzeugt und welche Mindestfallzahl brauchst du für eine Entscheidung?

Fallstricke

  • Fairnesskriterien können miteinander unvereinbar sein.
  • Kleine Zellen dürfen nicht durch ungeschützte Detailausgabe deanonymisiert werden.

Cleanup: Keine personenbezogenen Daten; nur synthetische Zählwerte.

Quellenbasis: Model Cards for Model Reporting, AI RMF Core

Lab 13ML-ErklärungPython-Standardbibliothek

Permutation Importance als Diagnose begrenzen

Ziel: Zeige, dass ein redundantes Feature einzeln unwichtig wirken kann, obwohl die gemeinsame Information entscheidend ist.

Lab öffnen

Ziel & Voraussetzungen

Vier binäre Beispiele mit zwei identischen Features und einer OR-Regel.

Schritte

  1. Berechne Baseline-Accuracy mit beiden identischen Features.
  2. Permutiere nur Feature A, während B unverändert bleibt.
  3. Entferne beide Features und vergleiche den gemeinsamen Leistungseinbruch.

Erwartetes Ergebnis

Baseline und Einzelpermutation bleiben bei Accuracy 1,00; ohne beide Features fällt die definierte Majority-Baseline auf 0,50.

Interpretation

Korrelierte oder redundante Features können Einzelimportanzen teilen oder verdecken. Importance ist weder Kausalität noch automatisch eine lokale Erklärung.

Interviewfrage

Welche Vorhersagefunktion, welche Datenverteilung und welche Featureabhängigkeiten gelten für deine Erklärung?

Fallstricke

  • Permutation kann unrealistische Kombinationen erzeugen.
  • Testset wiederholt für Erklärungsentscheidungen zu nutzen kann es indirekt überfitten.

Cleanup: Fester Permutationsvektor; kein Zufallszustand.

Quellenbasis: Ensembles: gradient boosting, random forests, bagging, voting, stacking, Model Cards for Model Reporting

Lab 14MLOpsPython-Standardbibliothek

Label-Delay im Monitoring abgrenzen

Ziel: Trenne sofort beobachtbare Proxy-Signale von gereiften Outcome-Labels.

Lab öffnen

Ziel & Voraussetzungen

Fünf Vorhersagen mit Entscheidungs- und Reifezeitpunkt.

Schritte

  1. Setze Monitoring-Stichtag auf Tag 10.
  2. Zähle nur Outcomes mit matured_at ≤ 10.
  3. Melde Coverage neben Performance statt unreife Fälle als negativ zu behandeln.

Erwartetes Ergebnis

Von 5 Vorhersagen sind 3 Labels gereift; Label-Coverage = 60 %, zwei Fälle bleiben nicht bewertet.

Interpretation

Aktuelle Qualitätsmetriken können selektiv oder verzögert sein. Datenqualität und Betriebsproxies helfen, ersetzen das finale Outcome aber nicht.

Interviewfrage

Wann ist ein Label endgültig, welche Fälle reifen nie und wie verändert das die beobachtete Population?

Fallstricke

  • Unreif als negativ zu codieren erzeugt systematischen Bias.
  • Nur schnell gereifte Fälle können eine selektive Teilpopulation sein.

Cleanup: Keine Artefakte.

Quellenbasis: Challenges to the Monitoring of Deployed AI Systems, Hidden Technical Debt in Machine Learning Systems

Lab 15MLOpsNachrechenbarer Walkthrough

Selektive Labels im Feedback Loop erkennen

Ziel: Zeige, warum Outcomes nur bei ausgewählten Fällen die Modellbewertung verzerren.

Lab öffnen

Ziel & Voraussetzungen

Sechs Fälle, von denen nur die drei höchsten Scores geprüft werden.

Schritte

  1. Berechne Positivrate unter den drei geprüften Fällen.
  2. Vergleiche mit der bekannten synthetischen Gesamtrate.
  3. Skizziere Exploration oder unabhängige Stichprobe zur Identifikation.

Erwartetes Ergebnis

Geprüfte Positivrate = 2/3; Gesamtrate = 3/6 = 1/2; beobachtete Labels überschätzen hier die Prävalenz um 1/6.

Interpretation

Das Modell beeinflusst, wofür Labels entstehen. Ohne Logging der Auswahlwahrscheinlichkeit und Gegenstichprobe ist spätere Evaluation nicht repräsentativ.

Interviewfrage

Welche Entscheidung erzeugt dein Label, und wo erhältst du Outcomes außerhalb der Modellselektion?

Fallstricke

  • Mehr Retraining auf selektiven Labels kann den Loop verstärken.
  • Exploration muss ethisch und risikoadäquat gestaltet werden.

Cleanup: Nur synthetische Werte.

Quellenbasis: Hidden Technical Debt in Machine Learning Systems, Challenges to the Monitoring of Deployed AI Systems

Lab 16GenAI & RetrievalPython-Standardbibliothek

Retrieval mit Precision und Recall prüfen

Ziel: Trenne Retrievalqualität von Antwortqualität und berechne Precision@k sowie Recall@k.

Lab öffnen

Ziel & Voraussetzungen

Vier relevante Dokument-IDs und drei abgerufene IDs.

Schritte

  1. Bilde die Schnittmenge aus relevant und retrieved.
  2. Berechne Precision@3 und Recall@3.
  3. Formuliere getrennte Tests für Groundedness und Antwortvollständigkeit.

Erwartetes Ergebnis

2 von 3 Treffern sind relevant: Precision@3 = 0,667; 2 von 4 relevanten Dokumenten gefunden: Recall@3 = 0,50.

Interpretation

Ein korrektes Retrieval garantiert keine korrekte Antwort; schlechtes Retrieval begrenzt Groundedness aber bereits upstream.

Interviewfrage

Welche Dokumente gelten pro Query als relevant, und welche Antwortfehler sind trotz gutem Retrieval möglich?

Fallstricke

  • Unvollständige Relevanzurteile verzerren Recall.
  • Ein einziges k passt nicht automatisch zu Latenz, Kontextfenster und Risiko.

Cleanup: Keine Dokumentinhalte oder externe Dienste.

Quellenbasis: Artificial Intelligence Risk Management Framework: Generative Artificial Intelligence Profile, The TEVV-Athlon Framework for Evaluating AI Systems

Lab 17GenAI & SecurityPython-Standardbibliothek

Retrieval-Zugriff vor Promptbau erzwingen

Ziel: Filtere Dokumente anhand expliziter Berechtigungen und behandle Dokumenttext als untrusted data statt Instruktion.

Lab öffnen

Ziel & Voraussetzungen

Drei synthetische Dokumente mit Rollenliste; eines enthält eine bösartige Textanweisung.

Schritte

  1. Bestimme erlaubte Dokumente serverseitig für Rolle service.
  2. Baue Kontext nur aus erlaubten IDs.
  3. Prüfe, dass die bösartige Zeichenfolge weder Berechtigungen noch Toolaktionen verändert.

Erwartetes Ergebnis

Rolle service erhält genau die Dokumente public und service; admin bleibt ausgeschlossen. Die eingebettete Anweisung wird als Text markiert, nicht ausgeführt.

Interpretation

Prompt Injection ist keine reine Promptformulierungsfrage. Autorisierung, minimale Privilegien, Tool-Grenzen und Outputvalidierung liegen außerhalb des Modells.

Interviewfrage

Welche Kontrolle entscheidet unabhängig vom Modell über Dokument- und Aktionsrechte?

Fallstricke

  • RAG oder Fine-Tuning eliminieren Prompt Injection nicht.
  • Ein erlaubtes Dokument kann trotzdem manipulierten Inhalt enthalten.

Cleanup: Keine Netz- oder Toolaufrufe; nur lokale Strings.

Quellenbasis: OWASP Top 10 for LLM Applications 2025, Artificial Intelligence Risk Management Framework: Generative Artificial Intelligence Profile

Lab 18MLOpsPython-Standardbibliothek

Rollback-Entscheidung reproduzierbar protokollieren

Ziel: Treffe eine Guardrail-basierte Rollback-Entscheidung und hashe kanonische Inputs für einen reproduzierbaren Audit-Trail.

Lab öffnen

Ziel & Voraussetzungen

Zwei Modelversionen, Leistungs- und Fehlerraten sowie definierte Guardrails.

Schritte

  1. Prüfe neue Version gegen Mindestleistung und maximale kritische Fehlerrate.
  2. Wähle bei Verletzung die letzte freigegebene Version.
  3. Serialisiere Entscheidungseingaben sortiert und berechne SHA-256.

Erwartetes Ergebnis

Die neue Version verletzt die kritische Fehlergrenze 0,02 mit 0,04; Entscheidung = rollback auf v1. Der SHA-256-Hash ist bei identischen Inputs stabil.

Interpretation

Rollback braucht vorab definierte Trigger, kompatible Artefakte und verantwortliche Freigabe. Ein Hash belegt Gleichheit der Inputs, nicht deren fachliche Richtigkeit.

Interviewfrage

Welche Signale lösen automatisches Stoppen, menschliche Eskalation oder Rollback aus, und wer besitzt die Entscheidung?

Fallstricke

  • Schema- oder Featureänderungen können einen technischen Rollback verhindern.
  • Nur Modellmetriken reichen bei Kunden- und Betriebsfolgen nicht.

Cleanup: Keine Dateien; kanonisches JSON wird nur im Speicher gehasht.

Quellenbasis: AI RMF Core, Challenges to the Monitoring of Deployed AI Systems, Rules of Machine Learning: Best Practices for ML Engineering

Lab 19Responsible AIPython-Standardbibliothek

Aufsicht unter Labelverzug und Queue-Last testen

Ziel: Verbinde reife Outcome-Labels, richtige und schädliche Overrides sowie die Eskalationsqueue zu einem transparenten Stop- und Fallback-Urteil.

Lab öffnen

Ziel & Voraussetzungen

Zwölf vollständig synthetische Fälle, Monitoringstichtag Tag 10 und vier Tage simulierter Eskalationszufluss; keine APKV-Daten.

Schritte

  1. Berechne Label-Coverage und End-to-end-Fehlerrate ausschließlich auf bis Tag 10 gereiften Outcomes; vergleiche zur Sensitivität mit der nur im synthetischen Lab bekannten späteren Vollsicht.
  2. Trenne richtige Overrides, die einen Modellfehler korrigieren, von schädlichen Overrides, die einen richtigen Vorschlag verschlechtern.
  3. Simuliere eine FIFO-Eskalationsqueue mit Ankünften [3, 3, 2, 1] und Kapazität 1 pro Tag; prüfe Coverage, Override-Schaden, Peak-Rückstand und Alter des ältesten offenen Falls gegen vorab gesetzte Lern-Guardrails.

Erwartetes Ergebnis

8/12 Outcomes sind gereift (66,7 %). Die beobachtete End-to-end-Fehlerrate ist 1/8 = 12,5 %, während die nur synthetisch bekannte spätere Vollsicht 3/12 = 25,0 % ergibt. Unter gereiften Fällen gibt es einen richtigen und einen schädlichen Override. Die Queue erreicht 5 offene Fälle und 2 Tage Maximalalter; Urteil: STOPP — Vorschläge pausieren, manueller Fallback.

Interpretation

Die niedrige beobachtete Fehlerrate entkräftet die Stop-Signale nicht: Outcomes sind selektiv unreif, mindestens ein Override schadet, und die Eskalationslast übersteigt die demonstrative Kapazität. Die Schwellen sind didaktische Beispielwerte; ein realer Workflow braucht fachlich begründete Fehlerkosten, Labelprozess, Kapazität, Subgruppen und Owner.

Interviewfrage

Welche Evidenz fehlt dir für eine Fortsetzung, wenn reife Fälle gut aussehen, aber Coverage und Eskalationsqueue die Guardrails reißen?

Fallstricke

  • Unreife Outcomes dürfen weder als korrekt noch als negativ codiert werden; Coverage und Reifemechanismus gehören neben jede Qualitätsrate.
  • Override- und Eskalationsquoten beweisen ohne Goldstichprobe, Gründe, Queue-Alter und Baseline keine wirksame Aufsicht.
  • Die im Lab bekannte spätere Vollsicht wäre in einem echten Monitoringstichtag gerade nicht verfügbar und darf nicht zur Live-Entscheidung leaken.

Cleanup: Nur konstante synthetische Listen im Prozess; keine Dateien, personenbezogenen Daten oder Zufallszustände.

Quellenbasis: Challenges to the monitoring of deployed AI systems: Center for AI Standards and Innovation, Workload, Appendix C: AI Risk Management and Human-AI Interaction

Alle Checks ausführen

python3 labs/decision_labs.py führt alle 19 Assertions aus; --json erzeugt maschinenlesbare Ergebnisse. Ein einzelnes Lab läuft beispielsweise mit python3 labs/decision_labs.py lab-oversight-capacity.

Transferfragen laut beantworten →

Belege auf dieser Seite

  1. sqlite3 — DB-API 2.0 interface for SQLite databases · geprüft 2026-09-02
  2. SQLite SELECT · geprüft 2026-09-02
  3. statistics — Mathematical statistics functions · geprüft 2026-09-02
  4. Common pitfalls and recommended practices · geprüft 2026-09-02
  5. Challenges to the Monitoring of Deployed AI Systems · geprüft 2026-09-02
  6. OWASP Top 10 for LLM Applications 2025 · geprüft 2026-09-02
  7. Challenges to the monitoring of deployed AI systems: Center for AI Standards and Innovation · geprüft 2026-09-02
  8. Workload · geprüft 2026-09-02