Agentenweiterleitung

Leiten Sie Nutzer anhand definierter Bedingungen nahtlos zwischen ElevenLabs-Agenten weiter.

Überblick

Die Agentenweiterleitung ermöglicht es einem ElevenLabs-Agenten, das laufende Gespräch unter bestimmten Bedingungen an einen anderen festgelegten Agenten zu übergeben. So lassen sich mehrstufige Gesprächsabläufe erstellen, in denen verschiedene Agenten bestimmte Aufgaben oder Komplexitätsstufen übernehmen.

Ein erster Agent (Orchestrator) kann beispielsweise allgemeine Anfragen bearbeiten und den Anruf dann abhängig vom Gesprächskontext an einen spezialisierten Agenten weiterleiten. Weiterleitungen können auch verschachtelt sein:

Orchestrator Agent (Initial Qualification)
│
├───> Agent 1 (e.g., Availability Inquiries)
│
├───> Agent 2 (e.g., Technical Support)
│ │
│ └───> Agent 2a (e.g., Hardware Support)
│
└───> Agent 3 (e.g., Billing Issues)
Beispiel einer Agentenweiterleitungs-Hierarchie

Zweck: Überträgt Gespräche je nach Nutzerbedarf zwischen spezialisierten KI-Agenten.

Auslösebedingungen: Das LLM sollte dieses Tool aufrufen, wenn:

  • Die Nutzeranfrage spezialisiertes Wissen oder andere Agentenfunktionen erfordert
  • Der aktuelle Agent die Anfrage nicht angemessen bearbeiten kann
  • Der Gesprächsverlauf auf den Bedarf eines anderen Agententyps hinweist

Parameter:

  • reason (string, optional): Der Grund für die Agentenübergabe
  • agent_number (integer, erforderlich): Nullbasierte Nummer des Zielagenten (basierend auf konfigurierten Übergaberegeln)

Format des Funktionsaufrufs:

{
"type": "function",
"function": {
"name": "transfer_to_agent",
"arguments": "{\"reason\": \"User needs billing support\", \"agent_number\": 0}"
}
}

Implementierung: Definieren Sie Übergaberegeln, die Bedingungen bestimmten Agenten-IDs zuordnen. Konfigurieren Sie, an welche Agenten der aktuelle Agent übergeben kann. Agenten werden in der Übergabekonfiguration durch nullbasierte Nummern referenziert.

Agentenweiterleitung aktivieren

Die Agentenweiterleitung wird mit dem System-Tool transfer_to_agent konfiguriert.

1

Weiterleitungs-Tool hinzufügen

Aktivieren Sie die Agentenweiterleitung, indem Sie in der Konfiguration Ihres Agenten auf der Registerkarte Agent das System-Tool transfer_to_agent auswählen. Wählen Sie beim Hinzufügen eines Tools „An KI-Agenten weiterleiten“.

Weiterleitungs-Tool hinzufügen
2

Tool-Beschreibung konfigurieren (optional)

Sie können eine eigene Beschreibung angeben, um dem LLM mitzuteilen, wann es eine Weiterleitung auslösen soll. Wenn Sie das Feld leer lassen, wird eine Standardbeschreibung verwendet, die die definierten Weiterleitungsregeln umfasst.

Beschreibung des Weiterleitungs-Tools
3

Weiterleitungsregeln definieren

Konfigurieren Sie die genauen Regeln für die Weiterleitung an andere Agenten. Geben Sie für jede Regel Folgendes an:

  • Agent: Der Zielagent, an den das Gespräch weitergeleitet wird.
  • Bedingung: Eine Beschreibung in natürlicher Sprache, unter welchen Umständen die Weiterleitung erfolgen soll (z. B. „Nutzer fragt nach Rechnungsdetails“, „Nutzer benötigt technischen Support für Produkt X“).
  • Verzögerung vor der Weiterleitung (Millisekunden): Die Mindestverzögerung in Millisekunden, bevor die Weiterleitung erfolgt. Standardmäßig 0 für eine sofortige Weiterleitung.
  • Weiterleitungsnachricht: Eine optionale eigene Nachricht, die während der Weiterleitung abgespielt wird. Wenn Sie das Feld leer lassen, erfolgt die Weiterleitung ohne Ansage.
  • Erste Nachricht aktivieren: Legt fest, ob der weitergeleitete Agent nach der Weiterleitung seine erste Nachricht abspielen soll. Standardmäßig deaktiviert.

Das LLM verwendet diese Bedingungen zusammen mit der Tool-Beschreibung, um zu entscheiden, wann und an welchen Agenten (nach Nummer) weitergeleitet wird.

