Nvidia twierdzi, że sztuczna inteligencja zabije kodowanie, ale oto 5 powodów, dla których jest to błędne podejście

Kluczowe aspekty wykorzystania sztucznej inteligencji w kodowaniu

  • Szef Nvidii uważa, że algorytmy SI przejmą rolę ludzkich programistów, co eliminuje konieczność nauki programowania.
  • Jednakże, systemy SI nie są nieomylne; ludzka kontrola jest kluczowa dla ulepszania i podnoszenia jakości kodu.
  • Ponadto, programiści wnoszą umiejętność rozwiązywania problemów i adaptacyjność, których brakuje SI. Ludzka zdolność reagowania na sugestie użytkowników i nowe trendy technologiczne przewyższa możliwości SI.

Dyrektor generalny firmy Nvidia publicznie wyraził opinię, że uczenie dzieci programowania nie jest konieczne, ponieważ sztuczna inteligencja przejmie odpowiedzialność za całą tę pracę. Choć prawdą jest, że SI może być znakomitym wsparciem dla programistów, ludzie powinni nadal rozwijać umiejętności programistyczne, niezależnie od stopnia wykorzystania kodu generowanego przez SI. Istnieje ku temu więcej niż jeden ważny powód.

Stanowisko dyrektora generalnego Nvidii na temat AI i programowania

Podczas światowego szczytu rządowego w Dubaju w 2024 roku, Jensen Huang, dyrektor generalny Nvidii, oznajmił, że jego zdaniem uczenie ludzi kodowania jest bezcelowe, gdyż w najbliższej przyszłości całe programowanie zostanie zautomatyzowane przez sztuczną inteligencję.

Stwierdził, że celem jest stworzenie technologii, w której nikt nie będzie musiał kodować, a język programowania stanie się językiem ludzkim. W praktyce, każdy na świecie ma stać się programistą. Huang uważa to za cud dokonany przez SI.

Mimo że algorytmy SI są w stanie tworzyć działające fragmenty kodu, istnieją argumenty przemawiające za tym, że ludzie nie powinni porzucać nauki podstaw programowania, nawet jeśli chcą tylko tworzyć programy.

Jak skuteczna jest sztuczna inteligencja w programowaniu?

Zanim zaczniemy analizować słowa Jensena, warto zastanowić się, co skłoniło go do takich twierdzeń.

Modele SI dostępne w sieci mogą wspomagać proces programowania. Możemy korzystać z ogólnodostępnych modeli takich jak ChatGPT, ale też wyspecjalizowanych narzędzi, jak CodeGPT, które są zaprojektowane do obsługi zapytań programistycznych.

Denis Kuria/MakeUseOf

Generalnie, te algorytmy SI dobrze radzą sobie z przekształcaniem ludzkich poleceń w kod. Jak wspomniał Jensen, główną zaletą jest brak konieczności posiadania wiedzy programistycznej, aby generować kod przy użyciu SI. Wystarczy opisać w języku polskim, czego potrzebujemy, skopiować i wkleić wyniki, a (idealnie) otrzymamy kod bez błędów, który wykona żądane zadanie.

Dlaczego Nvidia myli się w kwestii rezygnacji z nauki programowania

Shutterstock Gorodenkow/

Argumentacja Huanga jest zrozumiała, a jego teza wsparta dowodami z praktyki. Istnieje jednak wiele powodów, dla których warto kontynuować nauczanie ludzi programowania.

1. Kod generowany przez SI wciąż wymaga ludzkiej kontroli pod kątem błędów

Chociaż kod tworzony przez SI często działa bez zarzutu, nie jest doskonały. Znajomość programowania pozwala na doskonalenie kodu generowanego przez sztuczną inteligencję. Jak już zauważyliśmy omawiając CodeGPT:

