Brzmi kusząco prosto: wgrywasz kilka firmowych dokumentów do ChatGPT, zadajesz pytanie i otrzymujesz precyzyjną odpowiedź opartą na Twoich danych. Rzeczywistość jest jednak znacznie bardziej brutalna. To naiwne wyobrażenie to jeden z najczęstszych mitów dotyczących technologii zwanej RAG (Retrieval-Augmented Generation) – a firmy, które w niego wierzą, dziwią się później, dlaczego ich „chatbot AI” po kilku tygodniach zaczyna halucynować, ignorować połowę dokumentów albo odpowiadać zupełnie nie na temat.
Prawda jest taka, że działający system RAG to nie jednorazowa integracja, lecz przemyślana architektura złożona z kilku ruchomych elementów, z których każdy może całość albo podnieść na wyższy poziom, albo po cichu zepsuć.
Zrozumienie prawdziwej architektury RAG decyduje o tym, czy Twój projekt AI będzie wiarygodny, czy stanie się firmową wpadką. Ma bezpośredni wpływ na:
Przyjrzyjmy się więc temu, co naprawdę kryje się pod powierzchnią „prostego” systemu RAG.
Zanim dokument w ogóle trafi do systemu, musi zostać podzielony na mniejsze fragmenty – tzw. chunki. Jeśli są zbyt duże, model otrzymuje niepotrzebny „szum” i marnuje pojemność context window na nieistotne informacje. Jeśli są zbyt małe, gubi się ważny kontekst, a zdanie wyrwane z kontekstu może całkowicie zmienić znaczenie. Ta pozornie trywialna czynność jest jedną z najczęstszych przyczyn awarii całego systemu.
Każdy chunk zamieniany jest na embedding – liczbową reprezentację jego znaczenia – i zapisywany w bazie wektorowej. Gdy użytkownik zadaje pytanie, system szuka chunków o najbardziej zbliżonym znaczeniu. Problem w tym, że „podobny” nie zawsze oznacza „właściwy” – model może znaleźć tekst, który brzmi trafnie, ale w rzeczywistości odpowiada na zupełnie inne pytanie.
Zaawansowane systemy RAG dodają dlatego kolejny krok – reranking, w którym znalezione kandydackie fragmenty tekstu są ponownie oceniane przez bardziej precyzyjny, choć bardziej wymagający obliczeniowo model, który wybiera naprawdę najistotniejsze części. Bez tego kroku do finalnej odpowiedzi łatwo trafia tekst, który jedynie przypomina odpowiedź, ale merytorycznie się z nią nie wiąże.
Dokumenty się zmieniają, są usuwane, zastępowane nowszymi wersjami. Bez procesu regularnej aktualizacji bazy wektorowej system z czasem zaczyna pracować na nieaktualnych lub sprzecznych informacjach – a nikt może tego nie zauważyć, dopóki nie dojdzie do poważnego błędu.
Nawet najlepiej znalezione dane są bezużyteczne, jeśli model nie otrzyma jasnej instrukcji, co z nimi zrobić – kiedy ma trzymać się ściśle dokumentów, kiedy może uzupełnić odpowiedź własną wiedzą i jak ma reagować, gdy odpowiedzi w dokumentach po prostu nie znajdzie.
Jeśli chcesz zrozumieć, jak naprawdę działają narzędzia AI i jak wdrożyć je praktycznie, bez konieczności umiejętności programowania, oferujemy jednodniowy kurs „Praktyczne wprowadzenie do sztucznej inteligencji (AI) bez wcześniejszej wiedzy”. Podczas kursu nauczysz się pracować z OpenAI i Deepseek, przećwiczysz prompt engineering na realnych przykładach, wytrenujesz własny model AI bez pisania kodu za pomocą DataRobot i Google Colab, a jako bonus poznasz też narzędzia AI dostępne w AWS.
Zwykle dlatego, że wyszukiwanie nie dostarczyło naprawdę istotnego kontekstu, albo model otrzymał niejasną instrukcję, jak postąpić ze znalezionymi danymi.
Przy niewielkiej liczbie krótkich dokumentów może to krótkotrwale zadziałać, ale przy większej ilości danych lub wyższych wymaganiach co do dokładności szybko napotyka ograniczenia.
Najlepiej sprawdza się przy dokumentach tekstowych. Przy danych tabelarycznych lub silnie ustrukturyzowanych często efektywniej jest połączyć RAG z innymi podejściami.