Skip to navigation

Status bijwerken

Laat je agent dynamische variabelen tijdens een gesprek bijwerken met expressies.

Overzicht

Met de tool Status bijwerken kan je agent een of meer dynamische variabelen instellen terwijl een gesprek bezig is. Net als andere systeemtools wijzigt deze alleen de interne status van het gesprek — de tool roept nooit een externe API of een client-side functie aan.

Gebruik de tool om informatie vast te leggen terwijl een gesprek verloopt, bijvoorbeeld door te markeren dat een gesprek moet worden geëscaleerd, een waarde op te slaan die de gebruiker heeft opgegeven, of een waarde te berekenen op basis van andere dynamische variabelen.

Gebruik een node voor status bijwerken om statusupdates toe te passen op een vast punt in een workflow, in plaats van telkens wanneer de LLM een tool aanroept. Deze accepteert dezelfde statusupdates.

Functionaliteit

  • Meerdere updates per aanroep: Eén toolaanroep kan maximaal 50 dynamische variabelen tegelijk toewijzen.
  • Op expressies gebaseerde waarden: Elke waarde is het resultaat van een expressie, die constanten, bestaande dynamische variabelen, waarden die de LLM uit het gesprek haalt en operatoren kan combineren.
  • LLM-extractie alleen wanneer nodig: De tool vraagt de LLM alleen parameters te extraheren voor updates die dit vereisen. Updates die volledig uit constanten en/of bestaande dynamische variabelen bestaan, voegen geen parameters toe aan de functieaanroep.
  • Direct beschikbaar: Zodra de tool is uitgevoerd, zijn de bijgewerkte dynamische variabelen beschikbaar voor de rest van het gesprek — latere prompts, andere toolaanroepen en overrides kunnen er allemaal naar verwijzen, net als naar elke andere dynamische variabele.

Zo werkt het

Elke statusupdate wijst het resultaat van een expressie toe aan een dynamische variabele:

variable_name = expression

Een expressie is een van de volgende typen. Expressies kunnen in elkaar worden genest om complexere logica op te bouwen:

TypeBeschrijving
ConstanteEen vaste waarde van het type string, getal, boolean of null.
Dynamische variabeleDe huidige waarde van een andere dynamische variabele.
Door LLM geëxtraheerde waardeEen waarde die de LLM afleidt uit het gesprek en die overeenkomt met een door jou gedefinieerd type (string, getal of boolean).
Logische operatorand, or of een voorwaardelijke expressie (if / then / else) die andere expressies combineert.
Vergelijkingsoperator=, ≠, >, <, ≥, ≤, waarmee twee expressies worden vergeleken.
Rekenkundige operator+, -, ×, ÷, waarmee twee numerieke expressies (of bij + stringexpressies) worden gecombineerd.

De volgende statusupdate stelt bijvoorbeeld should_escalate in op true als de LLM beoordeelt dat de gebruiker gefrustreerd is, of als een dynamische variabele retry_count al groter is dan 3:

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

Als een statusupdate niet kan worden geëvalueerd — bijvoorbeeld door een deling door nul — retourneert de toolaanroep een fout en wordt geen van de updates in die aanroep toegepast.

Configuratie

1

Stap 1: De tool toevoegen

Ga naar de configuratiepagina van je agent. Klik in het gedeelte Tools op Tool toevoegen en kies Status bijwerken.

2

Stap 2: Statusupdates definiëren

Geef voor elke statusupdate het volgende op:

  • Variabelenaam: De dynamische variabele die je wilt toewijzen.
  • Expressie: De toe te wijzen waarde, opgebouwd uit de hierboven beschreven waarde- en operatortypen. Waarden kunnen worden genest om complexere expressies te maken.
  • Vereist: Wanneer dit is uitgeschakeld, kan de LLM de waarden waarop deze update is gebaseerd weglaten. De update wordt dan overgeslagen en de variabele behoudt de huidige waarde.

Je kunt maximaal 50 statusupdates voor één tool definiëren.

3

Stap 3: De beschrijving configureren (optioneel)

Je kunt een aangepaste beschrijving opgeven om de LLM te sturen bij het bepalen wanneer de tool moet worden aangeroepen. Als je dit leeg laat, wordt een voor deze tool geoptimaliseerde standaardbeschrijving gebruikt.

Gebruiksscenario’s

  • Escalatiemarkeringen: Stel een dynamische variabele in (bijvoorbeeld should_escalate) die een vervolgingssysteem of bedrijfsregel controleert, zoals getoond in de Genesys-integratiehandleiding.
  • Geëxtraheerde informatie vastleggen: Sla een door de gebruiker opgegeven waarde (een bestelnummer, voorkeur of gekozen afdeling) op als dynamische variabele om later in het gesprek te gebruiken.
  • Afgeleide waarden: Bereken een waarde op basis van andere dynamische variabelen, bijvoorbeeld door een teller te verhogen of twee variabelen samen te voegen tot één.

Doel: Laat de agent een of meer dynamische variabelen bijwerken op basis van het gesprek, zonder een externe API aan te roepen.

Triggervoorwaarden: De LLM moet deze tool aanroepen wanneer:

  • Het gesprek informatie bevat die moet worden vastgelegd (bijvoorbeeld een escalatievlag, een gekozen optie of een waarde die de gebruiker heeft opgegeven)
  • Een geconfigureerde statusupdate afhankelijk is van een waarde die de LLM uit het gesprek moet beoordelen of extraheren

Parameters:

De parameters van de functie zijn afhankelijk van hoe de tool is geconfigureerd. Elke geconfigureerde statusupdate die een door een LLM geëxtraheerde waarde gebruikt, voegt één eigenschap toe aan het schema. Deze eigenschap is vernoemd naar de dynamische variabele van die update en heeft het type string, number of boolean. Statusupdates die alleen uit constanten of andere dynamische variabelen zijn opgebouwd, voegen geen parameters toe.

Indeling van functieaanroep:

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

Implementatie: De agent evalueert elke geconfigureerde expressie met de geëxtraheerde parameters en de huidige dynamische variabelen van het gesprek, en wijst de resultaten vervolgens toe aan de bijbehorende dynamische variabelen. Er wordt geen externe request gedaan.

Veelgestelde vragen

Nee. Net als alle systeemtools wijzigt Status bijwerken alleen de interne status van het gesprek. De tool roept geen externe API of client-side functie aan.

Nee. De tool vraagt de LLM alleen een parameter te extraheren voor statusupdates waarvan de expressie een door de LLM geëxtraheerde waarde bevat. Als elke geconfigureerde update is opgebouwd uit constanten en/of bestaande dynamische variabelen, heeft de functieaanroep geen parameters.

Overal waar je een dynamische variabele kunt gebruiken: systeemprompts, eerste berichten, toolparameters en headers, en overrides. Zie Dynamische variabelen voor details.

Status bijwerken kan momenteel worden geconfigureerd via het agentdashboard. Ondersteuning voor API en SDK is nog niet beschikbaar.