AI jest super! Tylko że nie

Ostatnie miesiące to kompletne szaleństwo związane z różnymi zabawkami opartymi na sztucznej inteligencji udostępnionej „szerokiej publiczności”. Podobno pomogą nam z pisaniem tekstów, kodu, oraz tworzeniem obrazów.

Niejednokrotnie przyszło mi dyskutować z fanem randomowych obrazków, powstałych bez poczucia perspektywy i sensu, gdzie można dostać pseudoładny bohomaz, ale i można dostać horrorem z dziurami w miejscu oczu lub trzema rękami. Nie mówiąc o zwyczajowym rozmazywaniu palców lub błędnej ich liczbie. Przyznaję, mają pewien nastrój creepowatości – właśnie dlatego że są rysowane przez kogoś bez poczucia grozy, śmieszności, perspektywy – po prostu jest to stałe przebywanie w uncanny valley, co niektórym się podoba.

Po serii obrazków i „avatarów” generowanych przez różne aplikacje i online’owe usługi przyszła kolej na ChatGPT, udostępniony przez OpenAI. Mam wrażenie że większość osób, które zachwyciły się tą technologią, nie rozumie jak ona działa. Mielenie napisanych już tekstów na zasadzie analizy prawdopodobieństwa biorą oni za kreatywność.

Jest OK, postarane

ChatGPT często konfabuluje i wprowadza w błąd. Zapytany o wygląd Billa Gatesa odpowiada, że nosi on biznesowe garnitury i kozią bródkę. Konia z rzędem temu, kto odnajdzie zdjęcie Billa Gatesa z kozią bródką!

Po zwróceniu uwagi, pisze „masz rację”. Jak to sprawdził? To tylko słowa, nie stoi za tym żaden proces wzbogacania wiedzy.

Internet zaroił się od poradników pisania artykułów, reklamowych copy oraz scenariuszy do filmów na YouTube za pomocą ChatGPT. Dodatkowo, podobno to doskonałe narzędzie do pisania kodu, który zastąpi programistów, bądź przynajmniej doskonale ich w programowaniu wspomoże.

ChatGPT pisze kod

Postanowiłem to sprawdzić. Jednym z newsletterów, jaki subskrybuję jest Daily Coding Problem, który wysyła, zgodnie z nazwą, codziennie programistyczne zadanie w stylu takich zadawanych na rozmowach kwalifikacyjnych. Zadania te zaliczane są do trzech kategorii: łatwe, średnie i trudne.

Kilka dni temu zadanie polegało na napisaniu programu, który po podaniu godziny (w formacie hh:mm), podawałby kąt jaki jest pomiędzy wskazówkami zegara o tej godzinie. Jest to dość proste – i dlatego zaliczone zostało do zadań łatwych. Zadanie zawierało bonusowe pytanie: sprawdź, dla jakich godzin kąt wynosi zero. Czyli: dla nas ludzi, kiedy wskazówki się pokrywają. Jednak dla „sztucznej inteligencji”, która jest czysto językowym modelem, nie istnieje żaden model działania zegara. Potrafi jedynie przemielić wcześniejsze wypowiedzi ludzi na temat zegarów.

Poprosiłem ChatGPT o rozwiązanie w C#. Napisał kod, który był OK jako rozwiązanie i dodał:

Jeśli chodzi o zadanie dodatkowe, to kąt między wskazówkami będzie wynosił zero o 12:00 lub 0:00.

W ChatGPT można zadawać pytania uściślające, a nawet poprawiać AI (która chyba zawsze zakłada że masz rację). Powiedziałem więc, że moim zdaniem wskazówki nakładają się co godzinę. AI odleciała, mówiąc że w sumie mam rację, wskazówki nakładają się na siebie o każdej okrągłej godzinie (co jest nieprawdą: np. o godzinie 3:00 długa jest na 12, a krótka na 3).

Podała też nową wersję kodu (z tym błędnym założeniem).

Po kolejnym sprostowaniu z mojej strony, kod podany przez AI już był zupełnie błędny (zakładał, że wskazówki się nakładają zawsze, gdy liczba określająca minuty jest… podzielna przez 12. Nie wiem zupełnie, skąd to wziął.

Jakie z tego wnioski?

Jakie konkluzje można wyciągnąć z tego krótkiego eksperymentu? Mam wrażenie że tego typu modele (udostępnione publicznie), nie są jeszcze gotowe do produkcyjnego użycia. Ze względu jednak na ich popularność, ludzkie lenistwo, oraz powszechność propagowania ich (są już nawet płatne kursy: „jak zarobić milion monet pisząc bloga za pomocą ChatGPT”), możemy się spodziewać natłoku kiepskich, nie sprawdzonych treści w Internecie.

Dodatkowo, mam wrażenie, że AI dobrze sobie radzi ze zgeneralizowanymi i dookreślonymi zadaniami programistycznymi. Z zadaniami typu „przeszukaj drzewo binarne” czy „posortuj tablicę” radzi sobie znakomicie. Gdy jednak trzeba dokonać abstrakcji czegoś realnego (ot, choćby tarczy zegarka), to może na tym wciąż polec.

Autor: Hubert Taler

Father, husband, software engineer, manager, author and blogger.

Jeden komentarz

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *