Jak przygotować system Conversational AI
- Autor
- Cindy Liu
- Opublikowano
- Ostatnia aktualizacja
PosłuchajPosłuchaj tego artykułu
Dziś LLM stał się sercem systemów Conversational AI. W szczególności LLM-y umożliwiają Conversational AI — pierwotnie oparte na rozbudowanych drzewach telefonicznych — działanie w sposób dynamiczny i tworzenie doświadczeń podobnych do rozmowy z człowiekiem. LLM-y nie są jednak uniwersalnym ulepszeniem; wymagają specjalnego promptowania, bo domyślnie nie są dostrojone do ludzkiej mowy.
Deweloperzy często popełniają błąd, promptując LLM-y do Conversational AI: wykorzystują te same materiały, które służyły do szkolenia pracowników. Choć brzmi to prosto, rzadko działa. LLM-y przyjmują inne założenia niż ludzie, a ich domyślny ton i zakres nie sprzyjają rozmowom głosowym.
Dziś przyjrzymy się temu, jak promptować LLM-y, by tworzyć skuteczne systemy Conversational AI. Bardziej szczegółowy i techniczny przewodnik znajdziesz też w dokumentacji dla deweloperów ElevenLabs.
Stary system
Przed LLM-ami systemy Conversational AI korzystały z rozbudowanych drzew logiki, które kierowały zgłoszenia na podstawie wypowiedzi użytkownika. Takie rozwiązania były popularne na infoliniach obsługi klienta, np. linii lotniczych, oraz w systemach płatności, np. telefonicznej obsłudze kart kredytowych.
Te starsze systemy działały wolno, brzmiały robotycznie i pozwalały na bardzo ograniczone odpowiedzi. Pewnie sam kiedyś krzyczałeś „TAK” do telefonu, odpowiadając na pytanie. Przez to wielu użytkowników próbowało „przechytrzyć system”, by połączyć się z konsultantem.
Drzewa telefoniczne miały jednak zaletę — były zamknięte. Rozmowa mogła pójść tylko kilkoma ścieżkami, a deweloperzy mogli łatwo wdrożyć zabezpieczenia ignorujące niedozwolone dane wejściowe. To pokazuje zalety i wady LLM-ów: znacznie wykraczają poza ograniczenia drzew telefonicznych, ale są też nieprzewidywalne, co otwiera puszkę Pandory problemów — od niemożliwych obietnic przez złość na klientów po ujawnienie wrażliwych danych.
Domyślne luki
Jeśli LLM-y otrzymają tylko podręcznik stworzony dla ludzi, ich skuteczność będzie ograniczona przez kilka kluczowych luk. Ich zrozumienie pomoże ci tworzyć prompty, które je uwzględnią:
Niedopasowany ton
LLM-y są trenowane metodą uczenia ze wzmocnieniem, w której opinie ludzi zachęcają je do zwracania uporządkowanych odpowiedzi. Dlatego odpowiedzi LLM-ów bywają rozwlekłe i pełne list punktowanych, wyróżnionych bloków oraz nagłówków.
W Conversational AI LLM-y muszą jednak naśladować zwięzły, prosty charakter rozmów głosowych.
Luki w założeniach
LLM-y mają tendencję do wypełniania niewiadomych wywnioskowaną wiedzą zamiast zadawania pytań. Może to prowadzić do błędnych założeń, które wprowadzą użytkowników w błąd lub spowodują kosztowne pomyłki, np. obiecane zwroty. Później pokażemy, jak wykorzystać bazę wiedzy i zabezpieczenia, aby ograniczyć błędne obietnice i niedozwolone działania LLM-ów.
Opóźnienia
LLM-y mogą programowo wywoływać funkcje, zbierając i zapisując dane w imieniu ludzi. To jedna z ich największych zalet, ale oznacza też, że stare instrukcje szkoleniowe, pozwalające konsultantom „zyskać na czasie” podczas wykonywania zadań, nie są już potrzebne. Wywołania funkcji też nie są jednak natychmiastowe, więc LLM-y muszą uprzedzać użytkownika o spodziewanym opóźnieniu, np. „daj mi chwilę, sprawdzę twoją sprawę”.
Konfiguracje
Osobowość
LLM-y dość dobrze dopasowują ton do wybranego stylu. Można skonfigurować LLM tak, by brzmiał przyjaźnie, zabawnie, zwięźle, formalnie lub łączył te style. To ważny element promptowania LLM-a.
Na przykład deweloperzy aplikacji Conversational AI do obsługi niezadowolonych klientów linii lotniczych mogą użyć promptu takiego jak:
Nicole
Format
LLM-y potrzebują jasnych instrukcji, jak odpowiadać. Aby nie dodawały zbędnego tekstu, warto podać im strukturę obejmującą odpowiedź przekazywaną użytkownikowi.
Na przykład LLM może otrzymać taki prompt:
Taka struktura zachęca LLM do tworzenia odpowiedzi przeznaczonej do odczytania na głos.
LLM-y mogą jednak czasem potknąć się na elementach, które na pierwszy rzut oka nie różnią się od tekstu pisanego. Częstym przykładem są liczby — LLM może wypisać kod pocztowy, taki jak 10023, przez co model zamiany tekstu na mowę odczyta go jako „dziesięć tysięcy dwadzieścia trzy”. Zamiast tego należy jasno polecić LLM-owi, by wymawiał cyfry pojedynczo i wskazywał, czego dotyczą, np. „Kod pocztowy to jeden zero zero dwa trzy”.
Temperatura
Temperatura to kluczowy parametr konfiguracji LLM-ów dla Conversational AI. Niższa temperatura daje bardziej skupione, deterministyczne odpowiedzi, idealne do rozmów zadaniowych, a wyższa — bardziej kreatywne i zróżnicowane.
Niska temperatura jest idealna dla systemów Conversational AI, które wymagają spójnych odpowiedzi, np. infolinii zwrotów. Z kolei dla systemów, które mają zapewniać klientom bardziej angażujące i realistyczne wrażenia, np. cyfrowego trenera, lepsza będzie wysoka temperatura:
High Temperature: Hey hey! You've landed at ElevenLabs support—ready to tackle your tech troubles! What's on your mind?
Bazy wiedzy
W systemach Conversational AI, które korzystają z dużych zasobów wiedzy, warto użyć bazy wiedzy, by skrócić prompt. W środowisku produkcyjnym zwykle robi się to za pomocą wektorowej bazy danych, np. Pinecone lub Elasticsearch, albo bezpośredniego magazynu wiedzy dostawcy LLM-a.
Bazy wiedzy są kluczowe, by odpowiedzi LLM-ów opierały się na zatwierdzonych faktach. Tworząc system Conversational AI, warto zapewnić LLM-owi kompleksową bazę wiedzy z dokładnymi, aktualnymi informacjami o produktach, usługach, zasadach i procedurach. Zapobiega to halucynacjom i wymyślaniu informacji, a jednocześnie sprzyja spójnym i wiarygodnym odpowiedziom w różnych rozmowach.
Proces
Ponieważ LLM-y często wywołują funkcje w imieniu użytkownika, muszą też wiedzieć, jakich danych potrzebują. Jeśli na przykład zadaniem LLM-a jest pomoc w umówieniu wizyty u fryzjera, musi upewnić się, że ma:
- Imię i nazwisko użytkownika
- Preferowaną datę i godzinę
- Adres użytkownika
- Preferowaną usługę
Prosta implementacja może sprawić, że LLM zapyta o wszystkie te dane w jednej wypowiedzi. W tekście to nic złego, ale w rozmowie może przytłaczać:
Customer: My name is Mathew and anytime Wednesday afternoon works. What else did you ask for?
Ponieważ informacje zwykle zbiera się stopniowo podczas rozmowy, należy zachęcić LLM-y, by pozyskiwały je po kolei. Efekt to znacznie bardziej naturalna rozmowa:
Customer: My name is Mathew Pregasen.
Support Agent: Thanks Mathew. When would you like to make an appointment?
Customer: Anytime on Wednesday afternoon works fine.
Support Agent: Great. Now can I get your address to find the nearest location?
Customer: 555 West Main Street
Support Agent: Perfect. Now what service are you look for?
Customer: I'm looking for a haircut and if you could also do my beard that would be great!
Zabezpieczenia
Uprawnienia
Tworząc systemy rozproszone, zakładasz, że twój serwer w pewnym momencie przestanie działać. Podobnie przy budowie systemów AI należy założyć, że LLM kiedyś popełni błąd. Aby ograniczyć jego skutki, przyznaj takim systemom tylko minimalne uprawnienia potrzebne do danego zadania. Oto kilka sposobów:
- Prawidłowo ustaw uprawnienia odczytu/zapisu: jeśli LLM musi tylko odczytywać informacje ze źródła danych, zapewnij mu endpoint tylko do odczytu.
- Ogranicz dostęp do endpointów API: jeśli LLM potrzebuje dostępu tylko do określonych endpointów, upewnij się, że nie ma dostępu do pozostałych.
- Eskalacje z udziałem człowieka: jeśli trzeba wykonać działanie wysokiego ryzyka, rozważ human-in-the-loop workflow, który przed wykonaniem działania wymaga „zgody menedżera”.
Walidacja i weryfikacja
Przy tworzeniu systemów głosowych agentów AI wykonujących działania za pomocą narzędzi warto wdrożyć proces walidacji i weryfikacji, aby zbierać od użytkowników właściwe informacje. Dziś, gdy rozmawiasz z konsultantem, powtarza on kluczowe dane, by potwierdzić, że dobrze je usłyszał i że klient się nie przejęzyczył. LLM-y również skorzystają na podobnym poziomie sprawdzania błędów:
Customer: 555 West Main Street
Support Agent: I got five five five west main street. Did I miss anything?
Podczas walidacji każdą informację od klienta należy sprawdzić względem jej typowej struktury. Czy numer telefonu ma właściwą liczbę cyfr? Czy podany przez klienta wiek mieści się w rozsądnym zakresie? Czy klient podał prawidłowy adres?
Customer: 317-798-97289
Support Agent: I think I might have misheard you. I heard 11 numbers. Would you mind repeating that again?
Zależnie od przypadku użycia możesz weryfikować wszystkie otrzymane informacje albo tylko te, które nie przeszły weryfikacji. Możesz też sprawdzać każdą informację od razu lub wszystko na końcu.
Na koniec
Skuteczne promptowanie systemu agenta AI do rozmów wymaga równowagi między odpowiednią konfiguracją a zabezpieczeniami, by zapewnić doświadczenie przypominające rozmowę z człowiekiem, ale wydajniejsze. To nie jest tak proste jak użycie starych materiałów szkoleniowych jako promptu dla LLM-a. LLM-y to narzędzia potrzebujące specjalnej struktury i strategii, by dawać przewidywalne, skuteczne wyniki.

