Zur Navigation springen

Status aktualisieren

Lassen Sie Ihren Agenten dynamische Variablen während eines Gesprächs mithilfe von Ausdrücken aktualisieren.

Übersicht

Mit dem Tool Status aktualisieren kann Ihr Agent während eines laufenden Gesprächs eine oder mehrere dynamische Variablen festlegen. Wie andere Systemtools ändert es nur den internen Status des Gesprächs — es ruft niemals eine externe API oder eine clientseitige Funktion auf.

Nutzen Sie es, um Informationen im Verlauf eines Anrufs zu erfassen, etwa um zu markieren, dass ein Gespräch eskaliert werden soll, einen vom Nutzer angegebenen Wert zu speichern oder einen aus anderen dynamischen Variablen abgeleiteten Wert zu berechnen.

Um Statusaktualisierungen an einem festen Punkt in einem Workflow anzuwenden, statt immer dann, wenn das LLM ein Tool aufruft, verwenden Sie einen Knoten zum Aktualisieren des Status. Er akzeptiert dieselben Statusaktualisierungen.

Funktionsweise

  • Mehrere Aktualisierungen pro Aufruf: Ein einzelner Tool-Aufruf kann bis zu 50 dynamische Variablen gleichzeitig zuweisen.
  • Ausdrucksbasierte Werte: Jeder Wert ist das Ergebnis eines Ausdrucks, der Konstanten, bestehende dynamische Variablen, vom LLM aus dem Gespräch extrahierte Werte und Operatoren kombinieren kann.
  • LLM-Extraktion nur bei Bedarf: Das Tool fordert das LLM nur dazu auf, Parameter für Aktualisierungen zu extrahieren, die dies erfordern. Aktualisierungen, die vollständig aus Konstanten und/oder bestehenden dynamischen Variablen bestehen, fügen dem Funktionsaufruf keine Parameter hinzu.
  • Sofort verfügbar: Sobald das Tool ausgeführt wird, stehen die aktualisierten dynamischen Variablen für den Rest des Gesprächs zur Verfügung — spätere Prompts, andere Tool-Aufrufe und Überschreibungen können genauso wie bei jeder anderen dynamischen Variable darauf verweisen.

So funktioniert es

Jede Statusaktualisierung weist einer dynamischen Variable das Ergebnis eines Ausdrucks zu:

variable_name = expression

Ein Ausdruck ist einer der folgenden Typen. Ausdrücke können ineinander verschachtelt werden, um komplexere Logik zu erstellen:

TypBeschreibung
KonstanteEin fester String-, Zahlen-, boolescher oder Nullwert.
Dynamische VariableDer aktuelle Wert einer anderen dynamischen Variable.
LLM-extrahierter WertEin Wert, den das LLM aus dem Gespräch ableitet und der einem von Ihnen definierten Typ entspricht (String, Zahl oder boolesch).
Logischer Operatorand, or oder ein bedingter Ausdruck (if / then / else), der andere Ausdrücke kombiniert.
Vergleichsoperator=, ≠, >, <, ≥, ≤, zum Vergleichen zweier Ausdrücke.
Arithmetischer Operator+, -, ×, ÷, zum Kombinieren zweier numerischer Ausdrücke (oder bei + von Strings).

Das folgende Statusupdate setzt beispielsweise should_escalate auf true, wenn das LLM einschätzt, dass der Nutzer frustriert ist, oder wenn eine dynamische Variable retry_count bereits größer als 3 ist:

should_escalate = (llm: "User sounds frustrated with the conversation") OR (retry_count > 3)

Wenn eine Statusaktualisierung nicht ausgewertet werden kann — etwa bei einer Division durch null — gibt der Tool-Aufruf einen Fehler zurück und keine der Aktualisierungen in diesem Aufruf wird angewendet.

Konfiguration

1

Schritt 1: Tool hinzufügen

Öffnen Sie die Konfigurationsseite Ihres Agenten. Klicken Sie im Bereich Tools auf Tool hinzufügen und wählen Sie Status aktualisieren.

2

Schritt 2: Statusaktualisierungen definieren