Konfiguration der Weiterleitungsregeln

Stellen Sie sicher, dass das Benutzerkonto, das den Agenten erstellt, mindestens Leseberechtigungen für alle in den Weiterleitungsregeln angegebenen Zielagenten hat.

Verhalten bei Weiterleitungen

Bei einer Weiterleitung übergibt der übergeordnete Agent (der die Weiterleitung einleitet) bestimmte Konfigurationswerte an den untergeordneten Agenten (der das Gespräch übernimmt), während andere vollständig zurückgesetzt werden.

Vererbte Konfiguration

Der übergeordnete Agent überschreibt bei jedem untergeordneten Agenten die folgenden Werte, unabhängig von dessen eigener Konfiguration:

EinstellungBeschreibung
Client-EreignisseWelche Ereignisse der Client sendet (z. B. audio, interruption, user_transcript).
TTS-AusgabeaudioformatFormat, in dem die Sprache des Agenten gesendet wird (z. B. pcm_16000, ulaw_8000).
ASR-EingabeaudioformatFormat der Nutzeraudios, die der Agent erwartet (z. B. pcm_16000, ulaw_8000).

Zusätzlich wird die aktuelle Sprache des übergeordneten Agenten übernommen. Unterstützt der untergeordnete Agent diese nicht, verwendet er seine eigene Standardsprache. Die Webhook- und Analysekonfiguration nach dem Anruf (einschließlich Bewertungskriterien und Datenerfassungselementen) gilt ebenfalls für das gesamte Gespräch.

Nicht vererbt

Alle anderen Konfigurationen werden vom untergeordneten Agenten festgelegt, einschließlich, aber nicht beschränkt auf:

  • Prompt, erste Nachricht, LLM, Workflow, Stimme, Tools und Wissensdatenbank
  • TTS-Stimme, Modell, Stabilität und andere Stimmeinstellungen (außer agent_output_audio_format)
  • ASR-Modell, Qualität und Schlüsselwörter (außer user_input_audio_format)
  • Sprecherwechsel/Timeout, Sprachvoreinstellungen, maximale Dauer usw.

Konfigurieren Sie diese Einstellungen für jeden Agenten im Workflow einheitlich, um abweichendes Verhalten zu vermeiden.

Transkript und Chatverlauf

Das vollständige Transkript bleibt während des gesamten Gesprächs erhalten. Nachrichten von Nutzern und Agenten aller vorherigen Agenten verbleiben im Chatverlauf.

Während einer Weiterleitung werden transfer_to_agent-Tool-Aufrufe aus dem Verlauf entfernt, der für das LLM des untergeordneten Agenten sichtbar ist. So setzt es das Gespräch fort, ohne die Übergabe zu erwähnen.

Bewertung nach dem Anruf

Das LLM für die Bewertung nach dem Anruf erhält das vollständige, ungefilterte Transkript – alle Nutzer- und Agentennachrichten sowie alle Tool-Aufrufe einschließlich der Weiterleitung.

Einzelne Nachrichten enthalten kein Feld agent_id. Um festzustellen, welcher Agent welche Nachrichten erstellt hat, verwendet der Evaluator den transfer_to_agent-Tool-Aufruf als Grenzmarkierung im Transkript.

API-Implementierung

Sie können das System-Tool transfer_to_agent beim Erstellen oder Aktualisieren eines Agenten über die API konfigurieren.

from elevenlabs import AgentConfig, ConversationalConfig, ElevenLabs
elevenlabs = ElevenLabs(api_key="YOUR_API_KEY")
# Define transfer rules with new options
transfer_rules = [
{
"agent_id": "AGENT_ID_1",
"condition": "When the user asks for billing support.",
"delay_ms": 1000, # 1 second delay
"transfer_message": "I'm connecting you to our billing specialist.",
"enable_transferred_agent_first_message": True,
},
{
"agent_id": "AGENT_ID_2",
"condition": "When the user requests advanced technical help.",
"delay_ms": 0, # Immediate transfer
"transfer_message": None, # Silent transfer
"enable_transferred_agent_first_message": False,
},
]
response = elevenlabs.conversational_ai.agents.create(
conversation_config=ConversationalConfig(
agent=AgentConfig(
first_message="Hi, how can I help you today?",
prompt={
"prompt": "You are a helpful assistant.",
"built_in_tools": {
"transfer_to_agent": {
"type": "system",
"name": "transfer_to_agent",
# Optional custom description
"description": "Transfer the user to a specialized agent based on their request.",
"params": {
"system_tool_type": "transfer_to_agent",
"transfers": transfer_rules,
},
}
},
},
),
),
)
print(response)