Agent-Tests

Schaffen Sie mit automatisierten Tests Vertrauen in das Verhalten Ihres Agenten

Mit Agent-Tests können Sie Konversationsantworten, Tool-Nutzung und vollständige Ergebnisse über mehrere Gesprächsrunden hinweg prüfen, bevor Sie bereitstellen. Erstellen Sie Tests von Grund auf oder aus bestehenden Konversationen und führen Sie sie dann über das Dashboard, die CLI oder die API aus.

Video-Anleitung

Überblick

Das Framework umfasst drei ergänzende Testtypen:

  • Simulationstests — Führt vollständige Konversationen über mehrere Gesprächsrunden mit einem simulierten Nutzer aus
  • Nächste-Antwort-(Szenario)-Tests — Validiert die nächste Antwort des Agenten anhand von Erfolgskriterien
  • Tool-Aufruf-Tests — Stellt sicher, dass der Agent das richtige Tool mit den richtigen Parametern aufruft

Wann welcher Test verwendet wird

TesttypVerwenden Sie ihn, wenn Sie
Simulationprüfen möchten, ob eine vollständige Konversation ein definiertes Ergebnis erreicht
Nächste Antwort (Szenario)prüfen möchten, ob die nächste Nachricht des Agenten Qualitäts-, Tonalitäts- oder Richtlinienkriterien erfüllt
Tool-Aufrufprüfen möchten, ob der Agent ein bestimmtes Tool mit erwarteten Parametern aufruft

Tests aus Konversationen erstellen

Wandeln Sie reale Konversationen in Testfälle um, wenn Sie eine Interaktion finden, in der der Agent nicht die erwartete Leistung erbracht hat.

Test aus einer Konversation erstellen
  1. Öffnen Sie die Konversation im Anrufverlauf.
  2. Klicken Sie auf Test aus dieser Konversation erstellen.
  3. Prüfen Sie den vorausgefüllten Kontext und definieren Sie dann das erwartete Verhalten.
  4. Fügen Sie den Test Ihrer Suite hinzu, um ähnliche Fehler später zu erkennen.

Simulationstests

Simulationstests bewerten Ihren Agenten in einer vollständigen Konversation über mehrere Gesprächsrunden mit einem simulierten KI-Nutzer. Anders als Nächste-Antwort-Tests prüft dieser Typ, ob die gesamte Interaktion Ihr definiertes Ergebnis erreicht.

Einen Simulationstest erstellen

Benutzeroberfläche zum Erstellen eines Simulationstests
1

Szenario definieren

Beschreiben Sie Kontext, Absicht und Verhalten des Nutzers in natürlicher Sprache. Der Simulator verwendet dieses Szenario, um die Konversation zu steuern.

Beispielszenario:

“Ein Tourist, der nicht fließend Englisch spricht, versucht in einem Restaurant eine Bestellung aufzugeben.”

2

Erfolgsbedingung festlegen

Definieren Sie das Ergebnis, das als bestanden gelten soll. Dieser Prompt wird verwendet, um zu bewerten, ob die vollständige Konversation erfolgreich war.

Beispiel für eine Erfolgsbedingung:

“Der Agent bestätigte die Bestelldetails, beantwortete Rückfragen und schloss die Bestellung ohne Missverständnisse ab.”

3

Maximale Gesprächsrunden festlegen

Wählen Sie, wie lange die Simulation laufen kann, bevor sie beendet wird. Verwenden Sie einen niedrigeren Wert für gezielte Prüfungen und einen höheren Wert für komplexe Workflows.

  • Minimum: 1
  • Maximum: 50
  • Standard: 5
4

Ausführen und Ergebnis prüfen

Führen Sie den Test aus und prüfen Sie das generierte Konversationstranskript. Bewerten Sie das Ergebnis „bestanden/nicht bestanden“ anhand Ihrer Erfolgsbedingung und überarbeiten Sie dann Ihren Prompt, Ihre Tools oder die Agentenkonfiguration.

Optionale Konfiguration