Geben Sie für jede Statusaktualisierung Folgendes an:

  • Variablenname: Die dynamische Variable, die zugewiesen werden soll.
  • Ausdruck: Der zuzuweisende Wert, der aus den oben beschriebenen Wert- und Operatortypen erstellt wird. Werte können verschachtelt werden, um komplexere Ausdrücke zu erstellen.
  • Erforderlich: Wenn deaktiviert, kann das LLM die Werte auslassen, von denen diese Aktualisierung abhängt. Die Aktualisierung wird dann übersprungen und die Variable behält ihren aktuellen Wert.

Sie können bis zu 50 Statusaktualisierungen für ein einzelnes Tool definieren.

3

Schritt 3: Beschreibung konfigurieren (optional)

Sie können eine benutzerdefinierte Beschreibung angeben, um das LLM dabei zu leiten, wann es das Tool aufrufen soll. Wenn Sie das Feld leer lassen, wird eine für dieses Tool optimierte Standardbeschreibung verwendet.

Anwendungsfälle

  • Eskalationskennzeichen: Legen Sie eine dynamische Variable fest (etwa should_escalate), die ein nachgelagertes System oder eine Geschäftsregel prüft, wie im Integrationsleitfaden für Genesys gezeigt.
  • Extrahierte Informationen erfassen: Speichern Sie einen vom Nutzer angegebenen Wert (eine Bestellnummer, eine Präferenz, eine ausgewählte Abteilung) als dynamische Variable, um ihn später im Gespräch zu verwenden.
  • Abgeleitete Werte: Berechnen Sie einen Wert aus anderen dynamischen Variablen, etwa indem Sie einen Zähler erhöhen oder zwei Variablen zu einer kombinieren.

Zweck: Ermöglicht dem Agenten, eine oder mehrere dynamische Variablen anhand der Konversation zu aktualisieren, ohne eine externe API aufzurufen.

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

  • Die Konversation Informationen liefert, die gespeichert werden sollten, z. B. ein Eskalationsflag, eine ausgewählte Option oder ein vom Nutzer angegebener Wert
  • Eine konfigurierte Statusaktualisierung von einem Wert abhängt, den das LLM aus der Konversation bewerten oder extrahieren muss

Parameter:

Die Parameter der Funktion hängen davon ab, wie das Tool konfiguriert ist. Jede konfigurierte Statusaktualisierung, die einen vom LLM extrahierten Wert verwendet, fügt dem Schema eine Eigenschaft hinzu. Sie wird nach der dynamischen Variablen dieser Aktualisierung benannt und als string, number oder boolean typisiert. Statusaktualisierungen, die nur aus Konstanten oder anderen dynamischen Variablen erstellt werden, fügen keine Parameter hinzu.

Format des Funktionsaufrufs:

{
"type": "function",
"function": {
"name": "update_state",
"arguments": "{\"should_escalate\": true}"
}
}

Implementierung: Der Agent wertet jeden konfigurierten Ausdruck anhand der extrahierten Parameter und der aktuellen dynamischen Variablen der Konversation aus und weist die Ergebnisse den entsprechenden dynamischen Variablen zu. Es wird keine externe Anfrage gestellt.

FAQ

Nein. Wie alle Systemtools ändert Status aktualisieren nur den internen Status des Gesprächs. Es ruft keine externe API oder clientseitige Funktion auf.

Nein. Das Tool fordert das LLM nur dazu auf, einen Parameter für Statusaktualisierungen zu extrahieren, deren Ausdruck einen LLM-extrahierten Wert enthält. Wenn jede konfigurierte Aktualisierung aus Konstanten und/oder bestehenden dynamischen Variablen besteht, hat der Funktionsaufruf keine Parameter.

Überall, wo Sie eine dynamische Variable verwenden können: in System-Prompts, ersten Nachrichten, Tool-Parametern und Headern sowie Überschreibungen. Details finden Sie unter Dynamische Variablen.

Status aktualisieren kann derzeit über das Agent-Dashboard konfiguriert werden. API- und SDK-Unterstützung sind noch nicht verfügbar.