W stronę nowych interfejsów dla AI
Pisałem niedawno o funkcjonalności Artefakt, którą do swojej platformy dołożyła firma Anthropic. Artefakt jest w stanie tworzyć proste interaktywne aplikacje i wizualizacje, które można zamknąć w jednym pliku HTML i wysłać komuś mailem. Ciężko stwierdzić, czy ten typ interakcji z modelami GenAI się przyjmie, natomiast bez wątpienia był to powiew świeżości i nowego podejścia do interfejsów z AI.
Dzisiaj chciałbym opowiedzieć o kolejnym tego typu narzędziu - Wordware AI.
Zespół Wordware podszedł do kwestii interakcji z (wielomodalnymi) modelami językowymi w nowy sposób. Odszedł od interfejsu “czatowego” - zdając sobie pewnie sprawę, że większość czatów jest i tak jednorazowa - i zabrał się na poważnie za problem, który firma OpenAI próbowała rozwiązać umożliwiając swoim użytkownikom tworzenie własnych asystentów GPT.
“Custom GPT” na platformie OpenAI to model, który rozpoczyna czat zgodnie z Twoją instrukcją. Niestety, sterowalność takiej konwersacji jest mała. Dlatego też firma OpenAI sugeruje, żeby tworzyć własne GPT obejmujące wyłącznie małe, dobrze definiowane zadania i łączyć je potem w dłuższe procedury “wołając” do konwersacji kolejne GPT (przez znak “@”, jak na obrazku poniżej).
Wordware przeniósł ten koncept na zupełnie nowy poziom
Tworzenie procedur w interfejsie Wordware jest tak samo proste jak pisanie instrukcji dla ludzi. Piszemy krok po kroku, co należy zrobić i precyzyjnie wskazujemy, gdzie AI ma “zainterweniować”, tj. wygenerować jakiś tekst lub obrazek zgodnie z instrukcją.
Przejdźmy przez to na prostym przykładzie (proces zmyśliłem, w praktyce wygląda on trochę inaczej, ale przynajmniej jest łatwy do wytłumaczenia).
Załóżmy, że mamy zadanie napisać plan rozwoju pracownika, który właśnie został przyjęty do pracy. Zróbmy z tego w miarę ogólny proces, żebyśmy nie musieli pisać instrukcji od zera następnym razem.
Na początek potrzebujemy CV pracownika, stanowisko oraz rodzaj firmy, żeby model mógł przejąć inicjatywę. Klikamy w systemie Wordware “New prompt”, który nazywamy “Program rozwoju pracownika”:
Po prawej stronie mamy przycisk “add”, którego używamy, żeby dodać nasze informacje, jako zmienne. Pojawia się okno z prawej strony, w którym możemy podać, czy to zwykły tekst, dłuższy tekst, czy obrazek (więcej typów zmiennych pojawi się pewnie z czasem).
Tworzymy więc opisy tych wejść - CV pracownika, Rola pracownika i Rodzaj firmy.
I teraz zaczyna się magia, ponieważ bardzo precyzyjnie w instrukcji dla modelu możemy użyć tych wartości. Zacznijmy pisać:
Dla osób, które programują, to dość znana składnia. Dla pozostałych - coś czego można się nauczyć w 5 minut, bo to dość intuicyjne. Tworzymy proces, który za każdym uruchomieniem zapyta o CV pracownika, stanowisko i rodzaj firmy, a potem coś z tym zrobi.
Zwróćcie uwagę na koniec instrukcji na tym etapie - można byłoby po prostu dać te trzy informacje i powiedzieć modelowi językowemu “zrób plan rozwoju”. Ale chcemy być trochę sprytniejsi. Przede wszystkim, informacje, które podaliśmy to trochę za mało, żeby zrobić plan, który będzie wystarczająco specyficzny. Dlatego biorąc pod uwagę stanowisko (np. specjalista ds. obsługi klienta, dyrektor ds. rozwoju, asystent zarządu) i typ/rodzaj firmy (np. mała firma prawnicza, międzynarodowa korporacja farmaceutyczna) prosimy model o zadanie dodatkowych pytań, specyficznych dla podanego kontekstu.
Naciskając “/” w interfejsie Wordware wyzwalamy podręczne menu, które pozwala nam dodać do instrukcji różnego rodzaju kroki:
W tym konkretnym przykładzie użyjemy najpierw “Generation” (woła model językowy) a później “Ask a human”. Co one zrobią? Spójrzcie:
Krok 1: zapytaj użytkownika o CV pracownika, stanowisko i rodzaj firmy (zmienne, które sami zdefiniowaliśmy).
Krok 2: poinstruuj model językowy, że na podstawie stanowiska i rodzaju firmy, ma wygenerować dodatkowe pytania dla użytkownika.
Krok 3: AI generuje pytania (w tym przypadku wybraliśmy GPT-4o)
Krok 4: użytkownik widzi okno, które pozwoli mu odpowiedzieć na zadane pytania.
Co się wydarzy, jeśli uruchomicie taki proces? Pojawi się okno z pytaniem o te trzy początkowe informacje a potem kolejne kroki będą uruchamiane zgodnie z naszą instrukcją (zaznaczyłem, gdzie Wordware podmienił w instrukcji nazwy zmiennych na to, co wpisałem w oknie):
Tego rodzaju proces można ciągnąć dalej, jak na obrazku poniżej, gdzie łącznie mamy dwie rundy, gdzie kontekstowo AI dopytuje użytkownika o potrzebne szczegóły (a my nie musieliśmy wymyślać pytań) i na koniec, na podstawie zebranych informacji generuje plan rozwoju.
Taki proces dałoby się uruchomić (z podobnym poziomem interaktywności) na platformie OpenAI, ale byłoby to mniej intuicyjne i, co bardzo ważne, dość uciążliwe w utrzymaniu. Wyobraźcie sobie, że dla każdego elementu tworzycie osobne GPT i potem jak coś chcecie poprawić, to po dwóch miesiącach będziecie sięgali do własnych notatek, bo nie będziecie pamiętali co, które GPT robi.
Interfejs Wordware daje podgląd całego procesu w jednym miejscu. Łatwo coś poprawić, wymienić. Wśród dostępnych funkcjonalności są np. pętle albo możliwość wykonywania w przeglądarce dowolnego kodu napisanego w języku Javascript (tego nie ma OpenAI) - daje to dużo większe możliwości jeśli chodzi o obsługiwane procesy. A tak napisane “aplikacje” można udostępniać po API, albo dla innych członków zespołu. I całość może zrobić osoba nietechniczna.
Wordware jest na początkowym etapie rozwoju - trzymam kciuki za firmę, bo tworzy interfejs z przyszłości. Takich pomysłów potrzebujemy w firmach, żeby wdrożenia AI były prostsze, a automatyzacja zadań była możliwa bez interwencji programistów.
Ciekawe niusy
Llama 3.1 to najnowszy model firmy Meta. Udostępniony został na otwartych licencjach, więc można go używać lokalnie (o ile ktoś ma odpowiednio duży serwer, żeby udźwignąć model, który ma w największej wersji 405 miliardów parametrów). Dla firm, którym zależy na prywatności, to może być świetna opcja, bo w testach największy model dorównuje czołówce (GPT-4o, Sonnet 3.5). Dobrą informacją dla nas jest również to, że w przeciwieństwie do modelu Llama 3 (udostępnionego kilka miesięcy temu), Llama 3.1 dobrze pisze po polsku. Przetestować możecie jak zwykle w serwisie LMSys, zakładka “Direct Chat” i potem trzeba wybrać z listy “llama-3.1-405b-instruct”. Przypomnę też znowu, że czaty z modelami w serwisie LMSys są zapisywane i używane do ewaluacji lub trenowania modeli - nie podawajcie wrażliwych informacji.