Unterhaltungen simulieren

Erfahren Sie, wie Sie Ihren ElevenLabs-Agenten mit simulierten Unterhaltungen testen und bewerten

Dieser Leitfaden und die verwendeten Endpunkte sind veraltet. Verwenden Sie stattdessen den Agenten-Testtyp Simulation.

Überblick

Mit der ElevenLabs Agents API können Sie textbasierte Unterhaltungen mit Ihrem KI-Agenten simulieren und bewerten. Dieser Leitfaden zeigt Ihnen, wie Sie einen vollständigen Workflow für Simulationstests mit den Endpunkten zum Simulieren von Unterhaltungen (Batch und Streaming) implementieren. So können Sie die Leistung Ihres Agenten gezielt testen und verbessern, damit er Ihre Interaktionsziele erfüllt.

Voraussetzungen

Workflow für Simulationstests implementieren

1

Erste Bewertungsparameter festlegen

Durchsuchen Sie den Gesprächsverlauf Ihres Agenten und finden Sie Fälle, in denen Ihr Agent nicht die gewünschte Leistung erbracht hat. Nutzen Sie diese Gespräche, um verschiedene Prompts für einen simulierten Nutzer zu erstellen, der mit Ihrem Agenten interagiert. Definieren Sie außerdem zusätzliche Bewertungskriterien, die noch nicht in Ihrer Agentenkonfiguration festgelegt sind, um Ergebnisse zu testen, die Sie für einen bestimmten simulierten Nutzer erwarten.

2

Unterhaltung über das SDK simulieren

Erstellen Sie mit dem ElevenLabs SDK eine Anfrage an den Simulationsendpunkt.

from dotenv import load_dotenv
from elevenlabs import (
ElevenLabs,
ConversationSimulationSpecification,
AgentConfig,
PromptAgent,
PromptEvaluationCriteria
)
load_dotenv()
api_key = os.getenv("ELEVENLABS_API_KEY")
elevenlabs = ElevenLabs(api_key=api_key)
response = elevenlabs.conversational_ai.agents.simulate_conversation(
agent_id="YOUR_AGENT_ID",
simulation_specification=ConversationSimulationSpecification(
simulated_user_config=AgentConfig(
prompt=PromptAgent(
prompt="Your goal is to be a really difficult user.",
llm="gpt-4o",
temperature=0.5
)
)
),
extra_evaluation_criteria=[
PromptEvaluationCriteria(
id="politeness_check",
name="Politeness Check",
conversation_goal_prompt="The agent was polite.",
use_knowledge_base=False
)
]
)
print(response)

Dies ist ein einfaches Beispiel. Eine vollständige Liste der Eingabeparameter finden Sie in der API- Referenz für die Endpunkte Unterhaltung simulieren und Unterhaltung per Stream simulieren.

3

Antwort analysieren

Das SDK liefert ein umfassendes JSON-Objekt mit dem vollständigen Gesprächstranskript und einer detaillierten Analyse.

Simulierte Unterhaltung: Erfasst jeden Interaktionsschritt zwischen dem simulierten Nutzer und dem Agenten, einschließlich Nachrichten und Tool-Nutzung.

Example conversation history
[
...
{
"role": "user",
"message": "Maybe a little. I'll think about it, but I'm still not convinced it's the right move.",
"tool_calls": [],
"tool_results": [],
"feedback": null,
"llm_override": null,
"time_in_call_secs": 0,
"conversation_turn_metrics": null,
"rag_retrieval_info": null,
"llm_usage": null
},
{
"role": "agent",
"message": "I understand. If you want to explore more at your own pace, I can direct you to our documentation, which has guides and API references. Would you like me to send you a link?",
"tool_calls": [],
"tool_results": [],
"feedback": null,
"llm_override": null,
"time_in_call_secs": 0,
"conversation_turn_metrics": null,
"rag_retrieval_info": null,
"llm_usage": null
},
{
"role": "user",
"message": "I guess it wouldn't hurt to take a look. Go ahead and send it over.",
"tool_calls": [],
"tool_results": [],
"feedback": null,
"llm_override": null,
"time_in_call_secs": 0,
"conversation_turn_metrics": null,
"rag_retrieval_info": null,
"llm_usage": null
},
{
"role": "agent",
"message": null,
"tool_calls": [
{
"type": "client",
"request_id": "redirectToDocs_421d21e4b4354ed9ac827d7600a2d59c",
"tool_name": "redirectToDocs",
"params_as_json": "{\"path\": \"/docs/api-reference/introduction\"}",
"tool_has_been_called": false,
"tool_details": null
}
],
"tool_results": [],
"feedback": null,
"llm_override": null,
"time_in_call_secs": 0,
"conversation_turn_metrics": null,
"rag_retrieval_info": null,
"llm_usage": null
},
{
"role": "agent",
"message": null,
"tool_calls": [],
"tool_results": [
{
"type": "client",
"request_id": "redirectToDocs_421d21e4b4354ed9ac827d7600a2d59c",
"tool_name": "redirectToDocs",
"result_value": "Tool Called.",
"is_error": false,
"tool_has_been_called": true,
"tool_latency_secs": 0
}
],
"feedback": null,
"llm_override": null,
"time_in_call_secs": 0,
"conversation_turn_metrics": null,
"rag_retrieval_info": null,
"llm_usage": null
},
{
"role": "agent",
"message": "Okay, I've sent you a link to the introduction to our API reference. It provides a good starting point for understanding our different tools and how they can be integrated. Let me know if you have any questions as you explore it.\n",
"tool_calls": [],
"tool_results": [],
"feedback": null,
"llm_override": null,
"time_in_call_secs": 0,
"conversation_turn_metrics": null,
"rag_retrieval_info": null,
"llm_usage": null
}
...
]

