Pamięć (rozmowa z klientem) (wersja zapoznawcza)

[Ten artykuł to dokumentacja wstępna, która może ulec zmianie].

Pamięć pozwala agentowi opartemu na rozwiązaniu Customer Conversation przenosić zatwierdzony kontekst z wcześniejszych rozmów do kolejnej rozmowy, dzięki czemu powracający klient ma zachowaną ciągłość obsługi zamiast rozpoczynania od zera. Agent potrafi rozpoznać otwarte intencje użytkownika, przypomnieć sobie, o czym rozmawiano, i kontynuować od miejsca, w którym zakończyła się ostatnia rozmowa.

Pamięć dla agentów obsługiwanych przez Customer Conversation harness to funkcja odrębna od Memory (preview), która dotyczy agentów obsługiwanych przez GitHub Copilot harness. Zamiast swobodnego przywoływania, Customer Conversation wykorzystuje pamięć, która przechwytuje uporządkowany kontekst poprzez zdefiniowany schemat wbudowanych i niestandardowych parametrów, i obejmuje wyłącznie krótkoterminowy kontekst rozmowy, z okresem przechowywania wynoszącym 30 dni.

Pamięć konfiguruje się raz na poziomie agenta i obowiązuje dla agenta głównego oraz każdego agenta podrzędnego pod nim. Działa zarówno w rozmowach głosowych, jak i na czacie, a jeśli skonfigurowano współdzielony identyfikator kontaktu, kontekst zapisany w jednym kanale jest dostępny w drugim.

Co Twój agent pamięta

Wbudowane typy kontekstu

Dwa wbudowane typy kontekstu są zawsze aktywne, gdy funkcja Pamięć jest włączona. Każdy ma zdefiniowany schemat, więc można odwoływać się do jego wartości w instrukcjach bez dodatkowego przygotowania.

Typ kontekstu Variables Co przechwytuje
Profil klienta /customerName Dane klientów zebrane podczas rozmów, wykorzystywane do personalizacji przyszłych interakcji.
Historia konwersacji /pastOpenIntentList, /pastConversationSummary Kluczowe szczegóły z poprzednich rozmów, takie jak nierozwiązane intencje i podsumowanie, są przenoszone do kolejnych interakcji.

Parametry niestandardowe

Poza wbudowanymi typami możesz zdefiniować parametry dotyczące szczegółów, od których zależy Twoja firma, takich jak poziom członkostwa, żądana akcja usługi czy flaga sterująca routingiem. Każdy niestandardowy parametr jest definiowany przez:

  • Unikatowa nazwa.
  • Typ danych: ciąg znaków, liczba lub wartość logiczna.
  • Opis prostym językiem, który informuje agenta, na co powinien zwracać uwagę. Opis wykonuje większość pracy, więc zapisz go jako jednoznaczną instrukcję, a nie etykietę.
  • Zbiór wartości, jakie parametr może przyjmować.

Następujące ograniczenia obowiązują przy tworzeniu lub edycji niestandardowego parametru:

Setting Requirement
Name Unikalny w obrębie agenta. Spacje są automatycznie akceptowane i usuwane, gdy nazwa jest używana jako zmienna.
Typ danych Ciąg znaków, liczba lub wartość logiczna.
Description Required. Od 30 do 300 znaków.
Dozwolone wartości Required. Do 10 wartości, każda do 30 znaków.
Liczba parametrów Maksymalnie 5 niestandardowych parametrów.

Wybór sposobu aktualizacji wartości

Każdy niestandardowy parametr korzysta z jednego z dwóch trybów konsolidacji, które określają, jak nowo wyodrębniona wartość łączy się z tym, co pamięć już przechowuje dla tego parametru między rozmowami. Wybierasz tryb podczas tworzenia parametru.

  • Zamień: Nadaje się do wartości, które mają jedną aktualnie obowiązującą wartość, takich jak poziom członkostwa lub flaga nadużycia. Każda nowo wyodrębniona wartość nadpisuje zapisaną, a zachowuje się tylko najnowsza wartość. Jeśli rozmowa nie przynosi nowej wartości, wcześniej przechowywana wartość pozostaje na miejscu, zamiast zostać wyczyszczona.
  • Dodaj: Nadaje się do wartości, które się kumulują, takich jak działania serwisowe zamówione przez klienta. Każde wyodrębnienie jest dodawane do listy bieżącej jako osobny wpis z oznaczeniem czasowym, a powtarzające się wartości są przechowywane osobno, aby sekwencja pozostała dokładna. Agent odczytuje najnowszy wpis dla danej wartości jako aktualny stan. Jeśli rozmowa nie przynosi nowej wartości, lista pozostaje bez zmian, a wpisy są przycinane po przekroczeniu okresu retencji, dzięki czemu listy nie rosną bez ograniczeń.

Włączanie i wyłączanie pamięci

Pojedyncza kontrolka na poziomie agenta włącza lub wyłącza pamięć. Zarządza wszystkim: generowaniem kontekstu, jego przechowywaniem, pobieraniem, rozwiązywaniem zmiennych pamięci w instrukcjach oraz ujawnianiem kontekstu ludzkim agentom. Ustawienie obejmuje agenta głównego i wszystkich jego agentów potomnych, a jego zmiana jest potwierdzana zanim wejdzie w życie.

Gdy Pamięć jest wyłączona, żaden kontekst nie jest generowany, przechowywany, pobierany ani odwołany nigdzie w agencie. Ponowne włączenie wraca do normalnego zachowania nowych rozmów; wcześniej zapisany kontekst ponownie staje się dostępny tylko wtedy, gdy nadal znajduje się w oknie retencyjnym.

Instrukcje autora z użyciem zmiennych pamięci

Odwołuj się bezpośrednio do wbudowanych i niestandardowych parametrów w instrukcjach agenta. Odniesienia do parametrów systemu wyglądają jak pastOpenIntentList i pastConversationSummary.

Ciągłość międzykanałowa

Kontekst jest powiązany z identyfikatorem charakterystycznym dla danego kanału, takim jak numer telefonu osoby dzwoniącej w kanale głosowym oraz uwierzytelniony identyfikator sesji w przypadku czatu internetowego. To samo w sobie sprawia, że pamięć każdego kanału pozostaje oddzielna.

Konfiguracja wspólnego identyfikatora kontaktu łączy te tożsamości kanału z jednym klientem, dzięki czemu kontekst zapisany podczas rozmowy telefonicznej jest dostępny w następnym czacie klienta i odwrotnie. Kontekst jest ujawniany dopiero po zidentyfikowaniu klienta: kanały czatu najpierw uwierzytelniają użytkownika, a Speech opiera się na numerze telefonu dzwoniącego.

Oznacza to, że klient kontaktujący się z agentem na jednym kanale może kontynuować tę samą rozmowę na innym, a agent zachowuje odpowiedni kontekst, w tym preferencje lub szczegóły przekazane wcześniej, takie jak preferowana metoda kontaktu czy identyfikator konta.

Jak w przypadku każdego kontekstu Memory, każdy agent utrzymuje osobny magazyn pamięci dla użytkownika, więc kontekst i preferencje jednego klienta nigdy nie są udostępniane innemu.