W tradycyjnych aplikacjach, niezależnych od AI, naprawienie błędu zazwyczaj oznacza poprawę działania całego systemu. Jednak w przypadku aplikacji opartych na generatywnej sztucznej inteligencji, takich jak chatboty, takie założenie może być mylne. W tym artykule wyjaśnimy, dlaczego tak się dzieje i jak można zagwarantować rozwój oraz ulepszanie chatbota.
Dlaczego nie możemy po prostu ulepszać chatbota, wdrażając go na produkcję i naprawiając błędy na bieżąco? Wyjaśnijmy to na przykładzie.
Firma X podpisała kontrakt z firmą Y na stworzenie chatbota dla strony uczelni. Ustalono, że szybko zostanie wdrożone MVP chatbota, a firma Y będzie odpowiedzialna za bieżące usuwanie zgłaszanych błędów. Po wdrożeniu chatbota sytuacja mogłaby wyglądać następująco:
Aplikacje oparte na AI różnią się od tych tradycyjnych, ponieważ błędy mogą występować, nawet jeśli kod nie zawiera żadnych logicznych błędów. Dodatkowo, w przypadku chatbotów oczywiste jest, że nie da się przetestować każdego możliwego scenariusza przed wprowadzeniem zmian na produkcję. Istnieją jednak rozwiązania, które mogą znacząco zmniejszyć ryzyko wystąpienia regresji. Czego więc zabrakło firmie Y? Testów benchmarkowych!
Podczas tworzenia chatbota kluczowe jest przygotowanie zestawu pytań benchmarkowych, które pozwolą ocenić, jak dobrze radzi sobie aktualna wersja rozwiązania. Pytania te powinny odzwierciedlać najczęściej zadawane zapytania w danym kontekście i obejmować możliwie jak najszerszy zakres potencjalnych zastosowań chatbota.
Gdy posiadamy taki zestaw pytań benchmarkowych i chatbot osiąga 80% skuteczności, każda zmiana, która obniża ten wynik, na przykład do 60%, nie powinna być wdrażana (nawet jeśli naprawia błąd, który ktoś zgłosił). Odpowiednio dobrany zestaw pytań benchmarkowych stanowi więc skuteczną ochronę przed wprowadzeniem regresji do chatbota.
Przykład:
Pytanie: Jak mogę skontaktować się z sekretariatem?
Kryteria oceny:
Tego typu pytań powinno być jak najwięcej, a ich minimalna liczba zależy od poziomu skomplikowania i zakresu wiedzy, jaką chatbot powinien obejmować. Z naszego doświadczenia wynika, że liczba pytań benchmarkowych raczej nie powinna być mniejsza niż 15, a w bardziej złożonych przypadkach może wynosić nawet 50.
We wszystkich rozwiązaniach opartych na generatywnej sztucznej inteligencji testy benchmarkowe odgrywają kluczową rolę w ocenie, czy wprowadzone zmiany faktycznie ulepszają system. Bez nich rozwój narzędzi opierałby się wyłącznie na subiektywnym „wydaje mi się” programisty, co mogłoby prowadzić do stagnacji i powtarzania tych samych błędów zamiast rzeczywistego postępu.
Wróćmy do przykładu omawianego wcześniej: mimo włożonej pracy i serii doraźnych poprawek chatbot ostatecznie działał gorzej niż przed rozpoczęciem modyfikacji. Tego właśnie można było uniknąć, gdyby zastosowano dobrze zdefiniowany zestaw testów benchmarkowych.
Testy te są szczególnie istotne w przypadku chatbotów, ponieważ systemy RAG (o których można przeczytać w innych artykułach na naszym blogu), oferują ogromne możliwości konfiguracji. Różne konfiguracje sprawdzą się w odmiennych zastosowaniach – na przykład inna konfiguracja będzie odpowiednia dla chatbota pomagającego w wyborze ścieżki kariery (gdzie bazą wiedzy jest jeden duży PDF), a inna dla chatbota doradzającego w zakupie podzespołów komputerowych (gdzie bazą wiedzy jest specyfikacja tysięcy produktów). Bez testów benchmarkowych trudno jest obiektywnie ocenić, która konfiguracja najlepiej spełnia wymagania danego zastosowania.
Omówiliśmy już, że liczba przypadków testowych w testach benchmarkowych może sięgać nawet 50 przykładów. Czy to oznacza, że każda zmiana konfiguracji wymaga ręcznego testowania i oceny wszystkich 50 pytań? Oczywiście, że nie! Współczesne modele językowe (LLM) są wystarczająco zaawansowane, by automatycznie ocenić, czy dana odpowiedź spełnia określoną specyfikację. Dzięki temu możliwa jest pełna automatyzacja procesu testowania.
W stworzonym przez nas Chatbocie AI - X-TALK (więcej informacji można znaleźć tutaj: X-TALK – Inteligentna automatyzacja oparta o dane) zaimplementowaliśmy właśnie taką funkcjonalność. Nowi klienci mają możliwość zdefiniowania pytań benchmarkowych wraz ze specyfikacją odpowiedzi i mierzenia skuteczności aktualnej konfiguracji chatbota.
Dzięki temu, zamiast tracić długie godziny na ręczne testowanie i poprawki, narzędzie X-TALK umożliwia szybkie i efektywne dostarczenie dobrze działającego chatbota AI, który spełnia oczekiwania użytkowników.
Chcesz przetestować X-TALK? Napisz do nas!