To koniec programowania, jakie znamy – znowu

Ponieważ AI przejmuje więcej prac związanych z tworzeniem oprogramowania, programiści mogą w końcu pracować z modelami szkoleniowymi bardziej niż z narzędziami do kodowania. I to jest właśnie wzmacniające.

W ciągu ostatnich kilku dekad różne ruchy, paradygmaty lub przypływy technologiczne – jakkolwiek je nazwać – wstrząsnęły światem oprogramowania, obiecując albo przekazanie dużej części pracy programistycznej użytkownikom końcowym, albo zautomatyzowanie większej części tego procesu. Narzędzia CASE, 4GL, programowanie zorientowane obiektowo, architektura zorientowana na usługi, mikroserwisy, usługi w chmurze, Platforma jako usługa, bezserwerowe przetwarzanie danych, niski kod i brak kodu – wszystko to teoretycznie zdejmuje uciążliwe obciążenia z tworzenia oprogramowania. I, potencjalnie, zagrażają bezpieczeństwu pracy programistów. 

A jednak, jesteśmy tutaj. Programiści oprogramowania są bardziej zajęci niż kiedykolwiek, a zapotrzebowanie na ich umiejętności tylko rośnie. 

„Pamiętam, że kiedy chmura stała się popularna, a firmy zaczęły migrować do Office 365, wszyscy mówili, że wkrótce informatycy nie będą mieli pracy” – mówi Vlad Catrinescu, autor w Pluralsight. „Zgadnijcie co — nadal tu jesteśmy i jesteśmy bardziej zajęci niż kiedykolwiek”.

Pytanie brzmi, jak praca deweloperów będzie ostatecznie ewoluować. Istnieje możliwość, że sztuczna inteligencja, zastosowana do rozwoju i utrzymania aplikacji, może w końcu sprawić, że niskopoziomowe kodowanie stanie się przeszłością. 

Matt Welsh, dyrektor generalny i współzałożyciel Fixie.ai, przewiduje na przykład, że „programowanie będzie przestarzałe” w ciągu następnej dekady lub później. „Wierzę, że konwencjonalna idea 'pisania programu’ zmierza ku wymarciu” – przewiduje w niedawnym artykule opublikowanym przez Association for Computing Machinery. „Rzeczywiście, dla wszystkich, z wyjątkiem bardzo specjalistycznych zastosowań, większość oprogramowania, jakie znamy, zostanie zastąpiona przez systemy AI, które są raczej szkolone niż programowane”. 

W sytuacjach, gdy potrzebny jest „prosty program – w końcu nie wszystko powinno wymagać modelu o setkach miliardów parametrów działającego na klastrze procesorów graficznych – te programy będą, same w sobie, generowane przez SI, a nie kodowane ręcznie”, dodaje Welsh. 

Jakie zatem będą role informatyków i programistów? Catrinescu uważa, że pojawiająca się generacja zautomatyzowanych lub niskokodowych rozwiązań programistycznych w rzeczywistości „upoważnia informatyków i programistów do pracy nad bardziej wymagającymi aplikacjami. Działy IT mogą skupić się na aplikacjach korporacyjnych i budowaniu skomplikowanych aplikacji i automatyzacji, które dodadzą przedsiębiorstwu wiele wartości.”

Jeszcze do niedawna „rozwój skupiał się na lepszym wykorzystaniu inżynierii, czyli wydobyciu większej ilości ponownego użycia z szerszej puli autorów kodu”, relacjonuje Jared Ficklin, główny kreatywny technolog i współzałożyciel argodesign. „Doprowadziło to do powstania narzędzi ułatwiających orkiestrację, które pozwalają zwykłym programistom aplikacji używać graficznego interfejsu do orkiestracji rozwiązań AI za pomocą modułów kodu zwanych umiejętnościami, napisanych przez ekspertów w dziedzinie uczenia maszynowego. Podobnie pozwala to ekspertom tematycznym w biznesie orkiestrować całe kampanie za pomocą interfejsu.”

Takie narzędzia wykorzystujące uczenie maszynowe „pomagają zebrać wymagania i wykorzystać inżynierię”, kontynuuje Ficklin. „Tam, gdzie są luki, autorzy kodu muszą wskoczyć i je zamknąć. We wszystkich tych przypadkach architekturą nadal zajmuje się dział IT, ponieważ istnieje wiele punktów interoperacyjności i bezpieczeństwa, które należy utrzymać.”

Wraz z pojawieniem się i szybkim postępem AI i uczenia maszynowego, modele szkoleniowe mogą zastąpić kodowanie na bardzo podstawowych poziomach, przewiduje Welsh: 

Asystenci kodowania AI, tacy jak CoPilot, to tylko zarysowanie powierzchni tego, co opisuję. Wydaje mi się całkowicie oczywiste, że oczywiście wszystkie programy w przyszłości będą ostatecznie pisane przez AI, a człowiek zostanie zdegradowany do, w najlepszym razie, roli nadzorczej. Jeśli nauczyłem się czegoś w ciągu ostatnich kilku lat pracy w AI, to tego, że bardzo łatwo jest nie docenić mocy coraz większych modeli AI. Nie mówię tylko o takich rzeczach jak CoPilot z Githuba zastępujący programistów. Mówię o zastąpieniu całej koncepcji pisania programów modelami treningowymi.

Całkowite odejście od kodowania otwiera nowe sposoby patrzenia na rozwój aplikacji — na bardziej koncepcyjne i wysokopoziomowe role biznesowe. „Ekscytujące zmiany nadchodzą z zaskakujących kierunków” – mówi Ficklin. „Szerszy świat wyobraził sobie low code/no code jako wizualny interfejs, w którym przesuwasz węzły wokół siebie, aby połączyć kod. To jest orkiestracja i nadal wymaga wiedzy o tym, jak kod łączy się ze sobą.”

Fricklin ilustruje ten nowy sposób rozwijania i aktualizowania aplikacji w działaniu. „Jeden z naszych obecnych klientów, Builder AI, przyjął unikalne podejście polegające na wykorzystaniu analizy rozmów głosowych przez sztuczną inteligencję w celu zebrania wymagań, a następnie dalszego projektowania i realizacji tych doświadczeń” – opowiada. „Mają nawet asystenta głosowego, który może być dodany do rozmowy zoomu, który podsłuchuje kogoś opisującego swoją aplikację mobilną kierownikowi projektu i automatycznie przechwytuje i wymienia cechy. Człowiek następnie edytuje je, a SI sparuje je we wzór architektury dla aplikacji. Tam, gdzie istnieją moduły kodu, są one łatane, a tam, gdzie są

nie, przychodzą autorzy kodu i dodają moduł. Z czasem ten proces będzie coraz bardziej zautomatyzowany.”  

Oznacza to więcej obliczeń w czasie rzeczywistym, kontynuuje Ficklin. „Taki, w którym opóźnienie oprogramowania, renderowanie i montaż są przywoływane w czasie rzeczywistym. Możesz sobie wyobrazić, że poprosisz Alexę, aby zrobiła ci aplikację, która pomoże zorganizować twoją kuchnię. AI rozpoznałaby cechy, wybrała odpowiednie wzory i w czasie rzeczywistym, przez powietrze dostarczyła aplikację do twojego telefonu komórkowego, a może do twojego noszonego komputera przenośnego.”


Leave a Comment

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

Scroll to Top