- Einleitung
- Erste Schritte
- Erstellen mit Maestro BPMN
- Grundlegendes zur BPMN-Modellierung von Maestro
- Öffnen der Modellierungsarbeitsfläche
- Modellierung Ihres Prozesses
- Ausrichten und Verbinden von BPMN-Elementen
- Patterns library
- Autopilot for Maestro (Vorschau)
- Prozess-Repository
- Einen einfachen BPMN-Prozess implementieren
- Einen komplexen BPMN-Prozess implementieren
- Debugging
- Simulieren
- Auswertungen (Vorschau)
- Häufige Implementierungsszenarien
- Erstellen mit Maestro Case
- Einführung in Maestro Case
- Maestro BPMN vs. Maestro Case: Wann wird Case Management verwendet?
- Der Lebenszyklus von Maestro Case: Vom Ereignis-Trigger zum App-Erlebnis
- Erstellen Sie Ihren ersten Fall mit Maestro Case
- Maestro Case mit einem Codierungs-Agent erstellen (Vorschau)
- Definieren von Fallschlüsseln (System vs. extern)
- Erstellen von Task-E/A- und Write-Back-Verträgen
- Austrittsregeln und Beendigung der frühen Phase
- Modellieren von primären und sekundären Phasen
- Auslösen eines Falls aus Data Fabric
- Implementieren von Personas und Berechtigungen auf Phasenebene
- Festlegen von SLAs und automatisierten Eskalationsregeln
- Konfigurieren einer Nacharbeitsschleife (Wiedereintritt)
- Konfigurieren und Testen des Case Manager-Agents (Vorschau)
- Eingabe- und Ausgabevertrag für den Fall Manager
- Wörterbuch für die Komponente „Maestro Case“.
- Erstellen mit Maestro Flow
- Maestro Automate
- Integrationen
- Betrieb
- Überwachung
- Optimieren
- Referenzinformationen
Voice Agent
Ein Sprach-Agent, der sich mit einem Live-Anruf verbindet und mit dem Anrufer spricht.
Was es tut
Fügt einen Agent an einen Live-Telefonanruf an und spricht mit dem Anrufer. Audio wird direkt in ein Echtzeit-Sprachmodell gestreamt, das es dem Anrufer ermöglicht, den Agent mitten in der Sprache zu unterbrechen. Konfigurieren Sie das Modell, die Persona, die Prompts, die Tools, die Kontextgrundlage und die Eskalationen direkt auf dem Knoten.
Beide Aufrufrichtungen verwenden dieselbe dreistufige Form:
| Richtung | Knoten-Sequence |
|---|---|
| Eingehend | Eingehender Anruf → Sprache Agent → Anruf beenden |
| Ausgehend | Ausgehenden Anruf erstellen → Sprache Agent → Anruf beenden |
Der Knoten wird in der Kategorie „Agent“ der Knotenpalette als „Sprachagent“ bezeichnet.
Konfigurationsreferenz
| Feld | Beschreibung |
|---|---|
| Modell | Das Echtzeit-Sprachmodell. |
| Persona | Die Sprache für das ausgewählte Modell. |
| Systemprompt | Die Rolle des Agents, seine ständigen Anweisungen und wie er die Konversation beenden sollte. |
| Temperatur | Kreativität der Antworten von 0 bis 1. |
| Maximale Tokens | Maximales Token für eine Konversation. |
| Anrufkontext | Der Anruf, an den dieser Agent angehängt wird. Binden Sie es an ein Upstream- callContext – z. B. $vars.createOutgoingCall1.output.callContext. |
Ausgabevariablen
Optional können Sie strukturierte Ausgabevariablen im Abschnitt Ausgaben des Eigenschaftenbereichs konfigurieren. Sie sind nützlich, um zielorientierte oder Routing-Variablen festzulegen, die in nachgelagerten Knoten innerhalb des Flows verwendet werden sollen.
Jede Ausgabevariable, die Sie deklarieren, wird zu einem Feld im Ausgabeobjekt des Agents, auf das als $vars.<agentName>.output.<name> verwiesen wird. Geben Sie jeder Variablen einen Namen und einen Typ und weisen Sie dann den Agent im Beschreibungsfeld der Variablen an, wie er dort ausgefüllt werden soll. Die Ausgabegenerierung wird durch eine Kombination aus dem Systemprompt des Agenten und den Beschreibungen der Ausgabevariablen gesteuert.
Der Agent füllt sie aus, wenn die Sprachsitzung beendet wird.
Die beiden häufigsten Verwendungen sind Anrufzusammenfassungen und Übergaben. Deklarieren Sie für eine Zusammenfassung eine Ausgabe wie call_summary und verwenden Sie deren Beschreibung, um den Agent aufzufordern, den Anruf zusammenzufassen. Der Agent schreibt es, wenn die Sitzung beendet wird, und nachgelagerte Knoten lesen es als $vars.voiceAgent1.output.call_summary.
Tools
Verbinden Sie Tools mit dem Tools-Handle, um dem Agenten Funktionen bereitzustellen, die er während des Schlussfolgerns aufrufen kann. Der Agent entscheidet während seiner Schleife, ob und wann die einzelnen verbundenen Tools aufgerufen werden. Jedes Tool enthält eine Beschreibung, die dem Agenten erläutert, wofür es verwendet wird. Verfassen Sie daher klare Beschreibungen, wenn für ein Tool eine solche Beschreibung verfügbar ist.
Beim Entwerfen von Tools für Sprach-Agents:
- Der Aufrufer wartet während jedes Toolaufrufs, also halten Sie den Auftrag jedes Tools klein und schnell.
- Tools kehren die Agent-Aufrufe in derselben Runde zusammen zurück – die langsamste legt fest, wie lange der Anrufer Stille gehört.
- Nach einer Zeitüberschreitung kann der Agent einen Fehler melden und es erneut versuchen, also machen Sie Tools idempotent. Bei einem Toolaufruf, der innerhalb von 180 Sekunden nicht zurückgegeben wurde, tritt eine Zeitüberschreitung auf.
Toolverfügbarkeit
| Werkzeugkategorie | Verfügbarkeit |
|---|---|
| RPA-Prozesse | Verfügbar |
| API-Workflows | Verfügbar |
| Aktivitäten | Verfügbar |
| Andere Flows (Maestro) | Verfügbar |
| Process orchestration | Verfügbar |
| Codierte Funktionen | Verfügbar |
| Agent (einen veröffentlichten eigenständigen Agent aufrufen) | Verfügbar |
| Integration Service-Connectors | Verfügbar |
| Indizes für Kontextgrundlagen | Verfügbar |
| Integrierte Tools (Dateien analysieren, Deep RAG, Batch-Transformation) | Nicht verfügbar |
| Eskalationen | Nicht verfügbar |
| Model Context Protocol (MCP)-Tools | Nicht verfügbar |
| A2A (Agent-zu-Agent) | Nicht verfügbar |
| IXP (Dokumentextraktion) | Nicht verfügbar |
Integrierte Sprachtools
Jeder Sprache Agent hat Zugriff auf zwei integrierte Tools. Diese sind enthalten, werden aber nicht auf der Flow-Arbeitsfläche angezeigt:
- Dual-Tone Multi-Frequency-Tool (DTMF): Wird zum Drücken von Ziffern auf der Telefontaste verwendet, die zum Navigieren in externen Telefonstrukturen verwendet werden kann
- Sitzung beenden: Wird verwendet, um die Konversation zu beenden, ohne den Anruf zu beenden. Nützlich für Übergaben von Sprache Agenten.
Tool-Leitplanken
Leitplanken auf Toolebene sind für die Tools verfügbar, die mit dem Sprache Agent-Knoten verbunden sind. Sie können die Eingabeparameter eines Tools filtern oder blockieren. Konfigurieren Sie die Leitplanke für das Tool, das an das Tools-Handle des Language Agent angehängt ist. Siehe Tool-Leitplanken.
Übergaben
Das Beenden einer Sprachsitzung ist nicht dasselbe wie das Beenden des Anrufs. Wenn ein Agent seine Sitzung beendet, beendet er den Anruf, lässt aber die Zeile offen: Der Agent füllt seine Ausgabevariablen aus und der Flow wird zum nächsten Knoten verschoben. Nur der Knoten zum Beenden des Anrufs und der Anrufer können den Anruf auflegen.
Das macht Übergaben möglich. Verketten Sie Sprach-Agent-Knoten und binden Sie sie alle an denselben Anrufkontext. Jeder Agent beendet seine eigene Sitzung, wenn sie fertig ist, und nur der letzte Pfad erreicht Anruf beenden, sodass der Anrufer die gesamte Zeile über in der Zeile bleibt.
Eine Übergabe besteht aus zwei Teilen:
- An den richtigen Agent weiterleiten. Geben Sie dem ersten Agent eine Ausgabevariable – z. B.
handoff– und teilen Sie dem Agent mithilfe der Beschreibung mit, welcher Wert festgelegt werden soll. Verzweigen Sie diesen Wert mit einem Switch- Knoten, sodass jeder Fall zu dem Agent führt, der ihn bearbeitet. - Übertragen Sie den Kontext. Ein empfangender Agent weiß nichts darüber, was bereits vorhergesagt wurde. Verweisen Sie entweder auf eine Anrufzusammenfassung des ersten Agents in seinem Systemprompt (
$vars.voiceAgent1.output.call_summary) oder fügen Sie einen Get Conversation Context- Knoten auf der Verzweigung hinzu und verweisen Sie stattdessen auf das Transkript. Siehe Anrufprotokoll.
Das Übergeben eines Anrufs an eine Person wird nicht unterstützt. Es gibt keine Live-Anrufweiterleitung.
Anrufprotokoll
Um ein Transkript nach einem Aufruf zu lesen, öffnen Sie die Debug-Ausführungsablaufverfolgung oder die Orchestrator-Auftragsablaufverfolgungen. Siehe Observability.
So verwenden Sie das Transkript innerhalb des Flows:
- Fügen Sie einen Knoten „Get Conversation Context“ hinzu.
- Übergeben Sie
$vars.<incomingOrOutgoingCallNodeId>.output.callContext.conversationId. Zum Beispiel kann<incomingOrOutgoingCallNodeId>createOutgoingCall1sein. - Verweisen Sie auf das Transkript als
$vars.<getConversationContextNodeId>.output.conversationContext.messages. Zum Beispiel kanngetConversationContextNodeIdgetConversationContext1sein.
Sie können das Transkript beispielsweise zur Verarbeitung an einen autonomen Agent übergeben:
Häufige Probleme
Der Agent spricht normal, führt jedoch nie ein Tool aus. Dem Orchestrator-Ordner ist kein Unattended- oder Standardroboter mit einer serverlosen Maschine zugewiesen, sodass jeder Toolaufruf als Fehler zurückgegeben wird und der Agent konversationell bleibt. Fügen Sie dem Ordner einen Roboter hinzu und rufen Sie ihn dann erneut auf. Siehe Orchestrator-Ordneranforderungen.
Der Anruf wird beendet, bevor die Konversation beendet ist, aber es liegen keine Fehler vor. Der Agent beendete seine eigene Sitzung mitten in der Konversation und der Flow wurde mit „Anruf beenden“ fortgesetzt. Das ist wahrscheinlich ein Prompt-Problem, bei dem der Sprach-Agent der Meinung war, dass er dem Anrufer nicht mehr hilft und beschloss, die Sitzung zu beenden.
Der Agent installiert oder erstellt statische zum Lesen von Ziffernzeichenfolgen. Bei Gemini Live bei der Temperatur 0 können lange Ziffernzeichenfolgen hängen bleiben oder verzerrt stimmen. Erhöhen Sie die Temperatur leicht. Wenn das Problem weiterhin besteht, versuchen Sie es mit dem anderen Modell.
Der Agent kann mit einem Toolschemafehler keine Verbindung herstellen. Das Gemini-Modell akzeptiert eine enger Schemateilmenge. Vereinfachen Sie das Eingabeschema des Tools oder integrieren Sie das Tool in einen API-Workflow mit einem einfachen Eingabeschema und verwenden Sie stattdessen den Workflow als Tool.
Der Anruf wird verbunden, niemand spricht und nach etwa 25 Sekunden wird unterbrochen. Ein Anruf, an den nie ein Agent angehängt wird, wird nach etwa 25 Sekunden toter Air beendet. Binden Sie Anrufkontext an callContext vom Trigger Eingehender Anruf oder den Knoten „Ausgehenden Anruf erstellen“ .
Zugehörige Seiten
- Incoming Call
- Create Outgoing Call
- End Call
- Bereitstellung – Verbinden einer Zahl und Binden an einen Flow.