Im Testkonfigurationsbereich können Sie das Simulationsverhalten verfeinern:

  • Umgebung: Wählen Sie die Testumgebung, wenn für Ihren Agenten mehrere Umgebungen konfiguriert sind. Ist nur eine Umgebung verfügbar, wird diese Auswahl ausgeblendet.
  • Chatverlauf: Starten Sie mit einer unvollständigen Konversation statt mit einem leeren Zustand. Das ist nützlich, um laufende Konversationen und Wiederherstellungsverhalten zu testen.
  • Dynamische Variablen: Fügen Sie testspezifische Werte in Ihre Agentenvariablen ein, etwa Nutzernamen oder Bestell-IDs, ohne die grundlegende Agentenkonfiguration zu ändern.

Tool-Mocking

Simulationstests unterstützen Tool-Mocking, damit Ihr Agent während eines Durchlaufs kontrollierte Antworten erhält, statt Live-Systeme aufzurufen.

Mocking-Strategie

  • Keine Tools mocken: Es werden keine Tools gemockt.
  • Alle Tools mocken: Jedes mockbare Tool gibt eine Mock-Antwort zurück.
  • Ausgewählte Tools mocken: Es werden nur die von Ihnen ausdrücklich ausgewählten Tools gemockt.

System-Tools und Workflow-Tools werden nie gemockt.

Fallback-Verhalten

Wenn ein gemocktes Tool aufgerufen wird und keine passende Mock-Antwort gefunden wird, wählen Sie eines dieser Verhalten:

  • Echtes Tool aufrufen: Führt den echten Tool-Aufruf aus.
  • Mit Fehler beenden: Gibt eine Fehlerantwort vom Tool zurück, statt das echte Tool aufzurufen.

Die Fallback-Einstellung erscheint nur, wenn mindestens ein Tool gemockt wird.

Nächste-Antwort-(Szenario)-Tests

Nächste-Antwort-(Szenario)-Tests bewerten nur die nächste Nachricht des Agenten, nicht ein vollständiges Ergebnis über mehrere Gesprächsrunden. Geben Sie den Konversationsverlauf bis zu der Antwort an, die Sie bewerten möchten, und bewerten Sie diese Antwort dann anhand von Erfolgskriterien.

Für vollständige Ergebnisse über mehrere Gesprächsrunden verwenden Sie Simulationstests.

Einen Nächste-Antwort-Test erstellen

Benutzeroberfläche für Nächste-Antwort-(Szenario)-Tests
1

Chatverlauf definieren

Geben Sie den Konversationsverlauf bis zu der Antwort an, die Sie bewerten möchten. Das kann eine einzelne Nutzernachricht oder mehrere Gesprächsrunden mit Kontext sein.

Beispiel für einen Chatverlauf:

User: "I'd like to cancel my subscription. I've been charged twice this month and I'm frustrated."
2

Erfolgskriterien festlegen

Beschreiben Sie in einfacher Sprache, was die Antwort des Agenten erreichen soll. Legen Sie das erwartete Verhalten, die Tonalität und die Aktionen genau fest.

Beispiel für Erfolgskriterien:

  • Der Agent sollte die Frustration des Kunden einfühlsam anerkennen.
  • Der Agent sollte anbieten, die doppelte Abbuchung zu untersuchen.
  • Der Agent sollte klare nächste Schritte zur Kündigung oder Lösung nennen.
  • Der Agent sollte einen professionellen und hilfsbereiten Ton beibehalten.
3

Beispiele bereitstellen

Geben Sie sowohl Erfolgs- als auch Fehlerbeispiele an, damit der Evaluator die Nuancen Ihrer Kriterien versteht.

Erfolgsbeispiel:

“Ich verstehe, wie frustrierend doppelte Abbuchungen sein können. Ich prüfe das sofort für Sie. Ich sehe, dass es diesen Monat tatsächlich zwei Abbuchungen gab – ich werde die Erstattung für die doppelte Abbuchung umgehend veranlassen. Möchten Sie die Kündigung weiterhin durchführen oder lieber fortfahren, sobald dies geklärt ist?”

Fehlerbeispiel:

