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:
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ę:
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:
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
Krok 1: Dodaj narzędzie
Przejdź do strony konfiguracji agenta. W sekcji Narzędzia kliknij Dodaj narzędzie i wybierz Aktualizuj stan.
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.
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:
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
Czy to narzędzie wykonuje zewnętrzne wywołania?
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.
Czy wywołanie tego narzędzia zawsze wymaga, by LLM wyodrębnił parametry?
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.
Gdzie mogę użyć zmiennych dynamicznych ustawionych przez to narzędzie?
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.
Czy mogę skonfigurować to narzędzie przez API?
Aktualnie Aktualizuj stan można konfigurować w panelu agenta. Obsługa API i SDK nie jest jeszcze dostępna.