Paradoks genialnego stażysty – idioty. Czyli problem kontekstu w budowaniu asystentów AI
Wyobraź sobie następującą sytuację: jako właściciel niewielkiej firmy postanawiasz pewnego dnia, że zatrudnisz stażystę. Do pracy zgłasza się młody człowiek zaraz po studiach. Jego CV wygląda imponująco: zasady zarządzania i marketingu zna na poziomie najlepszego MBA, biegle włada 50-cioma językami i potrafi napisać poemat po chińsku, w suahili i w sanskrycie. Posiada również wiedzę na temat mikrobiologii, fizyki kwantowej oraz geologii Marsa, programuje w Python, Java oraz każdym innym języku i potrafi w pamięci rozwiązywać równania różniczkowe oraz zbadać monotoniczność i wypukłość funkcji. Ale to jedynie wybrane możliwości z zakresu jego zdolności.
Pomimo całego tego geniuszu i rozległej erudycji masz z nim jednak spory problem. Oto okazuje się, że ze wszystkim trzeba go prowadzić za rękę, a każde zadanie tłumaczyć jak sołtys krowie na miedzy. Mówisz mu więc np. „Przygotuj plan sprzedaży na kolejny kwartał”, a ten zamiast brać się do roboty bezczelnie nawija:
„Chętnie pomogę przygotować plan sprzedaży na kolejny kwartał. Aby stworzyć odpowiedni plan, potrzebuję od Ciebie kilku kluczowych informacji:
1. Jakiej branży działa Twoja firma i jakie produkty/usługi oferuje?
2. Jakie były Twoje wyniki sprzedażowe w poprzednich kwartałach?
3. Jaką masz obecnie wielkość zespołu sprzedażowego?
4. Czy są jakieś konkretne cele wzrostu, które chcesz osiągnąć?
Znając te informacje, będę mógł przygotować szczegółowy i realistyczny plan sprzedaży dostosowany do specyfiki Twojej firmy."
I po raz kolejny musisz mu tłumaczyć, że przecież produkujesz dietetyczną karmę dla kotów w tubkach. Że w poprzednim kwartale prawie nic się nie sprzedało ze względu na zły PR tubek jako takich, że zespół sprzedaży to zakładka na Allegro, a wzrost ma być jak największy rzecz jasna, bo znowu podnieśli ceny prądu i akcyzę na płynną żywność w tubkach. I ręce opadają – bo taki to miał być z niego genialny asystent AI, o jakim wszędzie wokół trąbią, a okazuje się, że żaden z niego pożytek, a tylko więcej roboty i frustracji.
Coś Ci to przypomina? Pewnie tak – bo właśnie w ten sposób wygląda wiele wdrożeń AI w organizacjach. I nie mam tu na myśli jakichś złożonych rozwiązań AI w rodzaju automatyzacji całych procesów, zaawansowanej predykcji danych, optymalizacji procesów produkcyjnych w czasie rzeczywistym, kontroli jakości z użyciem computer vision itd. Bo prostym wdrożeniem, na małą skalę, które przynosić będzie konkretne korzyści może być także wykorzystanie chatbotów - modeli takich jak Claude, Copilot, ChatGPT, Gemini itp.
Już jednak takie wdrożenia okazują się problematyczne i wiele firm już na tym etapie sceptycznie zaczyna traktować możliwości AI jako czegoś, co jest mało przydatne, niekonkretne i w zasadzie nie przynosi żadnych widocznych rezultatów. Wzywania pracy z LLM i bazującymi na nich asystentami są jednak dobrą ilustracją istoty większego spektrum problemów, z jakimi borykają się i borykać będą coraz częściej firmy próbujące wdrażać takie rozwiązania.
Analogia stażysty wydaje się tu o tyle trafna, że do AI często przykładana jest antropomorficzna miara – w potocznych opiniach i wyobrażeniach sztucznej inteligencji nadaje się konkretne cechy osobowości i np. określa ją jako „leniwą” albo „nadgorliwą” itp. I choć analogia ta fałszuje radykalnie naturę rozwiązań AI, to jednocześnie może ona być całkiem poręczna jako ilustracja zjawiska „zatrudniania nowych technologii”.
Bo w jaki sposób zatrudniać powinniśmy nowego pracownika – asystenta, który ma nas wspierać i pomagać w rozwiązywaniu codziennych problemów zawodowych? Istnieje w tym przypadku wiele zaleceń i reguł stosowanych np. przez działy HR w tzw. procesach onboardingowych. Uruchamiane są one wówczas, gdy na pokładzie firmy ląduje zupełnie nowa osoba, którą szybko i skutecznie trzeba wdrożyć w codzienne obowiązki, a jednocześnie zintegrować z zespołem, nauczyć tzw. kultury organizacyjnej, a dodatkowo dyskretnie wytłumaczyć, że np. szef nie lubi jak się do niego mówi na Ty – chociaż sam do tego zachęca...
Popatrzmy zatem na kluczowe reguły skutecznego onboardingu i spróbujmy je odnieść do zatrudniania AI asystentów (na razie dla ułatwienia tylko asystentów, ponieważ zatrudniając tzw. agentów problemów będzie znacznie więcej).
Stażysta zatrudniany do pracy najczęściej coś już wie na temat miejsca, w którym zamierza pracować – znana mu jest nie tylko nazwa firmy i rodzaj prowadzonej działalności, ale może też mieć jakieś pojęcie na temat jej historii, pozycji na rynku, tego z kim dana firma konkuruje, jakie ma ambicje co do przyszłości itp.
ChatGPT, Claude czy inny model nie mają zielonego pojęcia, kto właśnie usiadł z drugiej strony i wpisał w okienko konwersacji zdanie w rodzaju: „W jaki sposób możemy zredukować koszty produkcji?”. Na pytanie tego rodzaju zacznie odpowiadać niczym Pytia – innymi pytaniami lub odpowie bardzo konkretnie ale zupełnie nieadekwatnie przytaczając np. fikcyjny case study jako ilustrację danego problemu. No bo co to w zasadzie oznacza „możemy”? Chodzi tu o my – ludzie, my – przedsiębiorcy, my – zarząd, my – pracownicy czy my – dostawcy? Itp. itd. Podobnie będzie zresztą z każdą inną częścią takiego zapytania (promptu). O jakie koszty chodzi i jaki stopień redukcji? W jakim czasie ta redukcja ma nastąpić i w jakich obszarach?
Kwestia ta wygląda pozornie banalnie – ktoś mógłby powiedzieć, że przecież nikt o zdrowych zmysłach nie wpisuje tak ogólnikowych zapytań w ChatGPT sądząc, ze uzyska sensowną odpowiedź. Optymistów musze w tym miejscu rozczarować - otóż zdarza się, że niestety wpisuje. I to nie tylko wpisuje, ale nawet złości się później i tupie nogami, że „głupia AI nie rozumi nawet o co mi chodzi!”
Podobnie będzie w przypadku stażysty – jeśli nie zna on szczegółowego kontekstu zadania, jakie mu zlecimy, to albo zasypie nas tysiącem pytań, albo – aby ukryć niewiedzę i próbując zachować twarz – zrobi cokolwiek, a najczęściej coś zupełnie idiotycznego. Zanim więc wrzucimy go na głęboką wodę musimy mu cierpliwie wytłumaczyć… wszystko (!). Co jednak oznacza to "wszystko", okazuje się kwestią bardzo względną.
ChatGPT (czy każdy inny LLM) trenowany jest co prawda na miliardach tekstów i ma na pewno sporą (choć często ogólną i nieaktualną) wiedzę na temat firm takich jak Coca Cola, Tesla, Dell czy Danone. Niewiele jednak będzie mógł powiedzieć o lokalnym producencie blachodachówki z Kielc czy nowym zakładzie fryzjerskim z Zamościa. Wiedza rozległa i szeroka nie musi bowiem oznaczać wiedzy szczegółowej – adekwatnej do wąskich, lokalnych kontekstów.
Jeśli zatem chcemy aby model stawał się sensownym partnerem w prowadzonej konwersacji, to całą niezbędną – o nas samych – wiedzę musimy mu dostarczyć.
Najprostszym podejściem jest tu oczywiście skorzystanie ze różnych praktyk prompt engineeringu. Istnieje już wiele sprawdzonych technik pozwalających zwiększać trafność i użyteczność treści generowanych przez model poprzez właściwie konstruowane struktury promptów (monitów, zachęt, instrukcji itp.).
Skuteczność prompt enginneringu zależna jednak będzie od czasu, jaki poświęcimy na optymalizację struktur adekwatnych do naszych indywidulanych potrzeb. Ogólne schematy i przykładowe konstrukcje rzadko kiedy przynoszą wartościowe wyniki. Jedynym sposobem jest wówczas ciągłe eksperymentowanie, testowanie i doskonalenie promptów w kolejnych iteracjach. A i tak na koniec dnia okazuje się, że trzeba wszystko robić od nowa bo np. narzędzie zostało zaktualizowane lub z niewytłumaczalnych przyczyn model zaczyna zachowywać się w sposób zupełnie nieprzewidywalny. Prompt enginnering nie jest więc niestety magiczną różdżką, która w mgnieniu oka zamieni chatbota w sensownego asystenta.
Innym sposobem może być np. customizacja modelu i wykorzystanie np. funkcji w rodzaju: „Instrukcje niestandardowe – dostosuj chatbota”, w których możemy zawrzeć kluczowe informacje na temat tego kim jesteśmy, czym się zajmujemy, co jest dla nas ważne i w jaki sposób życzymy sobie, aby bot z nami rozmawiał. Tego rodzaju instrukcja ogólna ma jednak spore ograniczenia jeśli chodzi o limit długości (np. w ChatGPT jest to obecnie 1500 znaków). Możemy tam zatem umieścić jedynie najbardziej ogólne i zarazem istotne dla kontekstu informacje. W poszczególnych konwersacjach kontekst będziemy jednak musieli uzupełniać. Pamiętając jednocześnie, że rozmowa prowadzona w jednym oknie konwersacji również ma swoje limity „pamięci” (limit wielkości okna kontekstu – liczby tokenów jakie model jest w stanie jednorazowo przetwarzać).
Prowadząc więc długą „rozmowę” – serię pytań i odpowiedzi w pewnym momencie zauważymy, że model doznaje amnezji - nie pamięta tego, o czym np. rozmawialiśmy 30 wątków wcześniej.
Innym sposobem jest korzystanie z funkcji „Moje modele GPT” (ChatGPT) lub zakładanie odrębnych projektów – („Projects” w Claude). W tym przypadku możemy np. zdefiniować niezależną rolę modelu (np. „Asystent R&D, „Copywriter”, „Prokurent” itd.) i dla każdego sformułować odmienne instrukcje systemowe. W tym przypadku możemy również rozszerzać konteksty załączając modelowi różne dokumenty (Word, Excel, pdf.), w których znajdzie dodatkowe informacje.
Nawet jednak własne GPT mają swoje ograniczenia. I tak np. obecnie w ChatGPT możemy dodać maksymalnie 20 plików (każdy może mieć maks. 512 MB) zawierających łącznie do 2 mln tokenów. Dla użytkowników indywidualnych będzie to więc limit 10 GB (w planach dla organizacji do 100 GB.) W „Projektach” Claude z kolei umieścić możemy dowolną liczbę plików o maks. wielkości 30 MB, których wielkość nie przekroczy limitu 200 tys. tokenów (ok. 500 stron).
Czy to dużo, czy mało? Na to pytanie nie rzecz jasna odpowiedzi. Jeśli posiadamy np. tysiące ważnych dokumentów zawierających raporty, specyfikacji techniczne (np. związane z tysiącami SKU), bazy danych nt. klientów itp. to limity takie szybko się wyczerpią (kwestie bezpieczeństwa danych, legalności odłożymy na chwilę na bok).
Która strategia będzie bardziej efektywna?
Istnieją rzecz jasna rozwiązania pozwalające zasilać modele dowolną ilością danych (np. technologie RAG i zamiana dokumentów w wektorowe reprezentacje) czy szkolić je na włąsnych, specyficznych kontekstach (finetuning). Tego rodzaju rozwiązania będą jednak znacznie bardziej kosztochłonne i wymagać będą specjalistycznej wiedzy oraz zindywidualizowanych, dedykowanych rozwiązań.
Pozostając jednak w obszarze prostych wdrożeń AI generatywnej już tu widzimy, że bardzo często miną na jaką wdepnie organizacja będzie zakres i jakość zdygitalizowanej bazy wiedzy, którą firma dysponuje.
Podobnie, jak w przypadku stażysty, któremu zlecamy zadanie w rodzaju – „przejrzyj te dokumenty i zrób raport” – pierwsza rzecz, jaką zrobimy będzie wręczenie tychże dokumentów. Warunkiem zaś wręczenia będzie po prostu ich posiadanie…
I tu zaczynają się przysłowiowe schody. O ile bowiem firma posiada często bardzo dużo szczegółowej wiedzy na różne tematy, to wiedza ta nie zawsze jest sformalizowana i utrwalona na jakichkolwiek nośnikach – choćby na papierze. Częścią tej wiedzy są również różne zasady nieformalne, wypracowane przez doświadczenie, którymi kierują się pracownicy na zasadzie „u nas to zawsze tak się robi”, ale zasady te nie są w żaden sposób jawnie wyrażone, spisane czy utrwalone.
Inna rzecz, że wiedza organizacji to nie tylko posiadane informacje, zasady i reguły, ale również (a może przede wszystkim?) wyjątki, które tym regułom przeczą. Jeśli więc regułą jest, że klientom dajemy maks. 10% rabatu, to jednocześnie dla wszystkich jest jasne, że klient A otrzymuje 20% upustu ponieważ szef lubi jego dowcipy, a inny nie dostanie żadnego rabatu, bo dwa razy spóźnił się na spotkanie i podpadł na amen.
Nawet więc ludzkiemu stażyście zajmie trochę czasu zanim się rozezna w meandrach i subtelnościach organizacyjnych zasad i zachowań, a i tak będą one płynne i zmienne niczym rtęć ponieważ z dnia na dzień może się okazać, że ktoś inny opowiada zabawniejsze kawały, a ten, co celował w nich wczoraj spóźnił się już cztery razy więc „sami wicie, rozumicie…”.
Zasilenie asystenta AI odpowiednią bazą wiedzy jest więc tylko pozornie prostym zadaniem, które teoretycznie możemy zrobić „raz a dobrze” i mieć z tym święty spokój. Przygotowanie odpowiednich dokumentów (np. formatowanie i czyszczenie arkuszy excel, standaryzacja opisów itd.) to tylko drobna część takiego procesu. Nie rozwiązuje też ona problemu ciągłej aktualizacji i uzupełniania takiej bazy.
Kwestii tej nie ułatwia również fakt, że AI asystent w postaci chatbota nie wykazuje raczej chęci by uczyć się i zapamiętywać nową wiedzę. W przypadku rozwiązań interfejsowych nie mamy żadnego wpływu na proces jego treningu – wagi sieci neuronowych modelu zostały „zamrożone” i do kolejnej jego edycji (np. GPT-5 czy GPT-125) model wie to, co wie i działa, tak jak działa. Wspomniany finetuning może być częściowym rozwiązaniem, ale jeśli chcemy korzystać z najprostszych, ogólnie dostępnych narzędzi, to musimy liczyć się z tym, że przy specyficznych, nowych zadaniach kontekst modelu za każdym razem powinniśmy rozszerzać od nowa. I pod tym względem nasz wirtualny asystent wymagać będzie znacznie większego zaangażowania, opieki i nadzoru niż jego białkowy odpowiednik.
Jakie zatem informacje kontekstowe będą na początku niezbędne, by asystent w miarę szybko odnalazł się w nowych realiach? Czerpiąc inspirację z tradycyjnych procesów onboardingowych strukturę wiedzy wstępnej można by określić w sposób następujący:
Przedstawienie misji, celów i wartości firmy oraz kluczowych informacji na temat jej strategii, oferowanych produktów, klientów i otoczenia konkurencyjnego.
Objaśnienie struktury organizacyjnej i informacje na temat charakterystyki wewnętrznych procesów decyzyjnych.
Zapoznanie z wszelkimi zasadami nieformalnymi (trzeba je w tym przypadku niestety sformalizować).
Ustalenie planu działania dla naszego asystenta na kolejne, dni, tygodnie czy nawet miesiące oraz określenie celów i zadań oraz kamieni milowych w drodze ich realizacji.
Przygotowanie mu stanowiska i sprzętu – w przypadku asystenta AI będzie to np. konfiguracja systemu i interafejsów oraz integracja z obecną infrastrukturą i narzędziami IT.
Regularny feedback i monitoring postępów – nawet jeśli nasz asystent AI nie będzie się uczył i zmieniał, tak jak człowiek, to wciąż musimy weryfikować jakość i przydatność jego odpowiedzi i na tej podstawie np. modyfikować instrukcje systemowe lub uzupełniać albo zmieniać dostarczoną mu bazę wiedzy.
W tym oczywiście miejscu pojawia się pytanie: ale kto ma się tym w ogóle zajmować? Kto powinien zainwestować swój czas i wysiłek by np. tworzyć nawet prostego asystenta dla zespołu. W większych organizacjach problem będzie większy ponieważ tego typu rozwiązania, to również odpowiedzialność za ich wyniki. A odpowiedzialność jest fajna, ale pod warunkiem, że przerzuci się ją na inny departament.
Z drugiej strony każdy dział (np. IT, HR, administracja, logistyka, sprzedaż, marketing itp.) chce mieć na nowe rozwiązania, jak największy wpływ, choć jednocześnie może mieć zupełnie inne lub nawet sprzeczne interesy wobec innych działów. Multidyscyplinarne zespoły, zespoły projektowe i komitety zadaniowe mnożą się w takich przypadkach jak grzyby po deszczu, co nie zawsze oznacza, że projekty takie przynoszą jakikolwiek rezultat.
Inna rzecz, to pytanie: czy to się w ogóle opłaca – czy inwestycja np. w jakiś model i preparowanie specyficznych danych na jego potrzeby nie okaże się jutro inwestycją chybioną? Bo przecież w obszarze GenAI narzędzia i systemy mnożą się dziś szybciej niż króliki, ich funkcjonalności i możliwości stale ewoluują – więc może już jutro pojawi się system, który obecne zasady wywróci do góry nogami i trzeba będzie zaczynać od nowa? Może warto chwilę poczekać – popatrzyć co robią najwięksi, albo może najmniejsi i najbardziej ruchliwi i elastyczni? Zebrać więcej benchmarków, usecasów i mieć twarde dowody na rentowność takich inwestycji?
Z drugiej strony plotka gminna niesie, że konkurencja już to stosuje i pewnie właśnie dlatego w ostatnich miesiącach zabrali nam 0,5% udziału w rynku - zamiast więc czekać może warto wejść w to na całość i po prostu ich wyprzedzić?
Pytania i wątpliwości będę się tu jedynie mnożyć w przyspieszonym tempie, podobnie jak w coraz szybszym tempie konwergentne technologie AI, automatyzacji i robotyki będą penetrować kolejne sfery naszego życia.
Co zatem zrobić z tym całym AI?
Paradoks "genialnego stażysty idioty" pokazuje, że skuteczne wdrożenie nawet prostych narzędzi AI generatywnej w organizacjach wymagać będzie znacznie więcej niż tylko zakupu odpowiedniego narzędzia czy systemu i opłacenia subskrypcji. Wdrożenia takie stanowić będą w istocie długie procesy transformacji często dotykające samych fundamentów funkcjonowania firmy - od sposobu dokumentowania wiedzy poprzez procesy decyzyjne, aż po kulturę organizacyjną.
Ważnym czynnikiem sukcesu będzie tu też chyba poszukiwanie równowagi między ambicjami firm, a organizacyjnymi realiami. Wydaje się jednak, że bezruch i pasywność w tym zakresie nie będą raczej dobrą strategią – podobnie jak w przypadku innych technologii. Zamiast więc czekać na rozwiązania "idealne", „pewne” i „sprawdzone” warto zaczynać od małych kroków, ucząc się na własnych doświadczeniach i systematycznie budując kompetencje w zarządzaniu sztuczną inteligencją.
Identyfikacja "quick wins" - obszarów, gdzie AI może danej firmie szybko przynieść wymierne korzyści może być najlepszym punktem wyjścia. By jednak takie obszary zidentyfikować, potrzebna jest solidna analiza i refleksja (czytaj: czas i zasoby) pozwalająca zrozumieć i opisać cały istotny kontekst, by na tej podstawie formułować zadania i instrukcje wdrożeniowe.
Kto jednak ma dziś czas na jakąkolwiek refleksję?
A może niech zrobi to nowy asystent-stażysta?
Marek Staniszewski
Heuristica
Σχόλια