Nasze pierwsze wrażenia z API GPT-Live-1 dla agentów głosowych
OpenAI udostępniło w API GPT-Live-1, swój nowy model głosowy full-duplex, dwa dni temu. Tworzymy i prowadzimy produkcyjne agentów telefonicznych AI, więc podłączyliśmy go do prawdziwego numeru telefonu i zadzwoniliśmy do niego. Wiele razy.
Przetestowaliśmy go na skrypcie kwalifikacji ciepłych leadów o długości około 13 000 tokenów od jednego z naszych klientów z branży ubezpieczeniowej — z obowiązkowymi kwestiami do odczytania słowo w słowo, rygorystycznymi zasadami powtarzania informacji i rozgałęzionymi pytaniami dodatkowymi. W ciągu jednego długiego dnia przeprowadziliśmy kilkanaście prawdziwych rozmów telefonicznych, około 25 symulowanych wywiadów oraz serię nieustrukturyzowanych testów.
Oto nasze pierwsze wrażenia wraz z transkrypcjami i nagraniami audio. Wkrótce opublikujemy bardziej szczegółowy tekst.
Transkrypcje pochodzą z naszych rozmów testowych i zostały sporządzone przez GPT-Live. Zmieniliśmy imiona oraz sformułowania umożliwiające identyfikację, skróciliśmy wymiany zdań i połączyliśmy podzielone fragmenty. Znaczniki czasu, w sekundach od początku rozmowy, pochodzą z oryginałów.
Naturalność jest wyjątkowa
GPT-Live-1 to najbardziej naturalnie brzmiący rozmówca, jakiego uruchomiliśmy na linii telefonicznej. To prawdziwy krok naprzód.
Słucha i mówi w jednym ciągłym strumieniu audio, bez oddzielnych etapów transkrypcji i syntezy. Większość mechaniki rozmowy po prostu działa. Rozmówcy słyszeli jego pierwszy dźwięk średnio po około 1,3 sekundy od zakończenia wypowiedzi (mediana), albo po około 0,7 sekundy bez połączenia telefonicznego. Nie dodawaliśmy wykrywania aktywności głosowej ani logiki zmiany tury. Model sprawnie obsługuje przerwania, tworzy naturalne sygnały podtrzymujące rozmowę („Mm-hmm”) i mówi w szybkim, ludzkim tempie.
Gdy otrzymuje cele zamiast kwestii do odczytania, dopasowuje pytania do rozmowy i bez problemu przyjmuje poprawki:
Nigdy nie tracił opanowania mimo poprawek, przerwań ani rozmówców zmieniających odpowiedzi w trakcie rozmowy. Gdyby naturalność była całym zadaniem, ten wpis kończyłby się tutaj. Niestety, sprawa jest bardziej złożona.
Nie zawsze niezawodnie wykonuje instrukcje
GPT-Live-1 nie zawsze niezawodnie wykonuje instrukcje dotyczące zachowań istotnych w rozmowie telefonicznej prowadzonej według skryptu.
Więcej niż raz odpowiedział na wyraźne „tak”, jak gdyby odpowiedź brzmiała „nie” — ponownie zadając pytanie albo przechodząc dalej, jakby rozmówca odmówił.
Najbardziej konsekwentną porażką było zbyt dosłowne traktowanie instrukcji. Nasz prompt mówił: jeśli rozmówca stwierdzi, że zapisany status mieszkaniowy jest błędny, zapytaj, czy jest właścicielem, wynajmuje mieszkanie czy mieszka z rodzicami. Rozmówca powiedział „nie, teraz jestem właścicielem”, co już odpowiada na to pytanie. Model mimo wszystko odczytał całą listę opcji:
Część początkowych dziwactw wynikała z naszego promptu, ale dosłowność utrzymywała się we wszystkich wariantach promptu, które testowaliśmy. Każdą odpowiedź, której nie opisaliśmy wprost, model obsługiwał mechanicznie zamiast rozsądnie.
Czasem również myśli na głos pod presją:
Liczby i znaki alfanumeryczne są ryzykowne
Zapisy literowe, adresy, daty urodzenia i numery identyfikacyjne muszą być dokładne. Właśnie tutaj wypowiedzi GPT-Live-1 mają najwięcej problemów.
Słyszeliśmy, jak pomijał i zastępował znaki w ciągach alfanumerycznych. Tutaj odczytuje wymyślony numer roszczenia; nagrania są niezmienione poza przycięciem ciszy. Po angielsku jego transkrypcja była poprawna, ale w nagraniu dodał „Y”:
Po rosyjsku było gorzej: „Q” zmieniło się w „X” zarówno w nagraniu, jak i w transkrypcji.
Daty powodowały ten sam problem. Rozmówca podał datę urodzenia cyframi, którą model później odczytał jako liczbę:
Czasami wypowiada też kwestię należącą do rozmówcy:
Akcenty w innych językach
Testujemy nowe modele głosowe we wszystkich 47 językach obsługiwanych przez nasz produkt. Rosyjski GPT-Live-1 był płynny, ale miał mocny amerykański akcent (podczas gdy głosy TTS używane przez nas w produkcji zazwyczaj brzmią jak rodzime):
Wypróbowaliśmy też lugandę. Podczas pierwszej rozmowy odpowiedział zamiast tego po suahili. Podczas drugiej mówił po lugandzie, naturalniej, niż spodziewaliśmy się po modelu ogólnym, ale ponownie z mocnym amerykańskim akcentem. Nie przetestowaliśmy każdego języka, ale spodziewamy się, że ten wzorzec akcentu prawdopodobnie się uogólnia. Nie ma to znaczenia dla agenta działającego wyłącznie po angielsku, ale stanowi dość istotne zastrzeżenie w przypadku zastosowań w innych językach.
Kilka ograniczeń API, które warto znać
Na podstawie tego, co odkryliśmy w tym tygodniu, kilka ograniczeń API ma znaczenie dla rzeczywistego agenta:
- Instrukcje są niezmienne po rozpoczęciu sesji i ograniczone do 16 384 tokenów.
- Wyjściowy dźwięk nigdy nie przestaje być strumieniowany — strumieniowana jest także cisza — dlatego „zatrzymanie dźwięku” nie może służyć jako sygnał końca tury w zastosowaniach wymagających segmentowania tur.
- Jest dostępny wyłącznie przez nowy endpoint
v1/live/sessions, a gdy sprawdzaliśmy, nie był jeszcze dostępny w Azure.
Nasze dotychczasowe wrażenia
Produkcyjne agenty telefoniczne muszą brzmieć naturalnie i konsekwentnie stosować się do scenariuszy. GPT-Live-1 świetnie radzi sobie z tym pierwszym, ale ma poważne problemy z tym drugim. Z czasem będziemy przeprowadzać więcej testów i nadal informować o naszych ustaleniach.