Evaluierungsmethoden für Agentensysteme
Evaluieren Sie Agentensysteme anders als traditionelle Software, da Agenten dynamische Entscheidungen treffen, nicht-deterministisch zwischen Läufen sind und oft keine einzelne richtige Antwort haben. Bauen Sie Evaluierungs-Frameworks auf, die diese Eigenschaften berücksichtigen, umsetzbares Feedback liefern, Regressionen erkennen und validieren, dass Context-Engineering-Entscheidungen die beabsichtigten Effekte erzielen.
Wann zu aktivieren
Aktivieren Sie dieses Skill, wenn:
- Systematisches Testen der Agentenleistung
- Validieren von Context-Engineering-Entscheidungen
- Messen von Verbesserungen im Zeitverlauf
- Erkennen von Regressionen vor der Bereitstellung
- Erstellen von Quality Gates für Agentenpipelines
- Vergleichen verschiedener Agentenkonfigurationen
- Kontinuierliches Evaluieren von Produktionssystemen
Aktivieren Sie dieses Skill nicht für angrenzende Arbeiten, die anderen Skills gehören:
- Entwerfen des LLM-Richters selbst, paarweiser Vergleich, Richter-Kalibrierung oder Bias-Minderung:
advanced-evaluation. - Entwerfen von autonomen Kontrollflächen, Neuheitsgattern, Rollback oder PR-Genehmigungsgrenzen:
harness-engineering. - Debuggen eines spezifischen Context-Fehlermodus vor dessen Messung:
context-degradation.
Kernkonzepte
Konzentrieren Sie sich bei der Evaluierung auf Ergebnisse anstatt auf Ausführungspfade, da Agenten alternative gültige Wege zu Zielen finden können. Beurteilen Sie, ob der Agent das richtige Ergebnis durch einen angemessenen Prozess erreicht, nicht ob er einer bestimmten Abfolge von Schritten gefolgt ist.
Verwenden Sie mehrdimensionale Rubriken anstelle von Einzelwerten, da eine Zahl kritische Fehler in bestimmten Dimensionen verdeckt. Erfassen Sie faktische Genauigkeit, Vollständigkeit, Zitiergenauigkeit, Quellenqualität und Werkzeugeffizienz als separate Dimensionen und gewichten Sie sie dann für den Anwendungsfall.
Verwenden Sie modellgestützte Evaluierung erst, nachdem deterministische Prüfungen und Rubriken stabil sind. Wenn die Arbeit sich auf Richter-Prompts, paarweisen Vergleich, Kalibrierung oder Bias-Minderung konzentriert, wechseln Sie zur Advanced Evaluation.
Führen Sie deterministische Validierung vor der LLM-Beurteilung durch, wann immer das Artefakt maschinell überprüfbare Struktur hat. Schema-Gültigkeit, doppelte Schlüssel, Rubriken-Mathematik, Manifest-Synchronisation, Retrieval-Status und erforderliche Beweispfade sollten schnell fehlschlagen, bevor ein Evaluator Tokens verbraucht oder eine subjektive Punktzahl zurückgibt.
Leistungstreiber
Wenden Sie Browsing-Agenten-Forschung an, wenn Sie Evaluierungsbudgets entwerfen: Token-Nutzung, Tool-Aufrufe und Modellauswahl können die gemessene Leistungsvarianz dominieren (claim-evaluation-browsecomp-variance).
| Faktor | Erklärte Varianz | Auswirkung |
|---|---|---|
| Token-Nutzung | Primärer Treiber | Mehr Exploration kann die Leistung verbessern, bis die Kosten oder die Context-Qualität einbrechen |
| Anzahl der Tool-Aufrufe | Sekundärer Treiber | Mehr Tool-Nutzung hilft nur, wenn die Aufrufe nützliche Beweise abrufen |
| Modellauswahl | Sekundär, aber multiplikativ | Bessere Modelle nutzen Tokens und Tools oft effizienter |
Handeln Sie basierend auf diesen Auswirkungen beim Entwerfen von Evaluierungen:
- Setzen Sie realistische Token-Budgets: Evaluieren Sie Agenten mit produktionsrealistischen Token-Grenzen, nicht mit unbegrenzten Ressourcen.
- Vergleichen Sie Modell-Upgrades mit Token-Erhöhungen: Bessere Modelle können Tokens effizienter nutzen als schwächere Modelle mit größeren Budgets.
- Validieren Sie Multi-Agent-Architekturen: Zusätzliche Agenten fügen Tokens und Tool-Aufrufe hinzu; evaluieren Sie sie gegen Einzelagenten-Baselines.
Detaillierte Themen
Evaluierungsherausforderungen
Umgang mit Nicht-Determinismus und mehreren gültigen Pfaden
Entwerfen Sie Evaluierungen, die Pfadvariationen tolerieren, da Agenten völlig unterschiedliche gültige Pfade nehmen können, um Ziele zu erreichen. Ein Agent könnte drei Quellen durchsuchen, während ein anderer zehn durchsucht; beide können korrekte Antworten liefern. Vermeiden Sie die Überprüfung auf bestimmte Schritte. Definieren Sie stattdessen Ergebniskriterien (Korrektheit, Vollständigkeit, Qualität) und bewerten Sie diese, wobei Sie den Ausführungspfad als informativ und nicht als bewertend betrachten.
Testen von kontextabhängigen Fehlern
Evaluieren Sie über eine Reihe von Komplexitätsstufen und Interaktionslängen hinweg, da Agentenfehler oft auf subtile Weise vom Kontext abhängen. Ein Agent könnte bei einfachen Abfragen erfolgreich sein, aber bei komplexen scheitern, mit einem Werkzeugsatz gut funktionieren, aber mit einem anderen versagen, oder nach längerer Interaktion mit zunehmendem Kontext nachlassen. Fügen Sie einfache, mittlere, komplexe und sehr komplexe Testfälle hinzu, um diese Muster aufzudecken.
Separate Bewertung zusammengesetzter Qualitätsdimensionen
Zerlegen Sie die Agentenqualität in separate Dimensionen (faktische Genauigkeit, Vollständigkeit, Kohärenz, Werkzeugeffizienz, Prozessqualität) und bewerten Sie jede unabhängig, da ein Agent in der Genauigkeit hoch, aber in der Effizienz niedrig punkten kann oder umgekehrt. Berechnen Sie dann gewichtete Aggregate, die auf die Prioritäten des Anwendungsfalls abgestimmt sind. Dieser Ansatz zeigt, welche Dimensionen verbessert werden müssen, anstatt das Signal durch Mittelung zu verlieren.
Evaluierungs-Rubrik-Design
Erstellen Sie mehrdimensionale Rubriken
Definieren Sie Rubriken, die Schlüsseldimensionen mit beschreibenden Stufen von ausgezeichnet bis gescheitert abdecken. Fügen Sie diese Kerndimensionen hinzu und passen Sie die Gewichtung pro Anwendungsfall an:
- Faktische Genauigkeit: Behauptungen stimmen mit der Ground Truth überein (stark gewichten für Wissensaufgaben)
- Vollständigkeit: Ausgabe deckt angeforderte Aspekte ab (stark gewichten für Rechercheaufgaben)
- Zitiergenauigkeit: Zitate stimmen mit angegebenen Quellen überein (gewichten für vertrauenssensible Kontexte)
- Quellenqualität: Verwendet geeignete Primärquellen (gewichten für maßgebliche Ausgaben)
- Werkzeugeffizienz: Verwendet die richtigen Werkzeuge eine angemessene Anzahl von Malen (gewichten für kostensensible Systeme)
Konvertieren Sie Rubriken in numerische Punktzahlen
Ordnen Sie Dimensionsbewertungen numerischen Punktzahlen (0,0 bis 1,0) zu, wenden Sie dimensionsspezifische Gewichtungen an und berechnen Sie gewichtete Gesamtpunktzahlen. Legen Sie Bestehensschwellen basierend auf den Anforderungen des Anwendungsfalls fest, typischerweise 0,7 für den allgemeinen Gebrauch und 0,9 für risikoreiche Anwendungen. Speichern Sie einzelne Dimensionspunktzahlen zusammen mit dem Aggregat, da die Aufschlüsselung gezielte Verbesserungen vorantreibt.
Evaluierungsmethoden
LLM-als-Richter für Skalierung verwenden
Erstellen Sie LLM-basierte Evaluierungs-Prompts, die Folgendes enthalten: klare Aufgabenbeschreibung, die zu testende Agentenausgabe, Ground Truth, falls verfügbar, eine Bewertungsskala mit expliziten Stufenbeschreibungen und eine Aufforderung zu einem strukturierten Urteil mit Begründung. LLM-Richter bieten eine konsistente, skalierbare Evaluierung über große Testsets hinweg. Verwenden Sie eine andere Modellfamilie als den zu evaluierenden Agenten, um Self-Enhancement-Bias zu vermeiden.
Ergänzung durch menschliche Evaluierung
Leiten Sie Grenzfälle, ungewöhnliche Anfragen und eine Zufallsstichprobe des Produktionsverkehrs an menschliche Prüfer weiter, da Menschen halluzinierte Antworten, Systemfehler und subtile Verzerrungen bemerken, die die automatisierte Evaluierung übersieht. Verfolgen Sie Muster in menschlichen Überprüfungen, um systematische Probleme zu identifizieren und die Ergebnisse in die automatisierten Evaluierungskriterien einfließen zu lassen.
Endzustands-Evaluierung für zustandsbehaftete Agenten anwenden
Bewerten Sie für Agenten, die persistenten Zustand ändern (Dateien, Datenbanken, Konfigurationen), ob der Endzustand den Erwartungen entspricht, und nicht, wie der Agent dorthin gelangt ist. Definieren Sie erwartete Endzustands-Assertions und verifizieren Sie diese programmatisch nach jedem Testlauf.
Testset-Design
Repräsentative Stichproben auswählen
Beginnen Sie während der frühen Entwicklung mit kleinen Stichproben (20–30 Fälle), wenn Änderungen dramatische Auswirkungen haben und einfache Verbesserungen reichlich vorhanden sind. Skalieren Sie auf 50+ Fälle für ein zuverlässiges Signal, wenn das System reift. Stichproben aus realen Nutzungsmustern, fügen Sie bekannte Grenzfälle hinzu und stellen Sie die Abdeckung über Komplexitätsstufen sicher.
Nach Komplexität schichten
Strukturieren Sie Testsets nach Komplexitätsstufen, um zu verhindern, dass einfache Beispiele die Punktzahlen aufblähen:
- Einfach: einzelner Tool-Aufruf, Faktenabfrage
- Mittel: mehrere Tool-Aufrufe, Vergleichslogik
- Komplex: viele Tool-Aufrufe, erhebliche Mehrdeutigkeit
- Sehr komplex: erweiterte Interaktion, tiefes Denken, Synthese
Berichten Sie Punktzahlen pro Schicht zusammen mit Gesamtpunktzahlen, um aufzuzeigen, wo der Agent tatsächlich Schwierigkeiten hat.
Context-Engineering-Evaluierung
Context-Strategien systematisch validieren
Führen Sie Agenten mit verschiedenen Context-Strategien auf demselben Testset aus und vergleichen Sie Qualitätspunktzahlen, Token-Nutzung und Effizienzmetriken. Dies isoliert die Auswirkung des Context-Engineerings von anderen Variablen und verhindert anekdotenbasierte Entscheidungen.
Degradationstests durchführen
Testen Sie, wie sich Context-Degradation auf die Leistung auswirkt, indem Sie Agenten mit unterschiedlichen Context-Größen ausführen. Identifizieren Sie Leistungsklippen, bei denen der Context problematisch wird, und legen Sie sichere Betriebsgrenzen fest. Führen Sie diese Grenzen in die Context-Management-Strategien zurück.
Kontinuierliche Evaluierung
Automatisierte Evaluierungspipelines erstellen
Integrieren Sie die Evaluierung in den Entwicklungsablauf, sodass Evaluierungen automatisch bei Agentenänderungen ausgeführt werden. Verfolgen Sie Ergebnisse im Zeitverlauf, vergleichen Sie Versionen und blockieren Sie Bereitstellungen, die bei Schlüsselmetriken zurückfallen.
Produktionsqualität überwachen
Beispielen Sie Produktionsinteraktionen und evaluieren Sie sie kontinuierlich. Richten Sie Alarme für Qualitätseinbrüche unterhalb der Warnschwelle (0,85 Bestehensquote) und der kritischen Schwelle (0,70 Bestehensquote) ein. Pflegen Sie Dashboards, die Trendanalysen über Zeitfenster hinweg anzeigen, um eine allmähliche Verschlechterung zu erkennen.
Praktische Anleitung
Evaluierungs-Frameworks erstellen
Befolgen Sie diese Reihenfolge, um ein Evaluierungs-Framework zu erstellen, da das Überspringen früher Schritte zu Messungen führt, die nicht die tatsächliche Qualität widerspiegeln:
- Definieren Sie Qualitätsdimensionen, die für den Anwendungsfall relevant sind, bevor Sie Evaluierungscode schreiben, da später gewählte Dimensionen dazu neigen, das widerzuspiegeln, was leicht zu messen ist, anstatt was wichtig ist.
- Erstellen Sie Rubriken mit klaren, beschreibenden Stufendefinitionen, damit Evaluierer (menschlich oder LLM) konsistente Punktzahlen liefern.
- Bauen Sie Testsets aus realen Nutzungsmustern und Grenzfällen, geschichtet nach Komplexität, mit mindestens 50 Fällen für ein zuverlässiges Signal.
- Implementieren Sie automatisierte Evaluierungspipelines, die bei jeder wesentlichen Änderung ausgeführt werden.
- Legen Sie Basismetriken fest, bevor Sie Änderungen vornehmen, sodass Verbesserungen anhand einer bekannten Referenz gemessen werden können.
- Führen Sie Evaluierungen bei allen wesentlichen Änderungen durch und vergleichen Sie sie mit der Baseline.
- Verfolgen Sie Metriken im Zeitverlauf für Trendanalysen, da eine allmähliche Verschlechterung schwerer zu bemerken ist als plötzliche Abfälle.
- Ergänzen Sie die automatisierte Evaluierung in regelmäßigen Abständen durch menschliche Überprüfung.
- Trennen Sie deterministische Validierungsfehler von Qualitätsurteilen, damit ungültige Artefakte nicht durch eine günstige LLM-Bewertung gewaschen werden können.
Vermeidung von Evaluierungsfallstricken
Schützen Sie sich vor diesen häufigen Fehlern, die die Evaluierungszuverlässigkeit untergraben:
- Überanpassung an bestimmte Pfade: Evaluieren Sie Ergebnisse, nicht bestimmte Schritte, da Agenten neuartige gültige Pfade finden.
- Ignorieren von Grenzfällen: Fügen Sie diverse Testszenarien hinzu, die das gesamte Komplexitätsspektrum abdecken.
- Besessenheit von einer einzelnen Metrik: Verwenden Sie mehrdimensionale Rubriken, da eine einzelne Punktzahl dimensionsspezifische Fehler verbirgt.
- Vernachlässigung von Context-Effekten: Testen Sie mit realistischen Context-Größen und -Verläufen anstelle von Reinraumbedingungen.
- Auslassen der menschlichen Evaluierung: Die automatisierte Evaluierung übersieht subtile Probleme, die Menschen zuverlässig erkennen.
Beispiele
Beispiel 1: Einfache Evaluierung
def evaluate_agent_response(response, expected):
rubric = load_rubric()
scores = {}
for dimension, config in rubric.items():
scores[dimension] = assess_dimension(response, expected, dimension)
overall = weighted_average(scores, config["weights"])
return {"passed": overall >= 0.7, "scores": scores}
Beispiel 2: Testset-Struktur
Testsets sollten mehrere Komplexitätsstufen umfassen, um eine umfassende Evaluierung sicherzustellen:
test_set = [
{
"name": "simple_lookup",
"input": "What is the capital of France?",
"expected": {"type": "fact", "answer": "Paris"},
"complexity": "simple",
"description": "Single tool call, factual lookup"
},
{
"name": "medium_query",
"input": "Compare the revenue of Apple and Microsoft last quarter",
"complexity": "medium",
"description": "Multiple tool calls, comparison logic"
},
{
"name": "multi_step_reasoning",
"input": "Analyze sales data from Q1-Q4 and create a summary report with trends",
"complexity": "complex",
"description": "Many tool calls, aggregation, analysis"
},
{
"name": "research_synthesis",
"input": "Research emerging AI technologies, evaluate their potential impact, and recommend adoption strategy",
"complexity": "very_complex",
"description": "Extended interaction, deep reasoning, synthesis"
}
]
Beispiel 3: Deterministisches Gate vor der Modellbeurteilung
def evaluate_pr_candidate(candidate):
structure = run_validate_repo(candidate)
if not structure.ok:
return {"passed": False, "reason": "deterministic validation failed", "details": structure.errors}
quality = run_rubric_eval(candidate)
return {"passed": quality.overall >= 0.8, "scores": quality.dimensions}
Beispiel 4: Quality Gate Dimensionen
gate:
deterministic:
- schema_valid
- required_files_present
- no_duplicate_ids
quality:
factual_accuracy: min 0.85
completeness: min 0.80
source_traceability: min 0.90
Richtlinien
- Verwenden Sie mehrdimensionale Rubriken, keine einzelnen Metriken
- Evaluieren Sie Ergebnisse, nicht spezifische Ausführungspfade
- Deckt Komplexitätsstufen von einfach bis komplex ab
- Testen Sie mit realistischen Context-Größen und -Verläufen
- Führen Sie Evaluierungen kontinuierlich durch, nicht nur vor der Veröffentlichung
- Ergänzen Sie die LLM-Evaluierung durch menschliche Überprüfung
- Verfolgen Sie Metriken im Zeitverlauf zur Trenderkennung
- Legen Sie klare Bestehen/Nichtbestehen-Schwellen basierend auf dem Anwendungsfall fest
Fallstricke
- Überanpassung von Evals an bestimmte Codepfade: Tests bestehen, aber der Agent scheitert bei geringfügigen Eingabevariationen. Schreiben Sie Eval-Kriterien gegen Ergebnisse und Semantik, nicht gegen oberflächliche Muster, und rotieren Sie Testeingaben regelmäßig.
- Self-Enhancement-Bias des LLM-Richters: Modelle bewerten ihre eigenen Ausgaben höher als unabhängige Richter. Verwenden Sie eine andere Modellfamilie als Evaluierungsrichter als das zu evaluierende Modell.
- Testset-Kontamination: Eval-Beispiele gelangen in Trainingsdaten oder Prompt-Vorlagen und blähen die Punktzahlen auf. Halten Sie Eval-Sets versioniert und getrennt von allen Daten, die in Prompts oder Fine-Tuning verwendet werden.
- Metrik-Gaming: Optimierung auf die gemessene Metrik kann die tatsächliche Qualität beeinträchtigen, wenn die Metrik nicht perfekt mit der realen Leistung korreliert. Überprüfen Sie die Korrelation regelmäßig und passen Sie die Metriken an.
- Den Kontext nicht testen: Der Agent funktioniert gut in Tests mit kurzem Kontext, bricht aber in der Produktion mit langen Gesprächsverläufen zusammen. Testen Sie immer mit realistischen Context-Größen.
- Statistisch nicht signifikante Testsets: Zu kleine Testsets oder solche mit geringer Varianz können unzuverlässige Vergleiche liefern. Verwenden Sie ausreichend große, vielfältige Testsets und führen Sie mehrere Läufe durch, um Nicht-Determinismus zu berücksichtigen.