ChatGPT - czy to początek końca programistów?

ChatGPT - nowe narzędzie, które zostało zaprezentowane przez OpenAI - czyli dostawcę sztucznej inteligencji, która może generować i przetwarzać tekst. Narzędzie to może generować również kod źródłowy. Czy to początek końca programistów?

ChatGPT - czy to początek końca programistów?

ChatGPT - nowe narzędzie, które zostało zaprezentowane przez OpenAI - czyli dostawcę sztucznej inteligencji, która może generować i przetwarzać tekst. Cała koncepcja polega na tym, że wysyłając do modelu jakiś tekst, algorytm może się z nami porozumiewać. Może odpowiadać, przygotowywać tekst, o który go poprosimy, wchodzić z nami w interakcję. Innymi przykładami produktów OpenAI są GTP3 - czy model przetwarzania języka naturalnego oraz DALL-E 2 - generator obrazu. Rozwiązanie to jest w stanie generować obraz na podstawie tekstu naturalnego, który może wyglądać jak dzieło sztuki!

Dzięki tej implementacji powstał jeszcze jeden ciekawy koncept - Copilot Githuba, w którym wykorzystano model przygotowany przez OpenAI i wytrenowano go do tego, aby był on w stanie podpowiadać nam kod. Do wytrenowania modelu użyto kod, który jest publicznie dostępny na repozytoriach GitHub. O samym Copilocie macie w internecie bardzo dużo informacji i warto je poczytać.

Jednak nowym pomysłem firmy OpenAI jest udostępnienie światu dostępu do ChatGPT. Polega to na tym, że OpenAI przygotowała nieco mniejszy model od modelu GPT3, którego głównym zadaniem jest jak najlepsza interakcja z człowiekiem. Dzięki temu możemy korzystać z czatu i pisać do algorytmu, a ten zwraca nam bardzo zrozumiałe teksty zawierające informacje o które prosiliśmy.

Część z tych pytań dotyczyło generowania różnego rodzaju tekstów branżowych i potencjalnych tekstów na bloga. Jednak wśród nich znalazło się też sporo zapytań o kod (no cóż, model wytrenowany pod Copilota, już potrafił coś w tym temacie) i szybko okazało się, że wygenerowany kod wygląda dosyć imponująco.

Ciekawym przykładem użycia ChatuGPT jest poproszenie o przygotowanie w React templatu strony, która zawietała kilka elementów tekstowych. Użytkownik, który tego dokonał mógł na bierząco modyfikować wcześniej wygenerowany przez sztuczną inteligencję kod i sprawdzać jego poprawność i co ciekawe, przy takim prostym zastosowaniu, to naprawdę działało!

No dobra, skoro dotarliśmy już do tego momentu, to czas zacząć główny topic. Czy z w związku z tym faktycznie już jesteśmy u progu wyparcia developerów przez AI?

Odpowiedź jest bardzo prosta:

NIE

Dlaczego tak sądzę? Przecież AI może już generować taki super kod i wgl! A więc sądzę tak dlatego, że AI faktycznie może zagrozić developerom, ale tylko takim, którzy nigdy nie robili nic poza CRUDami. Bo właściwie przy obecnym rozwoju AI wykonanie dziesiątek integracji z z serwisami zewnętrznymi, przygotowanie architektury, która będzie odporna na ogromny ruch, czy usprawnienia związane z decyzjami na szczeblu państwowym (prawo), są nieosiągalne przez to narzędzie.

Moje przemyślenie w tym temacie jest takie, że obecny stan w jakim znajduje się GPT3 i ChatGPT może być wykorzystany przez devów jako single source of truth. W końcu jeśli chodzi o trenowanie, zescrapowana pewnie z pół internetu + zasilono całość danymi z GitHuba. Więc zamiast przeszukiwać cały internet możemy zapytać o problem, a z rozwiązaniem przyjdzie nam ChatGPT.

To narzędzie będzie wyręczać nas póki co z najbardziej monotonnej pracy i będziemy mogli je wykorzystać do budowania solidnych baz projektów, jednak ze wzrostem complexity narazie będzie się ono stawało coraz bardziej zbędne, lub będzie popełniać coraz więcej błędów.

Kolejnym tematem, o którym należy pamiętać jest nieomylność tego narzędzia, bo mogłoby się wydawać, że zaraz każdy będzie mógł zostać juniorem i już pisać super malinowy kod. Stan na dzień dzisiejszy jest taki, że w Q&A Copilota jest opisane, że z wygenerowanego kodu programiści wykorzystują około 25% - oznacza to, że narazie to co zostało wygenerowane nie spełnia naszych wymagań.

Ogólnie rzecz biorąc - żyjemy w czasach, w których specjalistów IT potrzeba na pęczki. Natomiast narzędzia stworzone przez OpenAI, mogą przyspieszyć naszą pracę, jeśli będziemy z nich korzystać z głową. Na dzień dzisiejszy nie jest to rozwiązanie na wszystkie problemy branży i musimy po prostu nauczyć się z nim żyć i z niego korzystać, tak jak dzisiaj korzystamy z IDE. Oczywiście z czasem będziemy mogli z użyciem tego narzędzia zrobić coraz więcej, jednak przez dobrych klika lat, niewiele się zmieni, a z czasem staniemy się operatorami AI i będziemy informować takie narzędzia co chcemy osiągnąć, a one będą nam w stanie przekuć nasze wymagania na działające rozwiązania. Jeśli chodzi o prawdziwą kreatywność i możliwości dorównujące programistom będziemy musieli poczekać w moim odczuciu na tak zwane AGI (Artificial General Intelligence), ale to raczej nie powstanie zbyt szybko.

Ja ze swojej strony zachęcam wszystkich do śledzenia tematu, żeby nie zostać w tyle, bo jeśli chodzi o to konkretne narzędzie, może ono zagościć w naszym codziennym życiu na stałe :)