Aktualizowanie stanu
Pozwól agentowi aktualizować zmienne dynamiczne w trakcie rozmowy za pomocą wyrażeń.
Omówienie
Narzędzie Aktualizuj stan pozwala agentowi ustawić co najmniej jedną zmienną dynamiczną w trakcie rozmowy. Podobnie jak inne narzędzia systemowe, zmienia tylko wewnętrzny stan rozmowy — nigdy nie wywołuje zewnętrznego API ani funkcji po stronie klienta.
Użyj go, aby zapisywać informacje w trakcie rozmowy, na przykład oznaczyć, że rozmowę należy eskalować, zachować wartość podaną przez użytkownika lub obliczyć wartość na podstawie innych zmiennych dynamicznych.
Funkcje
- Wiele aktualizacji w jednym wywołaniu: Jedno wywołanie narzędzia może przypisać naraz do 10 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 wtedy, gdy jest potrzebne: 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 — późniejsze prompty, wywołania innych narzędzi i nadpisania mogą się do nich odwoływać, 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 należeć do jednego z poniższych typów, a wyrażenia można 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 aktualizacji stanu nie da się obliczyć — na przykład przez dzielenie przez zero — wywołanie narzędzia zwraca błąd i żadna z aktualizacji w tym wywołaniu nie zostaje 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 której chcesz przypisać wartość.
- 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.
Dla jednego narzędzia możesz zdefiniować do 10 aktualizacji stanu.
Przykłady użycia
- Flagi eskalacji: Ustaw zmienną dynamiczną (na przykład
should_escalate), którą sprawdza system niższego poziomu lub reguła biznesowa, jak pokazano w przewodniku 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. Podobnie 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 wyodrębnienia parametrów przez LLM?
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żywać zmiennych dynamicznych ustawionych przez to narzędzie?
Wszędzie, gdzie można użyć zmiennej dynamicznej: w promptach systemowych, pierwszych wiadomościach, parametrach narzędzi i nagłówkach oraz nadpisaniach. Szczegóły znajdziesz w sekcji Zmienne dynamiczne.
Czy mogę skonfigurować to narzędzie przez API?
Aktualnie narzędzie Aktualizuj stan można skonfigurować w panelu agenta. Obsługa API i SDK nie jest jeszcze dostępna.