“Bei Erstattungsproblemen müssen Sie sich an die Abrechnungsabteilung wenden. Ihr Abonnement wird gekündigt.”

4

Test ausführen

Führen Sie den Test aus. Ein LLM-Evaluator vergleicht die nächste Antwort des Agenten mit Ihren Erfolgskriterien und Beispielen, um den Status „bestanden/nicht bestanden“ zu bestimmen.

Tool-Aufruf-Tests

Tool-Aufruf-Tests prüfen, ob Ihr Agent Tools korrekt verwendet und in bestimmten Situationen die richtigen Parameter übergibt. Das ist entscheidend für Aktionen wie Anrufweiterleitungen, Datenabfragen oder externe Integrationen.

Einen Tool-Aufruf-Test erstellen

Benutzeroberfläche für Tool-Aufruf-Tests
1

Tool auswählen

Wählen Sie das Tool aus, das der Agent im gegebenen Szenario voraussichtlich aufrufen soll (z. B. transfer_to_number, end_call, lookup_order).

2

Erwartete Parameter definieren

Legen Sie fest, welche Daten der Agent an das Tool übergeben soll. Sie haben drei Validierungsmethoden:

Exakte Übereinstimmung
Der Parameter muss exakt mit Ihrem angegebenen Wert übereinstimmen.

Transfer number: +447771117777

Regex-Muster Der Parameter muss einem bestimmten Muster entsprechen.

Order ID: ^ORD-[0-9]{8}$

LLM-Bewertung Ein LLM bewertet anhand des Kontexts, ob der Parameter semantisch korrekt ist.

Message: "Should be a polite message mentioning the connection"
3

Dynamische Variablen konfigurieren

Verwenden Sie beim Testen in der Entwicklung dynamische Variablenwerte, die den tatsächlichen Werten in der Produktion entsprechen. Beispiel: {{ customer_name }} oder {{ order_id }}

4

Ausführen und validieren

Führen Sie den Test aus, um sicherzustellen, dass der Agent das richtige Tool mit den korrekten Parametern aufruft.

Kritische Anwendungsfälle

Tool-Aufruf-Tests sind für Szenarien mit hohem Risiko unerlässlich:

  • Notfallweiterleitungen: Stellen Sie sicher, dass medizinische Notfälle immer an die richtige Nummer weitergeleitet werden.
  • Datensicherheit: Prüfen Sie, dass sensible Informationen nie an nicht autorisierte Tools übergeben werden.
  • Geschäftslogik: Bestätigen Sie, dass Bestellabfragen gültige Formate und Authentifizierung verwenden.

Tests ausführen

Schreiben Sie Tests für neues Verhalten oder bekannte Fehler, führen Sie sie aus, während Sie Prompts und Konfiguration überarbeiten, und speichern Sie sie, sobald sie bestehen.

Navigieren Sie zum Tab „Tests“ in der Oberfläche Ihres Agenten. Dort können Sie einzelne Tests ausführen, mehrere Tests aus Ihrer Bibliothek als Batch auswählen oder Ihre gesamte Suite mit Alle Tests ausführen starten.

Tests für einen Agenten ausführen

Probabilistische Tests

Agentenausgaben können sich zwischen Durchläufen unterscheiden. Ein einzelner bestandener Test zeigt, dass der Agent erfolgreich sein kann; probabilistische Tests zeigen durch mehrfaches Ausführen desselben Tests und die Angabe einer Bestehensquote, wie oft er erfolgreich sein wird.

Einen Test mehrfach ausführen

Split-Run-Steuerung in einem Test, mit der Sie die Anzahl der Ausführungen auswählen können

Wenn Sie einen Test über das Dashboard starten, wählen Sie mit der Split-Run-Steuerung auf der Schaltfläche „Ausführen“, wie oft er ausgeführt werden soll (z. B. 3×, 5× oder 15×). Jeder Durchlauf ist unabhängig: Der Agent erhält denselben Chatverlauf, dieselben dynamischen Variablen und weitere Eingaben, aber seine Antwort wird jedes Mal neu generiert.

