Moment, w którym do naszego zespołu dołączyła Asystentka AI
Moment, w którym do naszego zespołu dołączyła Asystentka AI
Gdy ktoś pyta mnie o moje doświadczenia związane z AI, odpowiadam jednym zdaniem: Zmieniło się wszystko. Kilka miesięcy wspólnie z Grzegorzem, niemal całkowicie skierowaliśmy naszą uwagę w stronę GPT-3. Jednak zamiast skupiać się wyłącznie na jego możliwościach, połączyliśmy je z naszą rzeczywistością — automatyzacjami i programowaniem. Tak urodziła się koncepcja Asystenta AI, którego możemy poprosić nie tylko o odpowiedzi, ale także o podjęcie działań!
Na przykładzie wielu produktów, które do tej pory stworzyliśmy, pokazaliśmy, że nasze najlepsze rozwiązania projektujemy w taki sposób, aby móc dzielić się nimi z innymi. Nie inaczej było tym razem, o czym możesz się przekonać w najnowszym wpisie Grzegorza o pracy z Asystentem AI, którego stworzyliśmy i nadal rozwijamy.
W tym wydaniu podzielę się z Tobą, moimi doświadczeniami z ChatGPT, które zarysują Ci, jak może wyglądać Twoja praca, gdy do Twojego zespołu dołącza AI. Będzie to także przegląd możliwości ChatGPT sięgających znacznie dalej niż generowanie tekstu.
Witaj w zespole!
Pamiętasz swoje pierwsze spotkanie z ChatGPT? U mnie była to rozmowa na temat tego, jak mógłby wyglądać Świat, w którym niektóre z praw fizyki działają odwrotnie, lub w ogóle nie istnieją. Kilka chwil później skorzystałem z nieoficjalnego sposobu na podłączenie ChatGPT z własną aplikacją. Tym samym niemal natychmiast oferowane przez niego możliwości, stały się dla mnie dostępne w dowolnej aplikacji oraz w telefonie.
Podobała mi się idea w której nie jestem ograniczony przeglądarką a ChatGPT potrafi odpowiedzieć na moje pytania, również w formie głosowej. Przykładowo w tym filmie pokazałem jak zbudować makro, które daje taką możliwość w systemie macOS. W e-booku Codzienność z GPT-3 opisałem i udostępniłem prostsze oraz posiadające większe możliwości wersje.
Dziś coraz więcej narzędzi oferuje podobne możliwości. Jednym z nich jest Raycast AI czy nasz asystent. Funkcje AI wprowadziły m.in. Notion i nie rzadko stały się powodem do zwiększenia ceny abonamentu bądź w ogóle wprowadzenia dodatkowych opłat za korzystanie z produktu.
Pracując w ten sposób, niemal natychmiast zauważyłem pewne ograniczenia, oraz potencjalne szanse, które mogę wykorzystać. Wystarczyło znaleźć sposób na to, aby je ominąć. Mam tutaj na myśli głównie unikanie odpowiedzi na niektóre z moich pytań oraz generowanie całkowicie oderwanych od rzeczywistości wyników. Jednak najbardziej rażące było dla mnie to, że nie miałem dostępu do najnowszych danych oraz żadnych informacji na mój temat. Stanowiło to dla mnie poważny problem, ponieważ pracuję głównie z najnowszymi narzędziami oraz technikami, o których ChatGPT zwyczajnie nie wiedział. W pewnym momencie dążyłem do tego, aby mu je wyjaśnić podczas rozmowy, ale było to niezwykle uciążliwe. Potrzebowałem pełnego dostosowania do mnie.
Poznajmy się bliżej
Zapytania, które kierujemy do ChatGPT są ograniczone liczbą znaków (a konkretnie liczbą tzw. tokenów). Dlatego nie możemy ot tak przekazać do rozmowy wszystkich informacji o naszej firmie czy narzędziach z którymi pracujemy. W grę wchodzi także poufność danych. Można więc stwierdzić, że ChatGPT w takich sytuacjach jest bezużyteczny. Można też poszukać głębiej i dojść do rozwiązania. Wówczas szybko okaże się, że takie rozwiązanie faktycznie istnieje, ale wymaga umiejętności programistycznych lub przynajmniej znajomości narzędzi no-code (co pokazuję w kursie o osobistym asystencie AI).
W dużym uproszczeniu chodzi o to, aby do naszych zapytań, które przesyłamy do ChatGPT, automatycznie dodawany był kontekst, który pozwoli na nie odpowiedzieć w sposób najbardziej zbliżony do prawdy. W praktyce są to 2-3 notatki o długości maksymalnie kilkuset znaków, pochodzące z naszej własnej bazy wiedzy. Spójrz na obrazek poniżej. Na pytanie "Kim jest Alexa?", otrzymałem odpowiedź o asystencie głosowym:
Jednak gdy aktywowałem opcję "pamięci" połączonej z informacjami na mój temat, otrzymałem odpowiedź, że Alexa to mój pies!
Możesz łatwo wyobrazić sobie, że podobny mechanizm można zastosować w kontekście biznesowym oraz codziennej pracy. Wszystko jest uzależnione od źródła wiedzy oraz celu jaki chcemy osiągnąć. Dokładnie w ten sposób pracuję z ChatGPT, który jest spersonalizowany do moich potrzeb. Zwracane odpowiedzi uwzględniają najnowsze informacje na temat wykorzystywanych przeze mnie narzędzi. Wystarczy, że przynajmniej raz powiem, aby konkretne informacje zostały zapamiętane, a potem mogę do nich wracać w dowolnej formie. Nic też nie stoi na przeszkodzie, aby wgrać całą bazę wiedzy lub zbudować aplikację, która zawsze będzie pracować na dynamicznych danych.
Np. mogę poprosić o napisanie krótkiej notki na temat easy__ i otrzymam odpowiedź, która przedstawi jeden z naszych projektów. Wystarczy, że raz w przeszłości napisałem: "Zapamiętaj, to: (informacje o easy__)".
Interesujące jest to, że zwracana odpowiedź odbywa się w kontekście bieżącej rozmowy. Oznacza to, że mogę poprosić o poprawienie tej wypowiedzi:
Jedną ze szczególnych cech ChatGPT jest rozumienie wielu języków. Zatem gdy tylko mam taką potrzebę, mogę poprosić w języku polskim o zwrócenie tłumaczenia (lub prowadzić w ten sposób całą dyskusję):
Powyższy mechanizm niemal w pełni wykorzystuje wiedzę, którą przekazałem w kursie o tworzeniu własnego Asystenta AI. Bez wchodzenia w techniczne szczegóły, mówimy tutaj o zastosowaniu wyszukiwania, które na podstawie bieżącej rozmowy odnajdują fragmenty notatek, które są pomocne do udzielenia odpowiedzi.
To właśnie dzięki temu na zadane pytanie o projekt "easy_", nie musiałem dostarczać żadnych dodatkowych informacji, ponieważ zostały wyszukane i uwzględnione w zapytaniu w sposób automatyczny.
Jeżeli potrafisz programować lub masz dostęp do zespołu programistów, zainteresują Cię słowa kluczowe takie jak: Embedding, Similarity Search oraz In Context Learning. Sam korzystam bezpośrednio z najnowszego modelu GPT-3.5 Turbo, lokalnej bazy danych oraz bazy Pinecone, dzięki której odbywa się także samo wyszukiwanie informacji.
Możesz także dołączyć do listy oczekujących na stronie https://getmonday.app, bo niebawem będziemy udostępniać aplikację do pierwszych osób.
Czy możesz to dla mnie zrobić?
Na ten moment, ciągle mówimy o generowaniu tekstu. Jednak nic nie stoi na przeszkodzie, aby wygenerowaną odpowiedź od razu opublikować w mediach społecznościowych, wygenerować na jej podstawie grafikę czy dodać jako notatkę do Notion. Wystarczy jeden przycisk:
Jak widać, "magicznie" asystent na tak zadane pytanie odpowiedział, że dodał notatkę do Notion. Tylko w jaki sposób?! Odpowiedzią jest integracja, którą zaprojektowałem, polegająca na stworzeniu komunikacji pomiędzy odpowiedziami generowanymi przez asystenta, z faktycznymi aplikacjami oraz automatyzacjami. Coś takiego było możliwe dzięki połączeniu GPT-3 z programowaniem. Napisany kod był odpowiedzialny za wysłanie zapytania, a GPT-3 za wygenerowanie treści do niego.
Okazuje się zatem, że możliwości GPT-3 nie kończą się na generowaniu tekstu, ale mogą sięgać znacznie dalej, dzięki połączeniu z kodem aplikacji. Szczegółom technicznym takiego rozwiązania, będziemy przyglądać się w Newsletterze eduweb, w specjalizacji Full-Stack.
Z biznesowego punktu widzenia wystarczy sama świadomość możliwości, polegającej na dostosowaniu ChatGPT do kontekstu Twojej firmy oraz integracji z Twoją aplikacją. Samo połączenie jest dość naturalne, ponieważ pisanie zapytań (promptów) realizujących zadania, takie jak to opisane powyżej, bardzo przypomina programowanie. Trudnością jest jednak fakt, że GPT-3 nie jest deterministyczny. Oznacza to, że nie można mieć 100% pewności, że wygenerowana odpowiedź będzie taka sama dla takich samych zestawów danych. W przypadku gdy od odpowiedzi zależy działanie aplikacji, może dojść do popełnienia błędów, które należy odpowiednio obsłużyć.
Jeżeli jednak uda nam się to wszystko połączyć, otrzymujemy funkcjonalności znacznie wykraczające poza możliwości programowania jakie znaliśmy do tej pory. Nagle okazuje się, że ChatUI (interfejs oparty o czat) zyskuje szczególne znaczenie. Przykładowo dane zapisywane w CRMie mogą być zapisywane przez naturalny język, bez konieczności ręcznego wpisywania. Dzięki temu znacznie łatwiej jest zachować odpowiednią strukturę i porządek. Dowodem tego, o czym właśnie piszę jest projekt HubSpota, który robi dokładnie to!
Możliwości i ograniczenia
Jak zwykle zależy mi na tym, aby przedstawić różne strony tego samego tematu, aby pomóc Ci samodzielnie podejmować właściwe dla Twojego biznesu decyzje. Myślę, że na ten moment wystarczająco pokazałem niesamowite możliwości, z których wspólnie z Grzegorzem korzystamy już teraz. Co więcej, mamy ogromne plany wobec tego projektu i gdy je zrealizujemy, z pewnością będziemy o tym informować.
Tymczasem przede wszystkim polecam zapoznać się z moim wpisem, który pozwoli odpowiedzieć na pytanie: "Czy GPT-3 w Twojej firmie ma sens?". Wskazałem w nim bezpośrednie wady i zalety wynikające z aktualnych możliwości GPT-3.
W sytuacji, gdy odpowiesz na powyższe pytanie twierdząco, z pewnością najważniejszą rzeczą jaką można zrobić, jest zwiększenie kompetencji własnych oraz swojego zespołu z zakresu AI. Można to zrobić na wielu poziomach, w zależności od stanowiska oraz doświadczenia konkretnej osoby. Dział Marketingu może poznać techniki konwersacji bezpośrednio z ChatGPT. Natomiast Dział Produktu może zająć się tematem zaawansowanych integracji czy nawet projektowania własnych rozwiązań na podstawie dostępne na rynku rozwiązania.
W tym wszystkim jedną z największych szans oraz jednocześnie trudności jest tempo w jakim rozwija się AI. Mniej więcej w 2019 roku ten temat znacznie przyspieszył. Podczas prezentacji, jeden z profesorów Uniwersytetu Stanford przedstawił następujący slajd pokazujący tempo rozwoju LLM (między innymi GPT) na przestrzeni 5 ostatnich lat.
Ostatnie modele takie jak GPT-3 czy PaLM do zaprezentowania wymagałyby 5000x wyższego slajdu. Trudno powiedzieć czy tak drastyczne tempo zostanie utrzymane, bo jest wiele wskazówek sugerujących zarówno pozytywną, jak i negatywną odpowiedź. Jednak przekładając to na kontekst biznesowy, mówimy o sytuacji w której niezwykle istotną rolę odgrywa zwinność oraz niezwykle szybkie dopasowanie się do tego, co jest. Zupełnie inaczej wygląda także zdolność do przewidywania kolejnych kroków, ponieważ jeszcze trudniej jest określić, co przyniesie najbliższa przyszłość.
Co można zrobić?
Nie potrafię odpowiedzieć jednoznacznie na to pytanie. Myślę, że dla każdego będzie to bardzo indywidualne. Dlatego podzielę się swoją perspektywą, którą być może będziesz w stanie wykorzystać w swoim biznesie czy codziennej pracy.
- Zdolność interakcji (np. umiejętność pisania promptów)
- Eksploracja unikatowych możliwości (np. podejmowanie akcji)
- Sposoby integracji (np. jak połączyć AI z sobą samym)
- Personalizacja (np. jak dostarczać własne dane)
- Głębokie zrozumienie (np. sięganie po naukowe publikacje)
- Produktyzacja (np. jak AI może rozszerzyć ofertę firmy)
- Zwinność (np. jak zwiększyć efektywność odkrywania nowych możliwości)
Mniej więcej w tych 7 punktach sam się poruszam. Nieustannie docieram do nowych źródeł, ludzi oraz firm, które pomagają mi niemal natychmiast zyskać głębokie zrozumienie tego, jak działa obecna technologia. Szczególne znaczenie zyskuje tutaj poszukiwanie odpowiedzi na pytanie: Jak GPT-3 może pomóc mojej firmie?