Przejdź do nawigacji

Aktualizuj stan

Pozwól agentowi aktualizować zmienne dynamiczne w trakcie rozmowy za pomocą wyrażeń.

Omówienie

Narzędzie Aktualizuj stan pozwala agentowi ustawić jedną lub więcej zmiennych dynamicznych w trakcie rozmowy. Podobnie jak inne narzędzia systemowe, zmienia ono tylko wewnętrzny stan rozmowy — nigdy nie wywołuje zewnętrznego API ani funkcji po stronie klienta.

Użyj go, by zapisywać informacje w trakcie rozmowy — na przykład oznaczyć, że rozmowę należy eskalować, zapisać wartość podaną przez użytkownika lub obliczyć wartość na podstawie innych zmiennych dynamicznych.

Aby stosować aktualizacje stanu w stałym punkcie workflow, zamiast wtedy, gdy LLM wywoła narzędzie, użyj węzła aktualizacji stanu. Przyjmuje on te same aktualizacje stanu.

Działanie

  • Wiele aktualizacji na wywołanie: Jedno wywołanie narzędzia może przypisać jednocześnie do 50 zmiennych dynamicznych.
  • Wartości oparte na wyrażeniach: Każda wartość jest wynikiem wyrażenia, które może łączyć stałe, istniejące zmienne dynamiczne, wartości wyodrębnione przez LLM z rozmowy oraz operatory.
  • Wyodrębnianie przez LLM tylko w razie potrzeby: Narzędzie prosi LLM o wyodrębnienie parametrów tylko dla aktualizacji, które tego wymagają. Aktualizacje zbudowane wyłącznie ze stałych i/lub istniejących zmiennych dynamicznych nie dodają parametrów do wywołania funkcji.
  • Natychmiastowa dostępność: Po uruchomieniu narzędzia zaktualizowane zmienne dynamiczne są dostępne w dalszej części rozmowy — mogą się do nich odwoływać późniejsze prompty, inne wywołania narzędzi i nadpisania, tak jak do każdej innej zmiennej dynamicznej.

Jak to działa

Każda aktualizacja stanu przypisuje wynik wyrażenia do zmiennej dynamicznej:

variable_name = expression

Wyrażenie może mieć jeden z poniższych typów. Wyrażenia można też zagnieżdżać, aby tworzyć bardziej złożoną logikę:

TypOpis
StałaStały ciąg znaków, liczba, wartość logiczna lub wartość null.
Zmienna dynamicznaBieżąca wartość innej zmiennej dynamicznej.
Wartość wyodrębniona przez LLMWartość, którą LLM wywnioskuje z rozmowy i która odpowiada zdefiniowanemu typowi (ciąg znaków, liczba lub wartość logiczna).
Operator logicznyand, or lub wyrażenie warunkowe (if / then / else) łączące inne wyrażenia.
Operator porównania=, ≠, >, <, ≥, ≤, porównujący dwa wyrażenia.
Operator arytmetyczny+, -, ×, ÷, łączący dwa wyrażenia liczbowe (lub, w przypadku +, tekstowe).

Na przykład poniższa aktualizacja stanu ustawia should_escalate na true, jeśli LLM uzna, że użytkownik jest sfrustrowany, lub jeśli zmienna dynamiczna retry_count jest już większa niż 3:

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

Jeśli nie uda się obliczyć aktualizacji stanu — na przykład przez dzielenie przez zero — wywołanie narzędzia zwróci błąd i żadna z aktualizacji w tym wywołaniu nie zostanie zastosowana.

Konfiguracja

1

Krok 1: Dodaj narzędzie

Przejdź do strony konfiguracji agenta. W sekcji Narzędzia kliknij Dodaj narzędzie i wybierz Aktualizuj stan.

2

Krok 2: Zdefiniuj aktualizacje stanu

Dla każdej aktualizacji stanu podaj:

  • Nazwa zmiennej: Zmienna dynamiczna do przypisania.
  • Wyrażenie: Wartość do przypisania, zbudowana z opisanych wyżej typów wartości i operatorów. Wartości można zagnieżdżać, aby tworzyć bardziej złożone wyrażenia.
  • Wymagane: Gdy opcja jest wyłączona, LLM może pominąć wartości, od których zależy ta aktualizacja. Aktualizacja zostanie wtedy pominięta, a zmienna zachowa bieżącą wartość.

W jednym narzędziu możesz zdefiniować do 50 aktualizacji stanu.

3

Krok 3: Skonfiguruj opis (opcjonalnie)

Możesz podać własny opis, który wskaże LLM, kiedy wywołać narzędzie. Jeśli pozostawisz to pole puste, użyjemy domyślnego opisu zoptymalizowanego pod to narzędzie.

Przykłady użycia

  • Flagi eskalacji: Ustaw zmienną dynamiczną (na przykład should_escalate), którą sprawdzi system podrzędny lub reguła biznesowa, jak pokazano w przewodniku po integracji z Genesys.
  • Zapisywanie wyodrębnionych informacji: Zapisz wartość podaną przez użytkownika (numer zamówienia, preferencję, wybrany dział) jako zmienną dynamiczną do użycia później w rozmowie.
  • Wartości pochodne: Oblicz wartość na podstawie innych zmiennych dynamicznych, na przykład zwiększ licznik lub połącz dwie zmienne w jedną.

Cel: Pozwala agentowi aktualizować jedną lub więcej zmiennych dynamicznych na podstawie rozmowy, bez wywoływania zewnętrznego API.

Warunki wywołania: LLM powinien wywołać to narzędzie, gdy:

  • Rozmowa dostarcza informacji, którą należy zapisać (np. flagę eskalacji, wybraną opcję lub wartość podaną przez użytkownika)
  • Skonfigurowana aktualizacja stanu zależy od wartości, którą LLM musi ocenić lub wyodrębnić z rozmowy

Parametry:

Parametry funkcji zależą od konfiguracji narzędzia. Każda skonfigurowana aktualizacja stanu używająca wartości wyodrębnionej przez LLM dodaje jedną właściwość do schematu, nazwaną od zmiennej dynamicznej tej aktualizacji i z typem string, number lub boolean. Aktualizacje stanu tworzone wyłącznie ze stałych lub innych zmiennych dynamicznych nie dodają parametrów.

Format wywołania funkcji:

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

Implementacja: Agent ocenia każde skonfigurowane wyrażenie, używając wyodrębnionych parametrów oraz bieżących zmiennych dynamicznych rozmowy, a następnie przypisuje wyniki do odpowiednich zmiennych dynamicznych. Nie wykonuje żadnego zewnętrznego żądania.

FAQ

Nie. Jak wszystkie narzędzia systemowe, Aktualizuj stan zmienia tylko wewnętrzny stan rozmowy. Nie wywołuje zewnętrznego API ani funkcji po stronie klienta.

Nie. Narzędzie prosi LLM o wyodrębnienie parametru tylko dla aktualizacji stanu, których wyrażenie zawiera wartość wyodrębnioną przez LLM. Jeśli każda skonfigurowana aktualizacja jest zbudowana ze stałych i/lub istniejących zmiennych dynamicznych, wywołanie funkcji nie przyjmuje parametrów.

Wszędzie, gdzie możesz użyć zmiennej dynamicznej: w promptach systemowych, pierwszych wiadomościach, parametrach i nagłówkach narzędzi oraz nadpisaniach. Szczegóły znajdziesz w sekcji Zmienne dynamiczne.

Aktualnie Aktualizuj stan można konfigurować w panelu agenta. Obsługa API i SDK nie jest jeszcze dostępna.