Analyse: Bietet Einblicke in die Ergebnisse der Bewertungskriterien, Metriken zur Datenerfassung und eine Zusammenfassung des Gesprächstranskripts.

Example analysis
{
"analysis": {
"evaluation_criteria_results": {
"politeness_check": {
"criteria_id": "politeness_check",
"result": "success",
"rationale": "The agent remained polite and helpful despite the user's challenging attitude."
},
"understood_root_cause": {
"criteria_id": "understood_root_cause",
"result": "success",
"rationale": "The agent acknowledged the user's hesitation and provided relevant information."
},
"positive_interaction": {
"criteria_id": "positive_interaction",
"result": "success",
"rationale": "The user eventually asked for the documentation link, indicating engagement."
}
},
"data_collection_results": {
"issue_type": {
"data_collection_id": "issue_type",
"value": "support_issue",
"rationale": "The user asked for help with integrating ElevenLabs tools."
},
"user_intent": {
"data_collection_id": "user_intent",
"value": "The user is interested in integrating ElevenLabs tools into a project."
}
},
"call_successful": "success",
"transcript_summary": "The user expressed skepticism, but the agent provided useful information and a link to the API documentation."
}
}
4

Bewertungskriterien verbessern

Prüfen Sie die simulierten Unterhaltungen sorgfältig, um die Wirksamkeit Ihrer Bewertungskriterien zu beurteilen. Identifizieren Sie Lücken oder Bereiche, in denen die Kriterien bei der Bewertung der Agentenleistung unzureichend sein könnten. Verfeinern und passen Sie die Bewertungskriterien entsprechend an, damit sie Ihren gewünschten Ergebnissen entsprechen und die Fähigkeiten des Agenten präzise messen.

5

Agenten verbessern

Sobald Sie von der Genauigkeit Ihrer Bewertungskriterien überzeugt sind, nutzen Sie die Erkenntnisse aus simulierten Unterhaltungen, um die Fähigkeiten Ihres Agenten zu erweitern. Erwägen Sie, den System-Prompt zu verfeinern, um die Antworten des Agenten besser zu steuern und sicherzustellen, dass sie Ihren Zielen und den Erwartungen der Nutzer entsprechen. Prüfen Sie außerdem weitere Funktionen oder Konfigurationen, die Sie optimieren könnten, etwa indem Sie den Ton des Agenten anpassen, seine Fähigkeit zur Bearbeitung bestimmter Anfragen verbessern oder zusätzliche Datenquellen integrieren, um seine Antworten anzureichern. Wenn Sie diese Erkenntnisse systematisch anwenden, können Sie einen robusteren und effektiveren Gesprächsagenten erstellen, der eine bessere Nutzererfahrung bietet.

6

Kontinuierliche Iteration

Nach einem ersten Test- und Verbesserungszyklus kann eine umfassende Testsuite eine gute Möglichkeit sein, ein breites Spektrum möglicher Szenarien abzudecken. Diese Suite kann mehrere simulierte Unterhaltungen mit unterschiedlichen Prompts für simulierte Nutzer und verschiedenen Ausgangsbedingungen untersuchen. Durch kontinuierliche Iteration und Verfeinerung Ihres Ansatzes stellen Sie sicher, dass Ihr Agent effektiv bleibt und auf sich wandelnde Nutzerbedürfnisse reagiert.

Profi-Tipps

Detaillierte Prompts und Kriterien

Detaillierte und ausführliche Prompts für simulierte Nutzer sowie Bewertungskriterien können die Wirksamkeit der Simulationstests verbessern. Je mehr Kontext und Spezifität Sie bereitstellen, desto besser kann der Agent komplexe Interaktionen verstehen und darauf reagieren.

Konfigurationen für Mock-Tools

Nutzen Sie Konfigurationen für Mock-Tools, um den Entscheidungsprozess Ihres Agenten zu testen. So können Sie beobachten, wie der Agent Tool-Aufrufe ausführt und auf unterschiedliche Ergebnisse von Tool-Aufrufen reagiert. Weitere Informationen finden Sie zum Eingabeparameter tool_mock_config in der API-Referenz.

Teilweiser Gesprächsverlauf

Nutzen Sie teilweise Gesprächsverläufe, um zu bewerten, wie Agenten Interaktionen ab einem bestimmten Zeitpunkt handhaben. Das ist besonders nützlich, um die Fähigkeit des Agenten zu beurteilen, Gespräche zu steuern, bei denen der Nutzer eine Frage bereits auf eine bestimmte Weise formuliert hat oder bestimmte Tool-Aufrufe erfolgreich waren oder fehlgeschlagen sind. Weitere Informationen finden Sie zum Eingabeparameter partial_conversation_history in der API-Referenz.