Jedes Playbook sollte ein oder mehrere Beispiele enthalten. Diese Beispiele sind Musterunterhaltungen zwischen einem Endnutzer und dem Playbook, einschließlich des Dialogs und der vom Agent ausgeführten Aktionen. Es handelt sich dabei um Beispiele für wenige Prompts für das LLM.
Die Console bietet eine Schnittstelle, über die Sie Aktionen eingeben können.
Mehrsprachige KI-Agenten
Wenn Ihr Agent mehrere Sprachen verarbeiten soll, sollten Sie in Ihren Beispielen alle Sprachen verwenden.
Beispiel für Eingabe- und Ausgabezusammenfassung
Neben Eingabe- und Ausgabeparametern können Playbooks auch eine Eingabezusammenfassung empfangen und eine Ausgabezusammenfassung ausgeben, um Informationen mit anderen Playbooks auszutauschen. Zusammenfassungen sind hilfreich, um abstrakte Kontextinformationen zwischen Playbooks zu übergeben, während Parameter besser geeignet sind, um strukturierte, genau definierte Felder zwischen Playbooks zu übergeben. Parameter sind die einzige Möglichkeit, Daten zwischen Flows und Playbooks auszutauschen.
Fügen Sie Beispielen relevante Eingabezusammenfassungen hinzu, um das Playbook so zu konfigurieren, dass es seine Aktionen zur Laufzeit basierend auf den Eingabezusammenfassungen anpasst. Fügen Sie Ausgabezusammenfassungen mit relevanten, genauen Details zur Beispielunterhaltung hinzu, um dem Playbook zu zeigen, welche Details zusammengefasst werden müssen.
Beispielstatus
An einem bestimmten Punkt in der Unterhaltung kann ein Playbook einen der folgenden Status haben:
OK: Das Playbook hat sein Ziel erreicht und die Steuerung wird jetzt an das übergeordnete Playbook übertragen.CANCELLED: Der Nutzer hat sich entschieden, das dem Playbook zugewiesene Ziel nicht weiter zu verfolgen. Die Steuerung wird jetzt an das übergeordnete Playbook übertragen. Wenn das übergeordnete Playbook ein CX-Flow ist, wird die Absicht der Nutzereingabe erkannt, bevor der Flow ausgeführt wird.FAILED: Das Playbook kann das Ziel aufgrund eines Fehlers nicht weiter verfolgen (z.B. gibt das Tool einen 500-Fehler zurück). Die Sitzung endet mit dem Status „Fehler“. Der Antwort wird eine EndInteraction Nachricht hinzugefügt.ESCALATED: Das Playbook hat entschieden, dass es das Ziel nicht erreichen kann, und muss die Situation an einen Mitarbeiter weiterleiten. Die Sitzung endet mit dem Status „Weitergeleitet“. Der Antwort wird eine EndInteraction Nachricht hinzugefügt.PENDING: Die Unterhaltung wird im Playbook fortgesetzt.
Das Beispiel der obersten Ebene und seine Playbook-Aufrufe sollten mit einem Status gekennzeichnet werden, der dem Playbook entspricht, auf das sie verweisen.
Auswahlstrategie
Mit der Einstellung für die Auswahlstrategie wird festgelegt, ob ein Beispiel in den Prompt des Playbooks aufgenommen wird, der an das LLM gesendet wird. Folgende Optionen sind verfügbar:
Dynamisch auswählen: Das Beispiel wird bedingt einbezogen, je nachdem, wie relevant es für den aktuellen Unterhaltungskontext ist. Das Beispiel kann ausgelassen werden, wenn sich der Prompt dem Tokenlimit nähert.
Immer auswählen: Das Beispiel wird immer einbezogen, unabhängig vom Unterhaltungskontext. Das Beispiel kann ausgelassen werden, wenn sich der Prompt dem Tokenlimit nähert.
Nie auswählen: Das Beispiel wird nie in den Prompt aufgenommen. Das Beispiel hat keine Auswirkungen auf die Leistung des Playbooks. Diese Einstellung ist nützlich, um ein Beispiel vorübergehend zum Testen auszuschließen.
Aktion hinzufügen
Ein in einem Playbook bereitgestelltes Beispiel besteht aus einer Reihe von Aktionen. Diese Aktionen können in ihren Kombinationen variieren, stellen aber hauptsächlich die Interaktion zwischen dem Nutzer und dem Playbook dar, zusammen mit den Aktionen, die dazwischen ausgeführt werden, um die Anfrage oder die Anforderungen des Nutzers zu erfüllen.
Es gibt zwei Möglichkeiten, Aktionen zu einem Beispiel hinzuzufügen:
- Wenn Sie eine Aktion manuell hinzufügen möchten, klicken Sie unten im rechten Bereich auf die Schaltfläche + oder auf die Schaltfläche Aktion hinzufügen , wenn Sie den Mauszeiger über vorhandene Aktionen bewegen. Sie können diese Optionen verwenden, wenn Sie ein neues Beispiel erstellen indem Sie auf die Option + Beispiel klicken, oder wenn Sie ein vorhandenes Beispiel bearbeiten.
- Wenn Sie Aktionen automatisch basierend auf den vorhandenen Playbook-Anweisungen generieren möchten, geben Sie unten im rechten Bereich im Feld Nutzereingabe eingeben eine Nutzereingabe ein. Sie können diese Option verwenden, wenn Sie ein Beispiel erstellen oder bearbeiten. Alternativ können Sie diese Option verwenden, wenn Sie Ihr Playbook zur Laufzeit im Bereich Playbook-Vorschau auf der rechten Seite testen. Wenn Sie Aktionen im Bereich Playbook-Vorschau in einem Beispiel speichern möchten, klicken Sie auf Beispiel speichern , nachdem Sie den Playbook-Aufruf in der Aufrufliste links im Bereich Playbook-Vorschau ausgewählt haben.
Prüfen Sie die automatisch generierten Aktionen auf Richtigkeit und bearbeiten Sie sie gegebenenfalls. Dies ist besonders wichtig für Playbooks mit wenigen oder keinen Beispielen.
Die folgenden Arten von Aktionen werden vom Playbook unterstützt:
Playbook-Antwort
Die Playbook-Antwort auf die Nutzeranfrage.
Nutzereingabe
Die Nutzeranfrage.
Toolnutzung
Dies ist ein Tool aufruf, um zusätzliche Informationen zu erhalten, die zur Erfüllung der Nutzeranfrage erforderlich sind. Für diese Aktion sollten die folgenden Details angegeben werden:
Tool: Name des Tools, das aufgerufen werden soll.
Aktion: Name des Vorgangs für das OpenAPI-Tool das aufgerufen werden soll. Bei Datenspeicher-Tools und Funktionstools, ist der Aktionsname derselbe wie der Toolname.
Tool-Eingabe: Eingaben, die im Toolaufruf enthalten sein sollen. Diese werden in der Regel aus den vorherigen Unterhaltungsrunden mit dem Nutzer abgeleitet.
Für OpenAPI-Tools,
requestBodyist JSON fürPOST,PUTundPATCHMethodentypen erforderlich.Beispiel für die Eingabe von `requestBody` für das OpenAPI-Tool
requestBodyfür die Aktion „createPet“:{ "id": 1, "name": "Luna" }Für das Datenspeicher-Tool ist das Beispiel
requestBody, bei dem die Abfrage erforderlich ist und andere Felder optional sind.{ "query": "Where is my nearest store?", "filter": "country: ANY(\"United States\")", "userMetadata": { "userCity": "San Francisco", }, "fallback": "We don't have any stores in your area." }Toolausgabe: Die Antwort des Toolaufrufs. Dies ist eine gültige JSON-Antwort des Tools auf die angegebene Eingabe. Bei OpenAPI-Tools, kann es sich auch um einen Fehlerstring handeln (z. B. „404 Not found“).
Beispiel für die Ausgabe des OpenAPI-Tools für die Aktion „listPets“:
{ "pets": [ { "id": 1, "name": "Luna" }, { "id": 2, "name": "Charlie" }] }Beispiel für die Ausgabe des Datenspeicher-Tools:
{ "answer": "Here's the address to your nearest store ...", "snippets": [ { "title": "San Francisco Downtown", "uri": "https://www.example.com/San_Francisco_Downtown", "text": "Address for San Francisco Downtown .." } ] }
Damit das Playbook ausfallsicher ist, fügen Sie auch Beispiele dafür hinzu, wie das Playbook reagieren soll, wenn der Toolaufruf fehlschlägt.
Ein Fehler beim Aufruf des OpenAPI-Tools
kann in der Toolausgabe als Fehlerstring dargestellt werden („404 not found“)
.
Für
Datenspeicher-Tools
kann mit der fallback Eingabe angegeben werden, wie reagiert werden soll,
wenn keine zusammengefasste Antwort vorhanden ist.
Wenn das
Datenspeicher-Tool
einen URI in die Playbook-Antwort aufnehmen soll,
fügen Sie Beispiele hinzu, die den URI enthalten, mit dem das Playbook antworten soll.
Wenn dieser URI vom
Datenspeicher-Tool,
stammt, sollte die
Datenspeicher-Tool
Ausgabe einen URI enthalten, der mit dem URI in der Playbook-Antwort übereinstimmt.
Hinweis: fallback kann in diesem Szenario nicht verwendet werden,
da dadurch die Möglichkeit des LLM-Playbooks deaktiviert wird, die Antwort des
Datenspeicher-Tools
umzuformulieren, um URIs in die Playbook-Antwort aufzunehmen.
Beispiele, die Aktionen zur Toolnutzung enthalten, können sehr ausführlich sein und zu einem höheren Verbrauch des Eingabe tokenlimits führen. Um eine effiziente Nutzung von Tokens zu gewährleisten, sollten Toolausgaben prägnant sein und Informationen enthalten, die für die Ziele des Playbooks relevant sind. Bei Datenspeicher-Tools, sollten Sie Snippets aus Beispielen entfernen, da sie zu einem hohen Verbrauch von Eingabetokens führen können.
Playbook-Aufruf
Diese Aktion wird verwendet, wenn das Playbook für die Aufgabe ein anderes Playbook aufrufen soll, um die Nutzeranfrage zu erfüllen. Für diese Aktion sollten die folgenden Details angegeben werden:
- Playbook: Name des Playbooks, das aufgerufen werden soll.
- Eingabezusammenfassung für den Playbook-Aufruf: Eine Zusammenfassung der relevanten Teile der vorherigen Unterhaltung die für das aufgerufene Playbook nützlich sind.
- Eingabeparameter: Eingabeparameter , die an das Playbook übergeben werden sollen.
- Ausgabezusammenfassung für den Playbook-Aufruf: Eine Zusammenfassung dessen, was das Playbook nach Abschluss seines Ziels generieren soll.
- Ausgabeparameter: Ausgabeparameter , die vom Playbook nach Abschluss seines Ziels generiert werden.
Playbook-Übergang
Eine Playbook-Übergangsaktion ist eine Terminalaktion (darauf sollten keine anderen Aktionen folgen) die angibt, dass das Routine-Playbook beendet und zu einem Ziel-Routine-Playbook übergegangen ist. Da diese Aktion angibt, dass das Playbook beendet wird, fügen Sie die Ausgabeparameter des Playbooks zur Playbook-Ausgabe des Beispiels hinzu.
Flowaufruf
Diese Aktion wird verwendet, wenn das Playbook für die Aufgabe einen Flow aufrufen soll. Für diese Aktion sollten die folgenden Details angegeben werden:
- Flow: Name des Flows, der aufgerufen werden soll.
- Eingabeparameter für den Flow: Eingabeparameter , die an den Flow übergeben werden sollen.
- Rückgabeparameter für den Flow: Ausgabeparameter , die vom Flow zurückgegeben werden.
Flowübergang
Eine Flowübergangsaktion ist eine Terminalaktion (darauf sollten keine anderen Aktionen folgen) die angibt, dass das Routine-Playbook beendet und zu einem Zielflow übergegangen ist. Da diese Aktion angibt, dass das Playbook beendet wird, fügen Sie die Ausgabeparameter des Playbooks zur Playbook-Ausgabe des Beispiels hinzu.