Damit der Agent an der Unterhaltung teilnehmen kann, muss der Agent auf den Endnutzer mit einer Antwort auf eine Frage, einer Anfrage nach Informationen oder dem Beenden der Sitzung antworten. Ihr Agent muss sich möglicherweise auch mit Ihrem Dienst in Verbindung setzen, um dynamische Antworten zu generieren oder Aktionen für eine weitere Unterhaltungsrunde auszuführen. Auftragsausführung wird für all dies verwendet.
Eine Auftragsausführung kann folgende Elemente enthalten:
- Statische Antwortnachrichten
- Webhook-Aufrufe nach dynamischen Antworten und/oder Aktionen
- Parametervoreinstellungen zum Festlegen oder Überschreiben von Parameterwerten
Während der Unterhaltungsrunde eines Agents ist es möglich (und manchmal gewünscht), mehrere Auftragsausführungen aufzurufen, von denen jede eine Antwort erzeugen kann. Dialogflow CX speichert diese Antworten in einer Antwortwarteschlange. Nach Abschluss der Unterhaltungsrunde des Agents sendet Dialogflow CX die sortierten Antworten an den Endnutzer.
Anwendungsfälle für Auftragsausführungen
Die Auftragsausführung wird überall dort verwendet, wo Antwortnachrichten benötigt werden:
- Auftragsausführung für Seiteneingaben
- Routen
- Event-Handler
- Erstaufforderungen für Formulare
- Handler von erneuten Eingabeaufforderungen für Formulare
Für jeden dieser Anwendungsfälle wird in der Konsole das Bearbeitungsfenster für die Auftragsausführung geöffnet.

Antworten des KI-Agenten (Dialogoptionen)
Agent-Antwortnachrichten sind Agent-Antworten, die Sie während der Entwicklung definieren. Sie definieren sie beim Erstellen der Auftragsausführung. Während der Laufzeit werden diese Antworten der Antwortwarteschlange hinzugefügt.
Es gibt mehrere Arten von Antwortnachrichten, die in den folgenden Unterabschnitten beschrieben werden. Bei Verwendung der Konsole enthalten Auftragsausführungsfelder eine erste Agent-Dialog-Karte. Sie können aber auch auf + Dialogantwort hinzufügen klicken, um weitere Karten für andere Antwortnachrichtentypen hinzuzufügen.
Statische Textantwort
Statische Textantwortnachrichten senden Text an den Endnutzer. Wenn Ihre API-Aufrufe zur Intent-Erkennung oder Integration die Sprachsynthese verwenden, wird dieser Text zur Generierung der Audioinhalte genutzt. In diesem Fall kann für den bereitgestellten Text optional die Speech Synthesis Markup Language (SSML) verwendet werden.
Sie können mehrere Textantwortkarten und mehrere Textantworten auf jeder Karte definieren. Wenn Sie mehrere Karten definieren, werden diese zur Laufzeit zu einer einzelnen Antwort verkettet. Wenn Sie mehrere Antworten innerhalb einer Karte definieren, wird eine der Nachrichten auf der Karte nach dem Zufallsprinzip ausgewählt.
Solche Textnachrichten können Parameterreferenzen und Inline-Systemfunktionen enthalten.
Benutzerdefinierte Nutzlast
Einige Integrationen unterstützen benutzerdefinierte Nutzlastantworten, um komplexe Antworten zu verarbeiten. Diese benutzerdefinierten Nutzlasten müssen im JSON-Format bereitgestellt werden, das in der Dokumentation der Integration definiert ist. Ein Beispiel dafür ist das benutzerdefinierte Dialogflow CX Messenger-Nutzlastformat.
Sie können Parameterreferenzen in den JSON-Code Ihrer benutzerdefinierten Nutzlast aufnehmen. Sie sollten als JSON-Stringwerte behandelt werden. Umschließen Sie sie daher mit doppelten Anführungszeichen. Beispiel:
{
"someField": "$session.params.date"
}
Sie können auch eine benutzerdefinierte Nutzlast an selbst entwickelte Integrationen senden. Diese wird nicht von Dialogflow CX verarbeitet, sondern muss in Ihrer eigenen Geschäftslogik behandelt werden.
Weitere Informationen finden Sie im Abschnitt Benutzerdefinierte Nutzlastvorlagen unten.
Übergabe an Kundenservicemitarbeiter
Diese Antwort signalisiert dem Aufrufer der API zur Intent-Erkennung, dass die Unterhaltung an einen menschlichen Mitarbeiter übergeben werden soll. Dialogflow CX verwendet dieses Signal nur, um zu übergebende Unterhaltungen zu Messzwecken zu identifizieren. Der Sitzungsstatus wird nicht geändert. Ihr System oder Ihre Integration kann dieses Signal verwenden, um die erforderlichen Aktionen zur Übergabe der Unterhaltung auszuführen. Dialogflow CX zwingt diesen Daten keine Struktur auf, sodass Sie jede für Ihr System geeignete Struktur wählen können.
Metadaten für erfolgreiche Unterhaltungen
Diese Antwort signalisiert dem Aufrufer der API zur Intent-Erkennung, dass die Unterhaltung mit dem Dialogflow CX-Agent erfolgreich war. Dialogflow CX verwendet dieses Signal nur, um Unterhaltungen zu identifizieren, die zu Messzwecken erfolgreich waren. Der Sitzungsstatus wird nicht geändert. Ihr System oder Ihre Integration kann dieses Signal verwenden, um die erforderlichen Aktionen auszuführen. Dialogflow CX zwingt diesen Daten keine Struktur auf, sodass Sie jede für Ihr System geeignete Struktur wählen können.
Aufgenommenes Audio abspielen
Diese Antwort spielt eine Audiodatei für Integrationen ab, die dieses Feature unterstützen.
Die Anforderungen an das Audiodateiformat können je nach Integration variieren. Ein Beispiel dafür sind die Anforderungen für das Dialogflow CX-Telefonie-Gateway.
Bei Partner-Telefonieintegrationen muss die URL für die Audiodatei für den Partner zugänglich sein. Eine öffentlich verfügbare URL, z. B. eine öffentliche Datei in Cloud Storage, ist für den Partner immer zugänglich. Der Partner kann auch eingeschränkten Zugriff auf Audiodateien gewähren. Weitere Informationen finden Sie in der Partnerdokumentation.
Audiotext ausgeben
Diese Antwort ähnelt der Text-Antwort, gilt jedoch nur für die Sprachsynthese. Wenn der Agent sowohl Text- als auch Sprachsitzungen verarbeiten kann, können Sie mithilfe von eindeutigen Text- und Audiotextausgabe-Antworten eine andere Nutzererfahrung für Text bzw. Sprache generieren. Wenn eine Audiotextausgabe für eine Sprachsitzung bereitgestellt wird, werden die Antworten für Nur-Text ignoriert.
Wenn Ihr Agent sowohl Text- als auch Sprachsitzungen verarbeitet und Sie dieselben Antwortnachrichten wünschen, verwenden Sie nur Textantworten für Text- und Sprachsitzungen.
Der Ausgabe-Audiotext wird ähnlich wie Textantworten verkettet. Wenn die Ausgabe-Audiotextantworten eine Mischung aus Text und SSML sind, wird das verkettete Ergebnis als SSML behandelt. Der Agent-Designer sollte idealerweise konsistent Text oder SSML verwenden.
Bedingte Antwort
Dieser Antworttyp wird für bedingte Antworten verwendet. Das allgemeine Format ist:
if [condition] [response] elif [condition] [response] elif [condition] [response] else [response] endif
wobei
[condition]das gleiche Format ist, das auch für Routenbedingungen genutzt wird.[response]ist eine Textantwort- Die Sperren
elifundelsesind optional.
Beispiel:
if $session.params.user-age >= 21 Ok, you may enter. else Sorry, you cannot enter. endif
Sowohl [condition] als auch [response] können Inline-Systemfunktionen verwenden, um dynamische Werte während Unterhaltungen zu generieren.
Weitere Informationen finden Sie in den Referenzen zu Systemfunktionen und Routenbedingungen. Die [condition] wird basierend auf dem Sitzungsstatus zu Beginn der Ausführung aufgelöst. Wenn sich die [response] auf den Sitzungsstatus stützt, wird sie basierend auf dem aktualisierten Sitzungsstatus am Ende der Ausführung aufgelöst.
Bei mehrsprachigen Agents ist [condition] für alle Sprachen üblich, während [response] sprachspezifisch ist. Wenn Sie [condition] für eine Sprache in der Konsole ändern, wird dieser Teil in allen Sprachen des Agents aktualisiert. Da es zu einer neuen Bedingung wird, wird [response] für alle Sprachen gelöscht, außer der Sprache, die Sie beim Aktualisieren von [condition] ausgewählt haben.
Telefonieweiterleitungsanruf
Für einige Telefonieintegrationen können Sie eine US-amerikanische Telefonnummer für die Anrufweiterleitung angeben. Zur Laufzeit, wenn der virtuelle Dialogflow CX-Agent eine Auftragsausführung mit Anrufweiterleitung aufruft, wird der Anruf an die angegebene Nummer weitergeleitet und die Verarbeitung des virtuellen Kundenservicemitarbeiters gesperrt.
Antwort des Datenspeichertools
Mit diesem Antworttyp werden Agent-Antworten konfiguriert, die von verknüpften Datenspeicher-Tools zurückgegeben werden. Wenn Sie in diesem Fulfillment ein Datenspeichertool konfiguriert haben, wird automatisch eine Antwortkarte für das Datenspeichertool ausgefüllt.
- Quellenlinks: Hier können Sie die maximale Anzahl von Quellenangaben festlegen, die dem Nutzer nach der Antwort angezeigt werden. Eine Quellenangabe ist ein Link zur Quelle von Informationen im Datenspeicher, der als Schaltfläche dargestellt wird. Der Standardwert ist 1.
- Inline-Zitationen: Anstatt Links nach der Antwort aufzulisten, können Sie mit diesem Feld die Anzahl der Inline-Zitationen begrenzen, die pro Satz zurückgegeben werden.
- Generativer Fallback: Wenn Sie dieses Kästchen aktivieren, versucht der Agent, eine KI-generierte Antwort zu geben, wenn der Datenspeicher ein leeres Ergebnis zurückgibt. Wenn der Vorgang fehlschlägt, werden statische Antworten verwendet.
- Statische Antworten: Sie können statische Textantworten in das letzte Feld eingeben. Diese werden dem Nutzer Wort für Wort gesendet.
Kanalspezifische Antwortnachrichten
Beim Definieren der Auftragsausführung können Sie kanalspezifische Antwortnachrichten erstellen, um gezielte Antworten für Textchats, Sprachnachrichten, SMS und bestimmte Integrationen zu erstellen, die Kanäle unterstützen. Antwortnachrichten, die nicht für einen bestimmten Channel gelten, werden als Standardantwortnachrichten bezeichnet.
Zur Laufzeit wählt Dialogflow CX entweder die Standardantwortnachricht oder eine kanalspezifische Antwortnachricht aus, wenn in einer Anfrage zur Intent-Erkennung ein Kanal angegeben ist. Es empfiehlt sich, Standardantwortnachrichten zu definieren, auch wenn Sie kanalspezifische Antwortnachrichten verwenden. Die Standardantwortnachrichten können als Fallback dienen, wenn Ihr System keinen gültigen Channel bereitstellen kann.
Ein Channelname ist ein benutzerdefiniertes Feld, das Sie auf beliebigen Text festlegen können. Wenn Sie die Dialogflow CX API direkt für Laufzeitaufrufe verwenden, können Sie beliebige Channelnamen verwenden. Wenn Sie eine vorhandene Integration verwenden, müssen Sie die Kanalnamen verwenden, die von der Integration erkannt werden.
Kanalspezifische Antwortnachrichten während der Entwicklung festlegen
So geben Sie kanalspezifische Antwortnachrichten für die Auftragsausführung an, wenn Sie die Console verwenden:
- Klicken Sie nach dem Hinzufügen von Standardantworten auf Kanal hinzufügen. In der Benutzeroberfläche können Sie kanalspezifische Antwortnachrichten hinzufügen. Klicken Sie noch einmal auf Channel hinzufügen, um einen anderen Channel hinzuzufügen.
So geben Sie kanalspezifische Antwortnachrichten für die Ausführung an, wenn Sie die API verwenden:
- Legen Sie das Feld
Fulfillment.messages[i].channelfür jede Antwortnachricht auf den gewünschten Channel fest. Wenn dieses Feld nicht festgelegt ist, ist die Antwort eine Standardantwort.
Kanalspezifische Antwortnachrichten zur Laufzeit verwenden
Damit Sie eine kanalspezifische Antwortnachricht erhalten, muss der Kanal in der Anfrage zum Erkennen von Intentionen angegeben werden.
Weitere Informationen finden Sie im Feld queryParams.channel in der Methode detectIntent des Typs Sessions.
Wählen Sie ein Protokoll und eine Version für die Sitzungsreferenz aus:
| Protokoll | V3 | V3beta1 |
|---|---|---|
| REST | Sitzungsressource | Sitzungsressource |
| RPC | Sitzungsoberfläche | Sitzungsoberfläche |
| C++ | SessionsClient | Nicht verfügbar |
| C# | SessionsClient | Nicht verfügbar |
| Go | SessionsClient | Nicht verfügbar |
| Java | SessionsClient | SessionsClient |
| Node.js | SessionsClient | SessionsClient |
| PHP | Nicht verfügbar | Nicht verfügbar |
| Python | SessionsClient | SessionsClient |
| Ruby | Nicht verfügbar | Nicht verfügbar |
Wenn in einer Anfrage kein Kanal definiert ist oder in der Auftragsausführung kein passender Kanal gefunden wird, wird die Standardantwortnachricht von Dialogflow CX zurückgegeben.
Vorlagen für benutzerdefinierte Nutzlasten
Wenn Sie häufig benutzerdefinierte Nutzlasten verwenden, sollten Sie Vorlagen für benutzerdefinierte Nutzlasten verwenden. Benutzerdefinierte Nutzlasten sind manchmal groß und komplex. Die Verwendung von Vorlagen kann den Prozess der Agent-Erstellung vereinfachen.
Sie können diese Vorlagen in den Agent-Einstellungen angeben. Sie stehen dann immer zur Auswahl, wenn Sie die Auftragsausführung für Ihren Agent erstellen.
Beispielsweise kann die JSON-Nutzlast für die Schaltflächen „Ja“ und „Nein“ als benutzerdefinierte Nutzlastvorlagen definiert werden. Wenn Sie eine Auftragsausführung erstellen, für die diese Schaltflächen erforderlich sind, müssen Sie nur die Vorlage auswählen.
Wenn Sie eine Vorlage für eine benutzerdefinierte Nutzlast für die Ausführung auswählen, wird der Inhalt der Vorlage in die Nutzlast eingefügt. Sie können die Nutzlast dann nach Bedarf bearbeiten.
Wenn Sie eine Vorlage ändern, wird die Änderung nicht automatisch auf alle Fulfillment-Payloads übertragen, in denen darauf verwiesen wird.
Informationen zum Erstellen einer benutzerdefinierten Nutzlastvorlage finden Sie unter Allgemeine Agent-Einstellungen.
Wenn Sie beim Erstellen einer benutzerdefinierten Nutzlast für die Ausführung eine benutzerdefinierte Nutzlastvorlage auswählen möchten, klicken Sie beim Erstellen einer benutzerdefinierten Nutzlast für die Ausführung auf Vorlage auswählen.
Webhook-Aufrufe
Wenn eine Auftragsausführung mit Webhook aufgerufen wird, sendet der Agent eine Anfrage an Ihren Webhook. Ihr Webhook kann alle erforderlichen Aktionen innerhalb Ihres Dienstes ausführen, eine dynamische Antwortnachricht bereitstellen, Parameterwerte überschreiben und die aktuelle Seite ändern.
Im Folgenden werden die Webhook-Einstellungen für die Auftragsausführung beschrieben:
| Begriff | Definition |
|---|---|
| Webhook aktivieren | Dadurch wird der Webhook für die Auftragsausführung aktiviert. |
| Webhook | Wählen Sie die Webhook-Ressource aus. |
| Tag | Das hier angegebene Text-Tag wird im Feld WebhookRequest.fulfillmentInfo.tag der Webhook-Anfrage eingefügt, die an Ihren Webhook-Dienst gesendet wird. Damit lässt sich das Webhook-Verhalten auf eine Weise steuern, die für die Ausführung spezifisch ist. |
| Teilantwort zurückgeben | Ermöglicht das Abbrechen der Wiedergabe einer Teilantwort. Weitere Informationen |
Parametervoreinstellungen
Mit einer Auftragsausführung können Sie Voreinstellungen bereitstellen, die aktuelle Parameterwerte festlegen oder überschreiben. Diese Voreinstellungen werden angewendet, bevor statische Antwortnachrichten verarbeitet werden oder ein Webhook aufgerufen wird.
Sie können auch Systemfunktionen verwenden, um den Parameter auf einen dynamisch generierten Wert festzulegen.
Beispiele:
Parameter
nowauf die aktuelle Zeit festlegen:Parameter Wert jetzt $sys.func.NOW() Vorhandenen Parameter
counterum 1 erhöhen:Parameter Wert Zähler $sys.func.ADD($session.params.counter, 1) Festlegen eines Parameters
new-costauf den Parameterwertother-costunter Beibehaltung des vollständigen zusammengesetzten Objektwerts:Parameter Wert new-cost $sys.func.IDENTITY($session.params.other-cost)
Datenspeicher-Tools
Weitere Informationen zu dieser Funktion finden Sie in der Dokumentation zu Datenspeichertools.
Erweiterte Spracheinstellungen
Diese erweiterten Spracheinstellungen können optional dieselben Spracheinstellungen von Seiten, Ablaufspracheinstellungen und Spracheinstellungen des Agents überschreiben.
Antwortwarteschlange
Während der Unterhaltungsrunde eines Agents ist es möglich (und manchmal gewünscht), mehrere Auftragsausführungen aufzurufen, von denen jede eine Antwort erzeugen kann. Dialogflow CX speichert diese Antworten in einer Antwortwarteschlange.
Unvollständige Beantwortung für Streaming API
Standardmäßig sendet Dialogflow CX die sortierten Antworten nur dann an den Endnutzer, wenn die Unterhaltungsrunde des Agents beendet ist. Sie können bei der Auftragsausführung auch die Option Teilantwort zurückgeben aktivieren, um mithilfe der Streaming-APIs derzeit in der Warteschlange befindliche Antworten als Teilantwort zurückzugeben. Weitere Informationen finden Sie unter Lebenszyklus einer Seite.
Wenn Ihr Webhook beispielsweise lange Zeit ausgeführt wird, können Sie der Auftragsausführung eine statische Antwort hinzufügen und die unvollständige Beantwortung aktivieren. Dadurch wird Dialogflow CX die Antwortwarteschlange geleert und alle Nachrichten als unvollständige Beantwortung gesendet, bevor der Webhook aufgerufen wird.
Unvollständige Beantwortungen werden derzeit nicht für Folgendes unterstützt, werden später aber unterstützt:
- Audioeingaben im Simulator.
- Telefonieintegrationen von Partnern unterstützen derzeit möglicherweise keine Teilantworten. Weitere Informationen finden Sie in der Partnerdokumentation.
Um diese Funktion im Simulator zu testen, müssen Sie die unvollständige Beantwortung aktivieren.

