Jak stworzyliśmy skutecznego Voice Agenta do naszej dokumentacji
- Autor
- Oswin Kruger Ruiz
- Opublikowano
- Ostatnia aktualizacja
PosłuchajPosłuchaj tego artykułu
W ElevenLabs niedawno osadziliśmy w naszej dokumentacji konwersacyjnego agenta głosowego AI, by odciążyć wsparcie w pytaniach dotyczących dokumentacji (wypróbuj go tutaj). Nasz agent wsparcia skutecznie obsługuje już ponad 80% zgłoszeń użytkowników w ramach 200 rozmów dziennie. Wyniki pokazują, że AI może wspierać tradycyjną pomoc dotyczącą dokumentacji, a jednocześnie podkreślają ciągłą rolę wsparcia człowieka przy złożonych pytaniach. W tym artykule opiszę nasz iteracyjny proces, który możesz wykorzystać, by osiągnąć podobne wyniki.
Nasze cele
Chcieliśmy stworzyć agenta, który potrafi:
- Rozwiązywać pytania do wsparcia, na które odpowiedź znajduje się w dokumentacji produktu i wsparcia
- Kierować użytkowników do odpowiednich sekcji dokumentacji
- Przekazywać złożone zgłoszenia do wsparcia przez e-mail/Discord, gdy to potrzebne
- Prowadzić płynną i naturalną rozmowę z niskimi opóźnieniami oraz realistyczną obsługą przerwań
Wyniki i wpływ
Wdrożyliśmy dwie warstwy oceny:
(1) Narzędzia oceny AI: po każdej rozmowie nasze wbudowane narzędzia oceny analizują gotową konwersację i sprawdzają, czy agent odniósł sukces. Kryteria można w pełni dostosować. Pytamy, czy agent rozwiązał zgłoszenie użytkownika lub potrafił przekierować go do odpowiedniego kanału wsparcia.

