Level 6: Evals — Briefing
Evals sind automatisierte Tests für LLM-Anwendungen. Statt richtig/falsch messen sie Qualität auf einer Skala. Evalite ist Dein Vitest für AI.
Skill Tree
Abschnitt betitelt „Skill Tree“Was Du Lernst
Abschnitt betitelt „Was Du Lernst“- Evalite Basics — Das TypeScript-native Eval-Framework einrichten und Deine erste Eval schreiben
- Deterministic Eval — Schnelle, guenstige Scorer ohne LLM: String-Vergleich, Contains-Check, Custom Scorer
- LLM-as-a-Judge — Ein LLM bewertet die Ausgabe eines anderen LLM — für offene Antworten ohne eindeutig richtige Lösung
- Dataset Management — Repraesentative Test-Daten sammeln, pflegen und kritisch bewerten
- Langfuse — Production-Observability: Traces, Kosten und Qualität in Echtzeit ueberwachen
Warum Das Wichtig Ist
Abschnitt betitelt „Warum Das Wichtig Ist““Your App Is Only As Good As Its Evals” — Matt Pocock
Ohne Evals aenderst Du einen Prompt und hoffst, dass es besser wird. Du liest manuell durch, ob die Antworten noch gut sind. Bei einer Änderung bricht etwas anderes — und Du merkst es erst, wenn sich ein User beschwert.
Das konkrete Problem: LLM-Ausgaben sind nicht deterministisch. Derselbe Prompt kann unterschiedliche Ergebnisse liefern. Klassische Unit Tests mit expect(result).toBe("...") funktionieren nicht. Du brauchst ein neues Test-Paradigma — Scorer, die Qualität auf einer Skala messen statt binaerem richtig/falsch.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“- Level 1: AI SDK Basics —
generateTextmuss sitzen, das ist Deine Task-Funktion in Evals - Level 5: Context Engineering — System Prompts und Prompt Templates, die Du mit Evals iterativ verbessern wirst
- OpenAI API Key — Dieses Level nutzt OpenAI-Modelle (
gpt-4o,gpt-4o-mini) als Judge und Task-Modell. Warum der Provider-Wechsel? Evalite und die Autoevals-Bibliothek (LLM-as-Judge Scorer) verwenden standardmaessig OpenAI — das ist eine Abhängigkeit dieser Tools, nicht eine generelle Empfehlung. Du koenntest auch Anthropic-Modelle als Task-Modell nutzen, aber die Judge-Scorer erwarten OpenAI. Erstelle einen Key unter platform.openai.com/api-keys und lege ihn in einer.env-Datei ab:Terminal-Fenster OPENAI_API_KEY=sk-... - pnpm — Evalite nutzt
pnpmals Paketmanager. Falls Du bisher mitnpmgearbeitet hast:npm install -g pnpm. Alternativ funktioniertnpm install -Dstattpnpm add -Dgenauso. - Du arbeitest weiterhin in Deinem Projektverzeichnis aus Level 1 oder erstellst ein neues Verzeichnis für dieses Level.
Skip-Hinweis: Du arbeitest bereits mit Evalite oder einem anderen Eval-Framework und kennst den Unterschied zwischen deterministischen und LLM-as-Judge Scorern? Spring direkt zur Boss Fight und baue eine komplette Eval-Pipeline.
Challenges
Abschnitt betitelt „Challenges“Boss Fight
Abschnitt betitelt „Boss Fight“Baue eine Eval-Pipeline für Chat Titles: Ein komplettes Evaluierungssystem für einen Chat-Titel-Generator. Du erstellst ein Dataset mit diversen Chat-Verlaeufen, kombinierst deterministische Scorer (Titellaenge) mit LLM-as-Judge (Relevanz) und trackst alles mit traceAISDKModel. Alle fuenf Bausteine in einer Pipeline.