Mehrfachausführungen funktionieren für einzelne Tests, Ordner und die gesamte an einen Agenten angehängte Testsuite. Sie sind mit allen drei Testtypen kompatibel — Simulation, Nächste Antwort (Szenario) und Tool-Aufruf — und besonders nützlich für Simulationstests, bei denen die größere Bandbreite einer Konversation über mehrere Gesprächsrunden Antwortvariationen wahrscheinlicher macht.

Bestehensquoten und Ergebnisgruppierung

Ergebnisse mehrerer Durchläufe, gruppiert in Bestanden- und Fehlergruppen mit einer Bestehensquoten-Kennzeichnung

Nach Abschluss einer Mehrfachausführung werden die Ergebnisse als Bestehensquote zusammengefasst (z. B. 4/5 bestanden) und mit einer farbigen Kennzeichnung versehen:

  • Grün — 100 % bestanden
  • Bernsteinfarben — mindestens 80 % bestanden
  • Rot — unter 80 %

Einzelne Durchläufe werden dann nach Fehlergrund gruppiert, damit Sie sehen können, wie der Agent scheitert, nicht nur dass er scheitert. Statt fünf einzelne Transkripte durchzugehen, um Unterschiede zu erkennen, sehen Sie Gruppen wie „Korrekt an die Abrechnung weitergeleitet (4 Durchläufe)“ und „Eine Supportnummer halluziniert (1 Durchlauf)“, die jeweils zu den zugrunde liegenden Transkripten und zur Bewertungsbegründung erweitert werden können.

Wann Sie dies verwenden sollten

  • Vor der Bereitstellung einer Änderung — Führen Sie angehängte Tests probabilistisch erneut aus, um zu bestätigen, dass die Zuverlässigkeit nicht gesunken ist (z. B. von 95 % auf 60 %).
  • Unzuverlässiges Verhalten diagnostizieren — Ein einzelner Fehler könnte Zufall sein; ein Fehler in 1 von 5 Durchläufen mit einer klar benannten Fehlergruppe ist ein reproduzierbares Problem, das behoben werden sollte.
  • Prompts und Tools optimieren — Überarbeiten Sie die Konfiguration und vergleichen Sie Bestehensquoten direkt, statt sich auf einzelne Durchläufe zu verlassen.

Probabilistisch über die API oder das SDK ausführen

Übergeben Sie repeat_count (zwischen 2 und 20) in der Anfrage run-tests, um jeden Test so oft auszuführen. Durch das Festlegen von repeat_count wird die Fehlergruppierung in der Antwort automatisch aktiviert. Die zurückgegebene Invocation enthält daher die Gruppierung pro Gruppe und die Bestehensquote, die Sie im Dashboard sehen.

from elevenlabs import ElevenLabs
elevenlabs = ElevenLabs()
invocation = elevenlabs.conversational_ai.agents.run_tests(
agent_id="<agent-id>",
tests=[{"test_id": "<test-id>"}],
repeat_count=5,
)

Best Practices

Konsistenz der Agentenpersona bewerten

Testen Sie, ob Ihr Agent seine definierte Persönlichkeit, Tonalität und Verhaltensgrenzen in unterschiedlichen Konversationsszenarien und emotionalen Kontexten beibehält.

Komplexes Denken über mehrere Gesprächsrunden prüfen

Erstellen Sie Szenarien, die die Fähigkeit des Agenten testen, Kontext zu bewahren, bedingter Logik zu folgen und Zustandsübergänge über längere Konversationen hinweg zu bewältigen.

Gegen Prompt-Injection-Versuche testen

Bewerten Sie, wie Ihr Agent auf Versuche reagiert, seine Anweisungen zu überschreiben oder sensible Systeminformationen durch gegnerische Eingaben zu extrahieren.

Auflösung mehrdeutiger Absichten bewerten

Testen Sie, wie effektiv Ihr Agent unklare Anfragen präzisiert, widersprüchliche Informationen verarbeitet und Situationen bewältigt, in denen die Nutzerabsicht unklar ist.

Nächste Schritte