Was bleibt, was geht: Ihr Wissen zum Webtesting auf die neue Welt der LLMs übertragen
Beispielanwendung
ThemeBuilder ist die Beispielanwendung in dieser Reihe. ThemeBuilder gibt ein JSON-Objekt aus, das ein von einem LLM generiertes Motto und eine Farbpalette enthält.
- Das Motto und die Palette müssen mit dem eingegebenen Markennamen, der Beschreibung, der Zielgruppe und dem Ton übereinstimmen.
- Das Motto darf keine schädlichen Inhalte enthalten und muss kurz sein (weniger als 6 Wörter).
- Der Kontrast der Farbpalette muss gemäß den WCAG-Mindestrichtlinien mit einem Kontrastverhältnis von 4,5:1 barrierefrei sein.
Objektive und subjektive Bewertungen
Wie testen Sie, ob ThemeBuilder wie vorgesehen funktioniert?
Regelbasierte Bewertungen (manchmal auch als genaue Bewertungen bezeichnet) sind objektive Tests mit einer binären Antwort: richtig oder falsch. Sie eignen sich am besten für Fragen zu Datenformat, Kontrastverhältnis oder anderen Fragen mit einer eindeutigen Antwort. Sie können diese Tests mit regulärem, programmatischem Code implementieren.
Einige Prüfungen sind objektiv und haben eine binäre Antwort: richtig oder falsch. Sie eignen sich am besten für Fragen zu Datenformat, Kontrastverhältnis oder anderen Fragen mit einer eindeutigen Antwort. Sie können diese Tests mit regulärem, programmatischem Code implementieren. Diese werden als regelbasierte Bewertungen oder genaue Bewertungen bezeichnet.
Beispiel:
// Example rule-based eval: data format
function evaluateFormat(appOutput) {
// Check if JSON is valid, colors are hex, no empty strings, motto is 6 words or fewer
// Use deterministic tools like zod for schema validation
return "PASS"; // or "FAIL"
}
Andere Prüfungen sind subjektiv, z. B. die Abstimmung von Motto und Farbpalette auf Marke und Zielgruppe. Auch wenn die Erkennung schädlicher Inhalte eine Klassifizierungsaufgabe ist, ist sie subjektiv, da sie eine Beurteilung erfordert.
Bei subjektiven Tests geht es auch um die Klassifizierung, aber der Bereich dessen, was richtig und falsch ist, kann stark variieren. Beispiel: Bewertung der Abstimmung von Motto und Farbpalette auf Marke und Zielgruppe. Auch die Erkennung schädlicher Inhalte ist subjektiv.
Die Bewertung subjektiver Eigenschaften klingt vielleicht nach etwas, das nur ein menschlicher Experte tun kann. Sie können diese Tests jedoch mit der LLM-as-a-judge-Technik in großem Maßstab automatisieren.
[LLM-Judges] sind schnell, einfach zu verwenden und relativ günstig. [...] Sie haben sich zu einer der häufigsten, wenn nicht sogar der häufigsten Methode zur Bewertung von KI-Modellen in der Produktion entwickelt.
– AI Engineering, Chip Huyen
Beispiel:
// Example LLM-as-a-judge eval for a subjective quality like brand fit
async function evalBrandFit(userInput, appOutput) {
const brandPrompt = `You are an expert brand strategist. Evaluate the
following generated motto for the company whose target audience is
${userInput.audience}, and who describes itself as
${userInput.companyDescription}: ${appOutput.motto}`
// Call the LLM judge
const evalResult = evalWithLLM(brandPrompt);
// Return the consolidated results
return {
mottoBrandFit: evalResult,
};
}
// Helper that communicates with the LLM API
async function evalWithLLM(prompt) {
// ... Call LLM with the prompt ...
// ... Parse the resulting judgement ("PASS" or "FAIL") + rationale
return {
status: "PASS",
rationale: "This motto perfectly captures the brand and tone, because..."
};
}
Das Modell imitiert die menschliche Beurteilung. Sie müssen dem Judge also genau sagen, wonach Sie suchen. Dazu können Sie dem Judge eine Bewertungsmatrix zur Verfügung stellen.
Eine Bewertungsmatrix ist eine strukturierte Reihe von Kriterien oder Bewertungsrichtlinien, die ein Judge (Mensch oder KI) zur Bewertung einer Ausgabe verwendet. Sie bietet einen einheitlichen Rahmen für die Bewertung subjektiver Eigenschaften in allen Bewertungen.
Andere Arten von Bewertungen
Möglicherweise möchten Sie referenzbasierte oder paarweise Bewertungen verwenden.
Referenzbasiert
Diese Bewertungen messen die Ähnlichkeit mit einer Grundwahrheitsantwort. Verwenden Sie sie für Aufgaben wie Übersetzungen oder technische Fakten, bei denen eine bekannte gute Antwort vorhanden ist.
Paarweise
Ein Judge kann zwei verschiedenen Versionen die Bewertung PASS geben, auch wenn eine besser als die andere ist. Bei der paarweisen Bewertung werden dem Judge zwei Ausgaben (A und B) für dieselbe Eingabe präsentiert und er wird aufgefordert, einen Gewinner auszuwählen.
Beispiel: Sie bewerten ein Motto für ein freundliches Café:
Input: "Friendly cafe"
Pointwise evaluation:
Output A: "Come get coffee." // PASS
Output B: "Your morning smile in a cup." // PASS
2 PASS. Unconclusive!
Pairwise evaluation:
Output B wins. It captures the "friendly" tone more effectively than the generic Output A.
Verwenden Sie die paarweise Bewertung, um auszuwählen, welche Version Ihres Modells Sie bereitstellen möchten, oder um zwei verschiedene Prompts zu vergleichen.
Standardmäßiges Webtesting im Vergleich zu KI-Bewertungen
Wir gehen davon aus, dass Sie als Leser dieses Kurses bereits wissen, wie Sie eine Website und eine Webanwendung testen. Wenn Sie KI hinzufügen, müssen Sie Ihr bestehendes mentales Modell ändern. Mit der KI-Bewertung können Sie folgende Aktionen ausführen:
- Regressionstests durchführen: Ist die Anwendung nach dem Ändern des Prompts oder Modells fehlerhaft? Erhalten Sie fehlerhafte Farbpaletten oder schädliche Mottos? Im Gegensatz zu einer Webanwendung, bei der ein Fehler eine Softwarefunktion ist, prüfen Sie hier, ob die LLM-Ausgabe hochwertig und sicher ist. Dabei spielt die Subjektivität eine Rolle.
- Anwendung optimieren: Wird Ihre Anwendung besser? Verbessern Sie die gewünschten Messwerte? Erhalten Sie beispielsweise mehr Mottos, die zur Marke passen, ohne dass die Schädlichkeit zunimmt?
- Das richtige Modell auswählen: Gibt es ein besseres Modell für Ihren Anwendungsfall? Vor der Einführung von KI haben Sie Ihren Webstack einmal ausgewählt. Mit KI sollten Sie regelmäßig Benchmarks für Modelle durchführen und Möglichkeiten ermitteln, zu einem besseren (und potenziell günstigeren) Modell zu wechseln.
Layer Ihre Tests
Eine gesunde Codebasis sollte mehrere Testschichten haben: Unit-Tests, Regressions- und Integrationstests sowie End-to-End-Tests. Auch Ihre Bewertungen sollten in Schichten erfolgen.
- Verwenden Sie regelbasierte Bewertungen in Kombination mit LLM-as-a-judge-Bewertungen, um Tests für Ihre KI-Anwendung vollständig zu automatisieren. So können Sie Probleme bei der täglichen Entwicklung und CI/CD erkennen und testen, ob Ihre Release-Kandidaten Ihren Qualitätsstandards entsprechen.
- Führen Sie Integrationstests und Regressionstests durch, um die Qualität in großem Maßstab zu prüfen.
- Führen Sie manuelle Bewertungen durch Menschen als Akzeptanztest durch.
Zusätzlich zu diesen Bewertungen, die Sie zur Build-Zeit ausführen, können Sie den Produktions-Traffic mit Laufzeitbewertungen beobachten. So können Sie Qualitäts- oder Sicherheitsprobleme bei realen Eingaben erkennen.
Bewertungen weiterentwickeln
Bewertungen sollten mit Ihrer Anwendung wachsen. Wenn Ihre Modelle intelligenter werden, aktualisieren Sie Ihre alten Bewertungen.
Fügen Sie Ihren Test-Datasets regelmäßig schwierige Beispiele hinzu, z. B. neue Grenzfälle oder überraschende Nutzereingaben, die Sie in der Produktion finden.
Was wird mit Ihren Bewertungen gemessen?
Bevor Sie Bewertungen entwerfen, sollten Sie wissen, wie Sie eine Ausgabe bewerten. Es gibt einige Begriffe, die Sie kennen müssen.
Kriterien sind die Regeln, die Dimensionen, die getestet werden müssen. Beispiele: Abstimmung auf die Marke, Schädlichkeit und Barrierefreiheit.
Jedes Bewertungskriterium wird mit einem Messwert gemessen. Ein Messwert ist ein einzelner, konkreter Wert, der die Modellausgabe anhand des Kriteriums misst. Dieser Wert kann binär sein oder einen Wert in einem Bereich darstellen, der misst, wie weit oder nah die Ausgabe an die Erwartungen des Bewerters herankommt.
Es ist möglich, dasselbe Kriterium mit verschiedenen Arten von Messwerten zu messen. Beispiel: Abstimmung auf die Marke:
- „Passt dieses Motto zur Marke?“ Der Messwert ist
PASSoderFAIL. - „Wie gut passt das Motto auf einer Skala von 1 bis 5 zur Marke?“ Der Messwert ist eine Ganzzahl zwischen 1 und 5.
Ein Bewerter ist der Code oder das Modell, das das Kriterium bewertet. Bewerter bestimmen Messwerte.