CodeGPT potrafi pisać kod, ale należy zachować czujność, ponieważ nie zawsze zapewnia najlepsze rezultaty. Wygenerowany kod może być podatny na błędy lub niezgodny z najlepszymi praktykami. Korzystając z CodeGPT lub innych narzędzi opartych na SI, zawsze staraj się zrozumieć działanie kodu, a nie tylko go kopiować i wklejać.

Nie chodzi tylko o wyeliminowanie błędów, ale również o zapewnienie czytelności kodu i zgodności z podstawowymi zasadami programowania. Ślepe dodawanie kodu wygenerowanego przez SI niesie ryzyko powstania nieuporządkowanego kodu, trudnego do zrozumienia, a w najgorszym przypadku – luk w zabezpieczeniach oprogramowania, stron internetowych i innych systemów.

2. Programiści wykorzystują swoje doświadczenie do skuteczniejszego rozwiązywania problemów niż SI

Zasadniczym celem programisty jest rozwiązanie problemu. Niezależnie od tego, czy tworzy aplikację na własny użytek, czy dla klienta, musi znaleźć najefektywniejszy sposób przekształcenia idei w działający kod.

Z upływem czasu programiści zdobywają doświadczenie, które pozwala im na lepsze wyobrażenie sobie drogi od konceptu do funkcjonującego programu. Chatboty SI nie mają takiego poziomu doświadczenia. Nie są w stanie czerpać wiedzy z poprzednich projektów i wykorzystywać zdobyte umiejętności do lepszej pracy w przyszłości.

3. Programiści skuteczniej dostosowują kod do wymagań użytkowników

W przypadku tworzenia oprogramowania dla kogoś innego, opinie i uwagi użytkowników są naturalną częścią procesu. W ten sposób klient otrzymuje produkt, który najlepiej odpowiada jego potrzebom.

Programista jest w stanie samodzielnie wprowadzić zmiany zgodnie z uwagami klienta i dostarczyć poprawioną wersję. Natomiast użytkownik kodu wygenerowanego przez SI może jedynie poprosić algorytm o dokonanie poprawek i mieć nadzieję, że SI właściwie zinterpretuje jego żądania (i nie wprowadzi nowych błędów lub luk w zabezpieczeniach).

4. Programiści szybciej dostosowują się do zmieniających się trendów technologicznych niż SI

Algorytmy SI czerpią wiedzę z istniejących danych. Są doskonałe w odtwarzaniu informacji z zasobów dostępnych w Internecie, ale mniej skuteczne w rozumieniu nowych technologii i trendów.

Programiści mogą na bieżąco śledzić najnowsze osiągnięcia w obrębie używanego języka programowania i wdrażać je w swoich projektach. Rozumieją również, które języki najlepiej nadają się do określonych zadań i potrafią dostosować wybór języka w zależności od potrzeb.

5. Programiści szybciej reagują na pilne zgłoszenia poprawek niż SI

W przypadku problemów z kodem, jego naprawa wymaga interwencji osoby posiadającej wiedzę programistyczną. Szybka reakcja jest kluczowa, zwłaszcza w przypadku luk typu zero-day. Problem musi zostać zidentyfikowany i naprawiony w jak najkrótszym czasie.

Nie ma znaczenia, czy kod został napisany przez człowieka, czy przez SI. Oba rodzaje kodu mogą zawierać błędy. Osoba zaznajomiona z kodem łatwiej zlokalizuje i zrozumie problem. Ktoś, kto nie zna kodu, nie będzie nawet wiedział, o co poprosić SI.

Oświadczenie Jensena Huanga nie jest całkowicie pozbawione sensu. Sztuczna inteligencja umożliwia osobom bez doświadczenia w programowaniu generowanie i wykorzystywanie kodu. Jednak, aby tworzyć coś wartościowego, zarówno dla siebie, jak i dla innych, konieczna jest podstawowa wiedza programistyczna. Zapewni ona, że wszystko będzie działać sprawnie i efektywnie.


newsblog.pl