Systematycznie poprawialiśmy zdolność LLM do skutecznego rozwiązania lub przekierowania zgłoszenia, osiągając 80% według naszych narzędzi oceny.
Z pominięciem rozmów z mniej niż jedną turą, co oznacza, że osoba dzwoniąca nie zgłosiła pytania ani problemu.
Ważne jest jednak, że nie każdy typ zgłoszenia lub pytania do wsparcia może rozwiązać LLM — zwłaszcza w startupie, który szybko się rozwija, stale wprowadza innowacje i ma bardzo technicznych oraz kreatywnych użytkowników. Dodatkowo LLM oceniający nie zawsze oceni sytuację poprawnie.
(2) Weryfikacja przez ludzi: aby porównać skuteczność naszych narzędzi walidacji LLM, przeprowadziliśmy ludzką weryfikację 150 rozmów, stosując te same kryteria oceny, które przekazaliśmy narzędziom LLM:
- solved_user_inquiry: sukces, gdy agent odpowiedział na pytania użytkownika trafnymi informacjami lub potrafił przekierować go na właściwą stronę / kanał wsparcia.
- LLM i człowiek byli zgodni w 81% przypadków
- hallucination_kb: to kryterium sprawdza końcowy transkrypt i weryfikuje, czy odpowiedzi LLM o produktach ElevenLabs są zgodne z informacjami w bazie wiedzy, czy wykraczają poza nie.
- LLM i człowiek byli zgodni w 83% przypadków
Ocena ludzi wykazała też, że 89% istotnych pytań do wsparcia agent dokumentacji poprawnie obsłużył lub przekierował.
Inne wnioski:
- Część osób dzwoniących chciała po prostu się pobawić i spróbować rozmowy w różnych językach, bez zadawania pytań do wsparcia.
- Obecnie nasze Conversational AI obsługuje różne języki, ale trzeba je określić na początku rozmowy.
- Część osób prowadzi rozmowy niezwiązane z celem agenta, czyli rozmową o ElevenLabs, jego produktach i dokumentacji. Zabezpieczenia promptu pomagały przez większość czasu, ale nie zawsze.
- Część osób szukała pomocy przy kodowaniu lub debugowaniu.
Mocne strony i ograniczenia
Mocne strony
Agent oparty na LLM dobrze radzi sobie z jasnymi i konkretnymi pytaniami, na które można odpowiedzieć na podstawie naszej dokumentacji, kierowaniem osób dzwoniących do właściwych materiałów oraz udzielaniem wstępnych wskazówek przy bardziej złożonych sprawach. W większości takich przypadków agent udziela szybkich, prostych i poprawnych odpowiedzi, które są od razu pomocne.
Przykładowe pytania:
- Czy ElevenLabs ma endpoint API do usuwania głosu?
- Jak skonfigurować nadpisywanie ustawień rozmowy w moim agencie?
- Jak zintegrować się z telefonią?
- Czy ElevenLabs obsługuje język hiszpański?
Rekomendacje:
- Kieruj rozwiązanie do odbiorców, którzy najczęściej mają jasne / konkretne pytania, na które LLM z dokumentacją i narzędziami dobrze odpowiada.
- W przypadku niejasnych pytań / pytań wymagających analizy korzystaj z przekierowań do innych kanałów. To bardzo pomaga!
- Dodaj narzędzia oceny, aby rejestrować i monitorować wszystkie pytania -> wykorzystuj wnioski do dostosowywania promptu. Dodaj też narzędzia oceny sukcesu i halucynacji / odchyleń od bazy wiedzy.
Ograniczenia
Z drugiej strony agent jest mniej pomocny przy problemach z kontem, pytaniach o ceny/rabaty lub niesprecyzowanych pytaniach, które wymagają głębszej analizy / sprawdzenia. Także przy dość niejasnych i ogólnych problemach -> mimo promptu zachęcającego do zadawania pytań LLM zwykle woli odpowiedzieć czymś, co może wydawać się trafne na podstawie dokumentacji.
Przykładowe pytania:
- Etap weryfikacji mojego PVC ciągle kończy się niepowodzeniem. Dlaczego?
- Ile będzie kosztować agent AI? Czy mogę dostać rabat?
- Pojawia mi się błąd w JS SDK? -> Agent może przekierować do odpowiedniej dokumentacji, ale nie potrafi łatwo znaleźć i rozwiązać problemu głosowo.
Rekomendacje
- Głos nie jest dobrym medium do udostępniania kodu. Ustaw prompt tak, by agent nie próbował tego robić, lecz kierował na strony z przykładami lub do Discorda/wsparcia.
- Ustaw prompt tak, by agent nie odpowiadał długimi listami rekomendacji, gdy problemy / pytania są bardziej złożone. Działa to w tekście, ale gorzej głosowo.
- LLM-y zwykle wolą odpowiadać niż zadawać pytania — jeśli jest to potrzebne w tym przypadku użycia wsparcia, wyraźnie uwzględnij to w prompcie. (np. zadaj te 3 pytania, zanim przejdziesz dalej). Jest to łatwiejsze w wychodzących przypadkach użycia ze stałymi skryptami.
Jak to zbudowaliśmy
Konfiguracja agenta:
Prompt systemowy
„Jesteś agentem wsparcia technicznego o imieniu Alexis. Starasz się odpowiadać na wszelkie pytania użytkownika o produkty ElevenLabs. Otrzymasz dokumentację produktów ElevenLabs i używaj wyłącznie tych informacji do odpowiadania na pytania o ElevenLabs. Bądź pomocny, przyjazny i profesjonalny. Jeśli nie możesz odpowiedzieć na pytanie, przekieruj osobę dzwoniącą za pomocą redirectToEmailSupport (co otwiera po jej stronie wiadomość e-mail do wsparcia). Jeśli to nie zadziała, może napisać bezpośrednio na adres team@elevenlabs.io.
Jeśli pytanie lub problem nie jest w pełni jasny albo wystarczająco konkretny, poproś o więcej szczegółów i zapytaj, którego produktu dotyczy prośba o wsparcie. Jeśli pytanie jest niejasne lub bardzo ogólne, zapytaj konkretniej, co użytkownik próbuje osiągnąć i w jaki sposób.
Trzymaj się wyłącznie języka swojej pierwszej wiadomości w rozmowie, nawet jeśli użytkownik pyta lub mówi w innym języku. Powiedz, że lepiej zakończyć i ponownie rozpocząć rozmowę, wybierając inny język.
Twoja odpowiedź zostanie odczytana przez model zamiany tekstu na mowę, więc formatuj ją tak, jak jest wymawiana. Na przykład zamiast „proszę skontaktować się z team@elevenlabs.io” napisz „proszę skontaktować się z 'team małpa elevenlabs kropka I O'”. Nie formatuj odpowiedzi za pomocą punktów, pogrubień ani nagłówków. Nie podawaj długich list — zamiast tego podsumuj je i zapytaj, która część interesuje użytkownika. Nie podawaj próbek kodu, lecz zasugeruj użytkownikowi zapoznanie się z próbkami kodu w naszej dokumentacji. Zwracaj odpowiedź bezpośrednio, nie zaczynaj jej od „Agent:” ani podobnego zwrotu. Nie poprawiaj błędów ortograficznych, po prostu je ignoruj.
Odpowiadaj zwięźle, w kilku zdaniach, i pozwól użytkownikowi wskazać, gdzie podać więcej szczegółów.
Masz do dyspozycji następujące narzędzia. Używaj ich odpowiednio do prośby użytkownika:
`redirectToDocs`:
- Kiedy używać: w większości sytuacji, zwłaszcza gdy użytkownik potrzebuje bardziej szczegółowych informacji lub wskazówek.
- Dlaczego: bezpośredni dostęp do dokumentacji pomaga przy złożonych tematach, ponieważ użytkownik może samodzielnie zapoznać się z treścią i ją zrozumieć.
`redirectToEmailSupport`:
- Kiedy używać: gdy użytkownik potrzebuje pomocy w sprawach osobistych lub dotyczących konta.
- Dlaczego: pytania dotyczące konta najlepiej obsługuje nasz zespół wsparcia przez e-mail, gdzie może bezpiecznie uzyskać dostęp do odpowiednich danych.
`redirectToExternalURL`:
- Kiedy używać: gdy użytkownik pyta o rozwiązania dla przedsiębiorstw lub chce dołączyć do zewnętrznych społeczności, takich jak nasz serwer Discord. Również gdy wygląda na dewelopera mającego trudności techniczne z ElevenLabs.
- Dlaczego: pytania od przedsiębiorstw i interakcje ze społecznością wykraczają poza zakres bezpośredniego wsparcia na platformie, dlatego lepiej obsługiwać je za pomocą zewnętrznych linków.
Zabezpieczenia:
- Trzymaj się tematów i produktów związanych z ElevenLabs. Jeśli ktoś pyta o tematy niezwiązane z ElevenLabs, powiedz, że jesteś tutaj wyłącznie po to, by odpowiadać na pytania o produkty ElevenLabs.
- Przekierowuj osobę dzwoniącą tylko na jedną stronę naraz, ponieważ każde przekierowanie zastępuje poprzednie.
- Nie odpowiadaj długimi listami ani kodem. Zamiast tego kieruj do dokumentacji z przykładami kodu.”
Baza wiedzy
Wraz z promptem przekazujemy LLM-owi w kontekście bazę wiedzy z istotnymi informacjami. Zawiera ona skróconą, ale wciąż dużą (80 tys. znaków) wersję całej dokumentacji ElevenLabs oraz kilka istotnych adresów URL.
Do bazy wiedzy dodajemy też wyjaśnienia i najczęstsze pytania.
Narzędzia
Mamy skonfigurowane trzy narzędzia:
- redirectToExternalURL: przekierowuje do działu sprzedaży lub na Discord.
- redirectToEmailSupport: otwiera wiadomość e-mail do team@elevenlabs.io
- redirectToDocs: to narzędzie przekierowuje osobę dzwoniącą na odpowiednie strony w naszej dokumentacji.
Wbudowana ocena
Nasze narzędzia oceny wykorzystują LLM do analizy końcowego transkryptu i oceny rozmowy według zdefiniowanych kryteriów.
Kryteria oceny (sukces / porażka / nieznane)
- hallucination_kb: to kryterium sprawdza końcowy transkrypt i weryfikuje, czy odpowiedzi LLM o produktach ElevenLabs są zgodne z informacjami w bazie wiedzy, czy wykraczają poza nie.
- interaction: sprawdza, czy rozmowa trwała dłużej niż jedną turę. To szybki sposób, by oznaczyć rozmowy, które zostały rozpoczęte, ale nie doszło w nich do interakcji.
- solved_user_inquiry: sukces, gdy agent odpowiedział na pytania użytkownika trafnymi informacjami lub potrafił przekierować go na właściwą stronę / kanał wsparcia.
- positive_interaction: sprawdza, czy rozmowa przebiegła bez negatywnych reakcji osoby dzwoniącej.
Zbieranie danych:
- Issue_type: sklasyfikuj rozmowę jako błąd, problem ze wsparciem, fr lub inne
- Kategoria produktu: wyodrębnij odpowiedni produkt (TTS, ConvAI itd.)
- AllQuestions: wyodrębnij wszystkie pytania zadane przez osobę dzwoniącą
- Unsolved_question: wyodrębnij pytania, na które LLM nie odpowiedział trafnymi informacjami
- Redirects: wyodrębnij ścieżki przekierowań uruchomione przez agenta oraz reakcję osoby dzwoniącej
Podsumowanie
Nasz agent dokumentacji skutecznie pomaga użytkownikom poruszać się po typowych pytaniach o produkt i wsparcie, a także jest angażującym copilotem podczas korzystania z dokumentacji. Dzięki ciągłemu automatycznemu i ręcznemu monitorowaniu możemy stale rozwijać i ulepszać naszego agenta. Wiemy, że nie każdy typ zgłoszenia lub pytania do wsparcia może rozwiązać LLM — zwłaszcza w startupie, który szybko się rozwija, stale wprowadza innowacje i ma bardzo technicznych oraz kreatywnych użytkowników. Zauważyliśmy jednak, że im więcej automatyzujemy, tym więcej czasu nasz zespół może poświęcić na trudne i ciekawe problemy pojawiające się na obrzeżach, gdy nasza społeczność nadal przesuwa granice tego, co jest możliwe z audio AI.
Nasz agent działa dzięki ElevenLabs Conversational AI. Jeśli chcesz odtworzyć moje wyniki, możesz założyć konto za darmo i wykonać opisane kroki. Jeśli utkniesz, możesz porozmawiać z agentem, którego wdrożyliśmy w naszej dokumentacji, lub skontaktować się ze mną i moim zespołem na Discordzie. W przypadku dużej skali (>100 rozmów dziennie) skontaktuj się z naszym działem sprzedaży, aby uzyskać rabaty ilościowe.
Oswin is part of the Forward Deployed Engineering team at ElevenLabs, focusing on government deployment.

.webp&w=3840&q=80)