Beachten Sie im folgenden Beispiel, dass der Webhook 5 Sekunden dauert. Ein Teilantwort wird nicht aktiviert. Die Unterhaltungsrunde des Dialogflow CX-Agents wird erst beendet, wenn der Webhook abgeschlossen ist. Während dieser 5 Sekunden werden die Antworten während des Wartens auf den Webhook in die Warteschlange gestellt und erst nach Abschluss der Runde an den Endnutzer zurückgegeben. Dies führt zu einer schlechten Nutzererfahrung.
Wenn Sie die Teilantwort bei der ersten Auftragsausführung aktivieren, gibt Dialogflow CX die erste Auftragsausführungsnachricht schnell zurück und ruft den Webhook auf. Nachdem der Webhook abgeschlossen ist, gibt Dialogflow CX die endgültige Antwort zurück. In diesem Szenario wird die Endnutzererfahrung verbessert, da mitgeteilt wird, dass eine kurze Wartezeit zu erwarten ist. Außerdem wird der Webhook-Aufruf gleichzeitig mit einer Antwort ausgeführt, die an den Endnutzer gesendet wird.
Speech Synthesis Markup Language (SSML)
Sie können die Speech Synthesis Markup Language (SSML) in Text- oder Ausgabefeldern für Audio-Text verwenden. So können Sie die Audioantwort anpassen. Geben Sie beispielsweise Details zu Pausen an und legen Sie Audioformatierungen für Akronyme, Datums- und Uhrzeitangaben, Abkürzungen oder zu zensierenden Text fest.
Details zur Syntax finden Sie in der SSML-Dokumentation für Text-to-Speech.