Roboty, które przeprowadzają operacje chirurgiczne, roznoszą paczki, lub wertują stosy akt sądowych – to wciąż jeszcze brzmi jak zajawka do filmu science fiction, jednak lista zawodów zagrożonych przez sztuczną inteligencję jest długa. Czy sztuczna inteligencja zabierze pracę również programistom?
W 2017 roku zespół badaczy z ośrodka Oak Ridge National Laboratory, w opublikowanej pracy postawił tezę zakładającą, że do 2040 roku za sprawą rozwiązań z obszaru Machine Learningu, Przetwarzania Języka Naturalnego, większość programów będzie pisana przez roboty. To twierdzenie może brzmieć jak wyrok na programistach, ale jak sami autorzy pracy zaznaczają: maszyny piszące kod pod kontrolą człowieka nie odbiorą pracy ludziom, a jedynie uczynią ją bardziej wydajną i przyjemną. Czas pokaże, wg tych prognoz mamy jeszcze 20 lat nauki programowania w klasycznym wydaniu.
Jak wynika z przeprowadzonej przez Evans Data Corp w 2016 roku ankiety, 29% programistów obawia się utraty pracy z powodu wysoko rozwiniętych algorytmów AI.
SZTUCZNA INTELIGENCJA JUŻ PISZE PROGRAMY
Interesującym przykładem – choć od strony funkcjonalnej zupełnie nieprzydatnym – był projekt prowadzony przez Andreja Karpathy w 2015 roku, w którym wykorzystał rekurencyjne sieci neuronalne do tworzenia kodu. Zebrał cały kod źródłowy Linuxa z repozytorium na GitHubie i na jego bazie nauczył program pisania kodu.
Wygenerowany kod zawierał takie elementy języka C jak funkcje i ich wywołania, pętle zmienne, ale obfitował w liczne niedociągnięcia.
Kolejnym osiągnięciem świata IT był program stworzony przez połączony zespół naukowców z Microsoftu i uniwersytetu Cambridge w 2017, który jest w stanie napisać działający kod. Jego działanie opiera się na gromadzeniu danych wejściowych i wyjściowych z innych programów i na ich podstawie tworzeniu rozwiązania optymalnego dla danego przypadku.
Wprawdzie oprogramowanie w obecnym kształcie ma wiele braków i jest w stanie stworzyć jedynie prosty kod, to sam fakt jego powstania jest ważnym krokiem na drodze do automatyzacji branży programistycznej.
DLACZEGO ROBOT NIGDY NIE ZASTĄPI PROGRAMISTY?
Każdy wie, że programowanie to nie tylko „myślenie algorytmiczne”, wymaga również podejścia konceptualnego, kreatywności i działania poza schematami. To prawda, że sztuczna inteligencja może w kilka sekund zaimplementować gotowe rozwiązanie, którego napisanie człowiekowi zajęłoby znacznie więcej czasu, ale nigdy nie będzie elastyczna w takim stopniu jak ludzki umysł. Na pewno nie w horyzoncie 20 lat.
PROGRAMIŚCI i SZTUCZNA INTELIGENCJA W TANDEMIE
Sztuczna inteligencja, która staje się wrogiem człowieka jest raczej wizją abstrakcyjną i pewnie nie spełni się w przeciągu 20 najbliższych lat, niemniej jednak, warto zauważyć korzyści jakie będzie niosło upowszechnianie rozwiązań Artificial Intelligence w świecie rozwoju oprogramowania.
Jednym z obszarów będzie wsparcie w automatyzacji pisania powtarzalnego kodu – tak jak już zostało wspomniane, program najpewniej nie wymyśli wydajnego i unikatowego kodu, ale bazując na określonym wzorcu, skróci znacząco pracę programisty, wyręczając go z tworzenia powtarzalnych elementów w kodzie.
Co więcej, sztuczna inteligencja znając wzorce i składnie danego języka, z pewnością przyspieszy proces debugowania.
Podsumowując, niebawem AI zacznie wykonywać czarną robotę za programistę, a gdy już faktycznie będzie roboty będą na tyle rozwinięte by przejąć pracę programistów, wtedy wszyscy pracujący w kodzie będą mogli przekwalifikować się na specjalistów od sztucznej inteligencji.