Hoppa till navigering

Uppdatera status

Låt agenten uppdatera dynamiska variabler mitt i samtalet med hjälp av uttryck.

Översikt

Verktyget Uppdatera status låter agenten ange en eller flera dynamiska variabler medan ett samtal pågår. Precis som andra systemverktyg ändrar det endast samtalets interna status — det anropar aldrig ett externt API eller en funktion på klientsidan.

Använd det för att registrera information medan ett samtal utvecklas, till exempel för att markera att ett samtal ska eskaleras, lagra ett värde som användaren har angett eller beräkna ett värde baserat på andra dynamiska variabler.

Om du vill tillämpa statusuppdateringar vid en fast punkt i ett workflow, i stället för när LLM:n anropar ett verktyg, använder du en nod för att uppdatera status. Den accepterar samma statusuppdateringar.

Funktioner

  • Flera uppdateringar per anrop: Ett enda verktygsanrop kan tilldela upp till 50 dynamiska variabler samtidigt.
  • Uttrycksbaserade värden: Varje värde är resultatet av ett uttryck som kan kombinera konstanter, befintliga dynamiska variabler, värden som LLM:n hämtar från samtalet och operatorer.
  • LLM-extrahering endast vid behov: Verktyget ber bara LLM:n att extrahera parametrar för de uppdateringar som kräver det. Uppdateringar som helt bygger på konstanter och/eller befintliga dynamiska variabler lägger inte till några parametrar i funktionsanropet.
  • Omedelbar tillgänglighet: När verktyget har körts är de uppdaterade dynamiska variablerna tillgängliga för resten av samtalet — senare uppmaningar, andra verktygsanrop och åsidosättningar kan alla referera till dem, precis som till vilken annan dynamisk variabel som helst.

Så fungerar det

Varje statusuppdatering tilldelar resultatet av ett uttryck till en dynamisk variabel:

variable_name = expression

Ett uttryck är en av följande typer, och uttryck kan kapslas i varandra för att skapa mer komplex logik:

TypBeskrivning
KonstantEtt fast sträng-, tal-, booleskt eller null-värde.
Dynamisk variabelDet aktuella värdet för en annan dynamisk variabel.
LLM-extraherat värdeEtt värde som LLM:n härleder från samtalet och som matchar en typ du definierar (sträng, tal eller booleskt värde).
Logisk operatorand, or eller ett villkorsuttryck (if / then / else) som kombinerar andra uttryck.
Jämförelseoperator=, ≠, >, <, ≥, ≤, som jämför två uttryck.
Aritmetisk operator+, -, ×, ÷, som kombinerar två numeriska uttryck (eller stränguttryck för +).

Följande statusuppdatering anger till exempel should_escalate till true om LLM:n bedömer att användaren är frustrerad, eller om en dynamisk variabel retry_count redan är större än 3:

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

Om en statusuppdatering inte kan beräknas — till exempel vid division med noll — returnerar verktygsanropet ett fel och ingen av uppdateringarna i anropet tillämpas.

Konfiguration

1

Steg 1: Lägg till verktyget

Gå till agentens konfigurationssida. Klicka på Lägg till verktyg i avsnittet Verktyg och välj Uppdatera status.

2

Steg 2: Definiera statusuppdateringar

Ange följande för varje statusuppdatering:

  • Variabelnamn: Den dynamiska variabel som ska tilldelas.
  • Uttryck: Värdet som ska tilldelas, uppbyggt av värde- och operatortyperna som beskrivs ovan. Värden kan kapslas för att skapa mer komplexa uttryck.
  • Obligatorisk: När detta är inaktiverat kan LLM:n utelämna värdena som uppdateringen förlitar sig på. Uppdateringen hoppas då över och variabeln behåller sitt aktuella värde.

Du kan definiera upp till 50 statusuppdateringar för ett enskilt verktyg.

3

Steg 3: Konfigurera beskrivningen (valfritt)

Du kan ange en anpassad beskrivning som vägleder LLM:n om när verktyget ska anropas. Om fältet lämnas tomt används en standardbeskrivning som är optimerad för verktyget.

Användningsområden

  • Eskaleringmarkeringar: Ange en dynamisk variabel (till exempel should_escalate) som ett efterföljande system eller en affärsregel kontrollerar, enligt exemplet i Genesys-integrationsguiden.
  • Registrera extraherad information: Lagra ett värde som användaren har angett (ett ordernummer, en inställning, en vald avdelning) som en dynamisk variabel för användning senare i samtalet.
  • Härledda värden: Beräkna ett värde från andra dynamiska variabler, till exempel genom att öka en räknare eller kombinera två variabler till en.

Syfte: Låt agenten uppdatera en eller flera dynamiska variabler baserat på konversationen, utan att anropa ett externt API.

Utlösande villkor: LLM:en ska anropa det här verktyget när:

  • Konversationen innehåller information som bör registreras (t.ex. en eskaleringsflagga, ett valt alternativ eller ett värde som användaren har angett)
  • En konfigurerad tillståndsuppdatering beror på ett värde som LLM:en måste bedöma eller extrahera från konversationen

Parametrar:

Funktionens parametrar beror på hur verktyget är konfigurerat. Varje konfigurerad tillståndsuppdatering som använder ett värde extraherat av en LLM lägger till en egenskap i schemat. Egenskapen får namnet på uppdateringens dynamiska variabel och typen string, number eller boolean. Tillståndsuppdateringar som enbart bygger på konstanter eller andra dynamiska variabler lägger inte till några parametrar.

Format för funktionsanrop:

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

Implementering: Agenten utvärderar varje konfigurerat uttryck med de extraherade parametrarna och konversationens aktuella dynamiska variabler, och tilldelar sedan resultaten till motsvarande dynamiska variabler. Ingen extern begäran skickas.

Vanliga frågor

Nej. Precis som alla systemverktyg ändrar Uppdatera status endast samtalets interna status. Det anropar inte ett externt API eller en funktion på klientsidan.

Nej. Verktyget ber bara LLM:n att extrahera en parameter för statusuppdateringar vars uttryck innehåller ett LLM-extraherat värde. Om alla konfigurerade uppdateringar bygger på konstanter och/eller befintliga dynamiska variabler, tar funktionsanropet inga parametrar.

Överallt där du kan använda en dynamisk variabel: systemuppmaningar, första meddelanden, verktygsparametrar och rubriker samt åsidosättningar. Se Dynamiska variabler för mer information.

Uppdatera status kan för närvarande konfigureras via agentpanelen. Stöd för API och SDK är inte tillgängligt ännu.