{"id":3177,"date":"2023-04-11T06:04:51","date_gmt":"2023-04-11T06:04:51","guid":{"rendered":"http:\/\/architeles.eu\/ethics\/?p=3177"},"modified":"2023-04-26T15:59:28","modified_gmt":"2023-04-26T15:59:28","slug":"automatyczne-generowanie-kodu-w-pracy-webmastera-czy-sztuczna-inteligencja-bedzie-nam-pisac-strony-internetowe","status":"publish","type":"post","link":"https:\/\/architeles.eu\/ethics\/index.php\/2023\/04\/11\/automatyczne-generowanie-kodu-w-pracy-webmastera-czy-sztuczna-inteligencja-bedzie-nam-pisac-strony-internetowe\/","title":{"rendered":"Automatyczne generowanie kodu w pracy webmastera. Czy sztuczna inteligencja b\u0119dzie nam pisa\u0107 strony internetowe?"},"content":{"rendered":"<p><strong>Automatyczne generowanie kodu w ostatnich latach sta\u0142o si\u0119 wizj\u0105 do\u015b\u0107 nieodleg\u0142ej przysz\u0142o\u015bci. Na ile jest to jednak realna gro\u017aba automatyzacji i utraty miejsc pracy przez programist\u00f3w, a na ile nieuzasadniony strach przed nieznanym w dobie szybkich zmian? Ten artyku\u0142 ma za cel przybli\u017cy\u0107 ten temat, skupiaj\u0105c si\u0119 jednak przede wszystkim na pracy webmaster\u00f3w. Przeanalizujemy przedstawiony problem, przybli\u017caj\u0105c dwa jego oblicza oraz ich wp\u0142yw na bran\u017c\u0119 &#8211; podej\u015bcie oparte o r\u0119czne sk\u0142adanie gotowych element\u00f3w w uproszczony p\u00f3\u0142automatyczny spos\u00f3b, a tak\u017ce w pe\u0142ni automatyczne generowanie kodu poprzez du\u017ce modele j\u0119zykowe pokroju ChatGPT.<\/strong><!--more--><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Wprowadzenie<\/strong><\/p>\n<p>Dotychczas zawody wymagaj\u0105ce kreatywno\u015bci by\u0142y uwa\u017cane za raczej niezagro\u017cone automatyzacj\u0105. Okazuje si\u0119 jednak, i\u017c nic bardziej mylnego, a sztuczna inteligencja stanowi powa\u017cnego konkurenta nawet dla artyst\u00f3w. Podobny scenariusz zaczyna si\u0119 jawi\u0107 na horyzoncie r\u00f3wnie\u017c dla wielu programist\u00f3w. O ile mo\u017cna by przypuszcza\u0107 (w og\u00f3lno\u015bci zreszt\u0105 bardzo s\u0142usznie), \u017ce praca tego typu r\u00f3wnie\u017c wymaga kreatywnego podej\u015bcia do rozwi\u0105zywania przer\u00f3\u017cnych problem\u00f3w, tak jednakowo\u017c wiele w zasadzie zale\u017cy od celu i charakteru pracy oraz preferowanego stosu technologicznego &#8211; inaczej wygl\u0105da przecie\u017c pisanie skrypt\u00f3w analitycznych i kodu dla potrzeb uczenia maszynowego, inaczej tworzenie szeroko rozumianego oprogramowania codziennego u\u017cytku (na przyk\u0142ad strony internetowe, aplikacje desktopowe i mobilne, czy te\u017c gry komputerowe), a jeszcze inaczej oprogramowania specjalistycznego (na przyk\u0142ad sterowniki maszyn). Istniej\u0105 przypadki, w kt\u00f3rych trzeba koniecznie wymy\u015bli\u0107 sprytny algorytm lub zastosowa\u0107 skomplikowane optymalizacje, natomiast w innych wystarczy zorganizowa\u0107 prosty powtarzalny kod wed\u0142ug zadanego schematu.<\/p>\n<p>Wsz\u0119dzie tam, gdzie jaka\u015b czynno\u015b\u0107 staje si\u0119 przewidywalna i powtarzalna, wizja automatyzacji szybko staje si\u0119 niemal nieunikniona. W przypadku tworzenia stron internetowych jest to akurat szczeg\u00f3lnie celne spostrze\u017cenie. Wiele aspekt\u00f3w tworzenia stron internetowych jest wyznaczanych przez utarte schematy oraz wzorce projektowe. Dotyczy to zar\u00f3wno frontendu, jak i backendu. To z kolei sprawia, \u017ce kwesti\u0105 czasu by\u0142a, jest lub b\u0119dzie automatyzacja (w zale\u017cno\u015bci od tego, gdzie stawiamy sobie granic\u0119 tego co uwa\u017camy za wystarczaj\u0105cy stopie\u0144 automatycznej generacji kodu).<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Tradycyjne podej\u015bcia do generowania witryn internetowych<\/strong><\/p>\n<p>W przypadku stron internetowych nie jest to by\u0107 mo\u017ce taka przewidywalno\u015b\u0107, jak\u0105 mo\u017cna by szczeg\u00f3lnie \u0142atwo uj\u0105\u0107 w postaci og\u00f3lnego zbioru regu\u0142 lub jakiegokolwiek modelu generatywnego. W zwi\u0105zku z tym przez d\u0142u\u017cszy czas najpopularniejsz\u0105 opcj\u0105 by\u0142o po prostu wykorzystywanie szablon\u00f3w. Jest to dosy\u0107 proste rozwi\u0105zanie, kt\u00f3re nie pozwala co prawda na szczeg\u00f3lnie du\u017c\u0105 dowolno\u015b\u0107, ale jest za to wygodne &#8211; nie potrzeba zaawansowanych umiej\u0119tno\u015bci programistycznych, a mamy gotowe do wykorzystania niemal wszystkie standardowe funkcjonalno\u015bci strony internetowej, na kt\u00f3rych mo\u017ce nam zale\u017ce\u0107. Dzi\u0119ki szerokiemu wyborowi szablon\u00f3w i mo\u017cliwo\u015bciom dostosowania r\u00f3\u017cnych aspekt\u00f3w wygl\u0105du (takich jak chocia\u017cby kolorystyka, t\u0142a czy czcionki) szybko sta\u0142 to si\u0119 bardzo popularny wyb\u00f3r na przyk\u0142ad dla os\u00f3b pisz\u0105cych w\u0142asne blogi internetowe z wykorzystaniem takowych narz\u0119dzi, cz\u0119sto ze zintegrowanym hostingiem, jak na przyk\u0142ad niezwykle popularny WordPress.<\/p>\n<p>Szablony zyska\u0142y r\u00f3wnie\u017c spore uznanie w tworzeniu niegdy\u015b niezwykle popularnych internetowych for\u00f3w dyskusyjnych (obecnie wypartych przez grupy i kana\u0142y w mediach spo\u0142eczno\u015bciowych). W ten spos\u00f3b raczej skomplikowany zbi\u00f3r funkcjonalno\u015bci sta\u0142 si\u0119 dost\u0119pny od r\u0119ki dzi\u0119ki obecno\u015bci szeroko rozpowszechnionych szablon\u00f3w, kt\u00f3re dzi\u0119ki licznym sk\u00f3rkom i pluginom mog\u0142y by\u0107 do\u015b\u0107 mocno personalizowane.<\/p>\n<p>Obecnie poniek\u0105d spor\u0105 funkcjonalno\u015bci\u0105 ciesz\u0105 si\u0119 tak\u017ce rozwi\u0105zania umo\u017cliwiaj\u0105ce tworzenie witryn internetowych w jeszcze bardziej przyjazny dla u\u017cytkownika spos\u00f3b, a przy tym pozwalaj\u0105cy na niemal nieograniczon\u0105 inwencj\u0119 tw\u00f3rcz\u0105, wykorzystuj\u0105c w tym celu intuicyjne narz\u0119dzia edycyjne typu \u201cdrag &amp; drop\u201d (przeci\u0105gnij i upu\u015b\u0107), buduj\u0105c stron\u0119 od zera lub wychodz\u0105c od jakiego\u015b konkretnego szablonu. U\u017cytkownicy mog\u0105 tak\u017ce \u0142atwo wplata\u0107 elementy zaawansowanej logiki stron internetowych i kontaktu z backendem, kt\u00f3re typowo s\u0105 najbardziej problematyczne i pracoch\u0142onne &#8211; s\u0105 to funkcjonalno\u015bci takie jak handel elektroniczny, marketing online, formularze kontaktowe czy te\u017c fora spo\u0142eczno\u015bciowe. Przyk\u0142adem firmy \u015bwiadcz\u0105cej takie us\u0142ugi jest chocia\u017cby \u201cWix.com\u201d, b\u0119d\u0105cy obecnie g\u0142\u00f3wnym graczem na tym rynku. Przeciwnicy takich rozwi\u0105za\u0144 argumentuj\u0105 jednak, i\u017c tworzone w ten spos\u00f3b witryny bardzo mocno trac\u0105 na wydajno\u015bci oraz s\u0105 nara\u017cone na nieoczekiwane zachowania na r\u00f3\u017cnych nieprzewidzianych pierwotnie platformach, co mo\u017ce si\u0119 przek\u0142ada\u0107 na kiepskie do\u015bwiadczenia u\u017cytkownik\u00f3w.<\/p>\n<p>Pomimo popularno\u015bci ka\u017cdego z wymienionych rozwi\u0105za\u0144, \u017cadne z nich nie okaza\u0142o si\u0119 w praktyce realnym zagro\u017ceniem dla miejsc pracy programist\u00f3w stron internetowych. Jakie s\u0105 zatem szanse, \u017ce takim zagro\u017cenie przyjdzie ze strony rozwi\u0105za\u0144 bazuj\u0105cych na sztucznej inteligencji?<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Zanim ChatGPT, Inne podej\u015bcia do generowania kodu<\/strong><\/p>\n<p>Strony do generowania witryn, czy te\u017c ju\u017c s\u0142awny ChatGPT, czy inne modele sztucznej iteligencji to ju\u017c wysokopoziomowa abstrakcja do generowania witryn sieciowych czy te\u017c aplikacji, jednak mo\u017ce po\u015bwi\u0119\u0107my chwile na narz\u0119dzia, z kt\u00f3rymi ju\u017c wcze\u015bniej mieli\u015bmy do czynienia, a tak\u017ce s\u0142u\u017c\u0105 do generowania kodu &#8211; mo\u017ce tylko nieco w uproszczonej wersji. Istnieje wiele takich narz\u0119dzi do generowania kodu, pocz\u0105wszy od generator\u00f3w kodu, a ko\u0144cz\u0105c na edytorach kodu z wbudowanymi funkcjami generowania kodu. Oto kilka przyk\u0142ad\u00f3w:<\/p>\n<ul>\n<li>Generatory kodu: S\u0105 to narz\u0119dzia automatycznie generuj\u0105ce kod na podstawie okre\u015blonego wej\u015bcia, takiego jak modele danych lub szablony. Przyk\u0142ady generator\u00f3w kodu to Yeoman, Swagger Codegen i JHipster.<\/li>\n<li>\u015arodowiska programistyczne (IDE): IDE to aplikacje, kt\u00f3re zapewniaj\u0105 kompleksowe udogodnienia dla tworzenia oprogramowania, w tym edycj\u0119 kodu, debugowanie i generowanie kodu. Niekt\u00f3re popularne IDE z wbudowanymi funkcjami generowania kodu to IntelliJ IDEA, Visual Studio i Eclipse.<\/li>\n<li>Platformy low-code: To platformy do tworzenia oprogramowania, kt\u00f3re umo\u017cliwiaj\u0105 u\u017cytkownikom tworzenie aplikacji bez lub z minimalnym kodowaniem. Zwykle zapewniaj\u0105 interfejsy wizualne i narz\u0119dzia typu przeci\u0105gnij i upu\u015b\u0107, umo\u017cliwiaj\u0105ce szybkie tworzenie aplikacji. Przyk\u0142ady platform low-code to Mendix, OutSystems i Appian.<\/li>\n<li>Edytory tekstowe z fragmentami kodu: Niekt\u00f3re edytory tekstu posiadaj\u0105 wbudowane fragmenty kodu lub szablony, kt\u00f3re umo\u017cliwiaj\u0105 u\u017cytkownikom szybkie wstawianie blok\u00f3w kodu do swoich projekt\u00f3w. Przyk\u0142ady edytor\u00f3w tekstu z fragmentami kodu to Atom, Sublime Text i Visual Studio Code.<\/li>\n<li>Interfejsy programowania aplikacji (API): API to zestawy instrukcji programowania i standard\u00f3w, kt\u00f3re umo\u017cliwiaj\u0105 aplikacjom komunikowanie si\u0119 ze sob\u0105. Niekt\u00f3re API mog\u0105 by\u0107 wykorzystywane do generowania kodu na podstawie okre\u015blonego wej\u015bcia, takie jak wspomniany powy\u017cej Swagger Codegen.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong>Czym s\u0105 generatory tekstu oparte o sztuczn\u0105 inteligencj\u0119?<\/strong><\/p>\n<p>Generowanie kodu oparte na uczeniu maszynowym to rozwijaj\u0105ca si\u0119 dziedzina, kt\u00f3ra ma na celu automatyzacj\u0119 procesu pisania kodu za pomoc\u0105 algorytm\u00f3w uczenia maszynowego. Celem jest wygenerowanie kodu, kt\u00f3ry jest zar\u00f3wno efektywny, jak i dok\u0142adny, jednocze\u015bnie minimalizuj\u0105c potrzeb\u0119 interwencji cz\u0142owieka.<\/p>\n<p>W tej metodzie modele uczenia maszynowego s\u0105 szkolone na du\u017cych zestawach przyk\u0142ad\u00f3w kodu, aby nauczy\u0107 si\u0119 wzorc\u00f3w i struktur w sk\u0142adni i semantyce kodu. Modele te mog\u0105 nast\u0119pnie by\u0107 wykorzystywane do generowania nowych fragment\u00f3w kodu lub nawet ca\u0142ych program\u00f3w na podstawie okre\u015blonego wej\u015bcia lub wymagania.<\/p>\n<p>Istnieje kilka korzy\u015bci z korzystania z generowania kodu opartego na uczeniu maszynowym, w tym:<\/p>\n<ul>\n<li>Zwi\u0119kszona efektywno\u015b\u0107: Generowanie kodu oparte na uczeniu maszynowym mo\u017ce pom\u00f3c przyspieszy\u0107 proces rozwoju, automatyzuj\u0105c powtarzalne zadania i generuj\u0105c kod szybciej.<\/li>\n<li>Poprawiona dok\u0142adno\u015b\u0107: Modele uczenia maszynowego mog\u0105 by\u0107 szkolone na du\u017cych zestawach przyk\u0142ad\u00f3w kodu, aby poprawi\u0107 dok\u0142adno\u015b\u0107 w generowaniu kodu, kt\u00f3ry jest poprawny i efektywny.<\/li>\n<li>Redukcja b\u0142\u0119d\u00f3w ludzkich: Automatyzuj\u0105c proces generowania kodu, metody oparte na uczeniu maszynowym mog\u0105 zmniejszy\u0107 ryzyko b\u0142\u0119d\u00f3w ludzkich i poprawi\u0107 jako\u015b\u0107 kodu.<\/li>\n<\/ul>\n<p>Przyk\u0142adami narz\u0119dzi generuj\u0105cych kod oparte na uczeniu maszynowym s\u0105 DeepCode, Kite i Codota. Narz\u0119dzia te wykorzystuj\u0105 algorytmy uczenia maszynowego do analizowania istniej\u0105cego kodu i sugerowania ulepsze\u0144, generowania fragment\u00f3w kodu na podstawie wej\u015bcia w naturalnym j\u0119zyku oraz nawet uzupe\u0142niania ca\u0142ych blok\u00f3w kodu.<\/p>\n<p>Warto jednak zauwa\u017cy\u0107, \u017ce generowanie kodu oparte na uczeniu maszynowym to nadal rozwijaj\u0105ca si\u0119 dziedzina i ma pewne ograniczenia. Na przyk\u0142ad wygenerowany kod mo\u017ce nie zawsze by\u0107 czytelny dla cz\u0142owieka lub \u0142atwy w utrzymaniu, a istnieje ryzyko, \u017ce nie b\u0119dzie odpowiada\u0142 specyficznym wymaganiom danego projektu. Dlatego wa\u017cne jest ostro\u017cne korzystanie z narz\u0119dzi generowania kodu opartego na uczeniu maszynowym i dok\u0142adne weryfikowanie wygenerowanego kodu.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Jakie mamy narz\u0119dzia generuj\u0105ce kod oparte o uczenie maszynowe?<\/strong><\/p>\n<ul>\n<li>GPT-3: Jest to model przetwarzania j\u0119zyka naturalnego (NLP) opracowany przez OpenAI, kt\u00f3ry mo\u017ce by\u0107 wykorzystywany do generowania kodu. Wykorzystywany jest do generowania kodu Python, JavaScript, HTML i CSS.<\/li>\n<li>DeepCoder: Jest to system uczenia maszynowego, kt\u00f3ry mo\u017ce automatycznie generowa\u0107 fragmenty kodu do rozwi\u0105zywania problem\u00f3w programistycznych. Wykorzystuje technik\u0119 syntezowania program\u00f3w do generowania kodu z podanego przyk\u0142adu wej\u015bciowo-wyj\u015bciowego.<\/li>\n<li>CodeGAN: Jest to sie\u0107 generatywno-adwersaryjna (GAN), kt\u00f3ra mo\u017ce by\u0107 wykorzystana do generowania kodu. Jest szkolona na zbiorze danych fragment\u00f3w kodu i mo\u017ce generowa\u0107 nowy kod, kt\u00f3ry jest podobny do danych szkoleniowych.<\/li>\n<li>Rozumienie kodu przy u\u017cyciu sieci neuronowych: Jest to technika uczenia maszynowego, kt\u00f3ra mo\u017ce by\u0107 wykorzystana do automatycznego generowania komentarzy dla kodu. Wykorzystuje sie\u0107 neuronow\u0105 do analizy kodu i generowania komentarzy opisuj\u0105cych, co kod robi.<\/li>\n<li>Synteza program\u00f3w z wykorzystaniem przyk\u0142ad\u00f3w: Jest to technika, kt\u00f3ra wykorzystuje uczenie maszynowe do automatycznego generowania kodu z zestawu przyk\u0142ad\u00f3w wej\u015bciowo-wyj\u015bciowych. Mo\u017ce by\u0107 wykorzystywana do generowania kodu w r\u00f3\u017cnych j\u0119zykach programowania, w tym w Pythonie i Javie.<\/li>\n<li>T\u0142umaczenie maszynowe: Jest to technika wykorzystuj\u0105ca uczenie maszynowe do t\u0142umaczenia kodu z jednego j\u0119zyka programowania na inny. Mo\u017ce by\u0107 wykorzystana do konwersji kodu napisanego w jednym j\u0119zyku na kod w innym j\u0119zyku, co u\u0142atwia programistom prac\u0119 z r\u00f3\u017cnymi j\u0119zykami programowania.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong>Github Copilot<\/strong><\/p>\n<p>GitHub Copilot to narz\u0119dzie do automatycznego uzupe\u0142niania kodu zasilane sztuczn\u0105 inteligencj\u0105, opracowane przez firm\u0119 GitHub we wsp\u00f3\u0142pracy z OpenAI. Wykorzystuje ono model j\u0119zykowy GPT (Generative Pre-trained Transformer) od OpenAI, kt\u00f3ry na podstawie kontekstu i ju\u017c napisanego kodu sugeruje fragmenty kodu. Dzia\u0142a ono bezpo\u015brednio w edytorze kodu programisty i mo\u017ce by\u0107 zintegrowane z popularnymi IDE, takimi jak Visual Studio Code, Atom czy JetBrains.<\/p>\n<p>Celem GitHub Copilot jest zwi\u0119kszenie efektywno\u015bci i oszcz\u0119dno\u015b\u0107 czasu programist\u00f3w poprzez redukcj\u0119 potrzeby r\u0119cznego wyszukiwania i pisania kodu. Narz\u0119dzie to uczy si\u0119 z kodu projektu i na tej podstawie oferuje kontekstowe sugestie, kt\u00f3re pomagaj\u0105 programi\u015bcie szybciej i z mniejsz\u0105 liczb\u0105 b\u0142\u0119d\u00f3w pisa\u0107 kod.<\/p>\n<p>Aby skorzysta\u0107 z GitHub Copilot, programi\u015bci musz\u0105 mie\u0107 dost\u0119p do rozszerzenia GitHub Copilot dla swojego preferowanego edytora kodu i zalogowa\u0107 si\u0119 na swoje konto GitHub. Podczas pisania kodu GitHub Copilot sugeruje fragmenty kodu, kt\u00f3re programista mo\u017ce zaakceptowa\u0107, zmodyfikowa\u0107 lub odrzuci\u0107. GitHub Copilot nie ma na celu zast\u0105pienia ludzkich programist\u00f3w, ale raczej pom\u00f3c im w efektywniejszym pisaniu kodu.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>ChatGPT<\/strong><\/p>\n<p>Jedn\u0105 z g\u0142\u00f3wnych zalet Chat GPT jest to, \u017ce mo\u017ce zaoszcz\u0119dzi\u0107 programistom znaczn\u0105 ilo\u015b\u0107 czasu. Zamiast pisa\u0107 kod od podstaw, programi\u015bci mog\u0105 u\u017cy\u0107 Chat GPT, aby szybko generowa\u0107 funkcjonalne fragmenty kodu, kt\u00f3re mog\u0105 by\u0107 wykorzystane w ich projektach. Ponadto, Chat GPT mo\u017ce pom\u00f3c programistom w generowaniu fragment\u00f3w kodu w spos\u00f3b bardziej efektywny, konsekwentny i wolny od b\u0142\u0119d\u00f3w.<br \/>\nInnym korzy\u015bci\u0105 wynikaj\u0105c\u0105 z korzystania z Chat GPT do generowania fragment\u00f3w kodu jest to, \u017ce mo\u017ce pom\u00f3c programistom w uczeniu si\u0119 nowych j\u0119zyk\u00f3w programowania lub technologii. Poprzez podanie podpowiedzi w okre\u015blonym j\u0119zyku lub technologii, programi\u015bci mog\u0105 uczy\u0107 si\u0119, jak pisa\u0107 kod w tym j\u0119zyku lub technologii, studiuj\u0105c generowane fragmenty kodu.<\/p>\n<p>Chat GPT jest u\u017cytecznym narz\u0119dziem dla programist\u00f3w, kt\u00f3re mo\u017ce zaoszcz\u0119dzi\u0107 czas, poprawi\u0107 jako\u015b\u0107 kodu i pom\u00f3c w nauce nowych technologii. Korzystaj\u0105c z API udost\u0119pnionego przez OpenAI, programi\u015bci mog\u0105 generowa\u0107 funkcjonalne fragmenty kodu, kt\u00f3re mog\u0105 by\u0107 wykorzystane w ich projektach, pomagaj\u0105c w usprawnieniu procesu rozwoju i poprawie og\u00f3lnej jako\u015bci kodu.<\/p>\n<p>ChatGPT nie zosta\u0142 specjalnie zaprojektowany do generowania kodu. Chocia\u017c jest w stanie generowa\u0107 tekst z naturalnego j\u0119zyka na podstawie podpowiedzi, nie posiada specyficznych zdolno\u015bci programistycznych ani zdolno\u015bci do generowania ca\u0142ych program\u00f3w.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Podsumowanie<\/strong><\/p>\n<p>Cho\u0107 generatory kodu oparte na uczeniu maszynowym maj\u0105 potencja\u0142 do automatyzacji pewnych aspekt\u00f3w rozwoju oprogramowania, jest ma\u0142o prawdopodobne, \u017ce w niedalekiej przysz\u0142o\u015bci ca\u0142kowicie zast\u0105pi\u0105 in\u017cynier\u00f3w oprogramowania.<\/p>\n<p>Generatory kodu oparte na uczeniu maszynowym zosta\u0142y zaprojektowane do automatyzacji rutynowych zada\u0144 programistycznych, takich jak generowanie szablonowego kodu lub wype\u0142nianie powtarzalnych funkcji. Jednak\u017ce, in\u017cynieria oprogramowania wymaga wykonywania wielu innych wa\u017cnych zada\u0144, takich jak rozwi\u0105zywanie problem\u00f3w, projektowanie architektury oprogramowania czy debugowanie. Te zadania wymagaj\u0105 ludzkiej kreatywno\u015bci, my\u015blenia analitycznego i umiej\u0119tno\u015bci rozwi\u0105zywania problem\u00f3w, kt\u00f3rych maszyny nie s\u0105 w stanie obecnie na\u015bladowa\u0107.<\/p>\n<p>Ponadto, generatory kodu oparte na uczeniu maszynowym wymagaj\u0105 starannego szkolenia i walidacji, aby zapewni\u0107, \u017ce wygenerowany kod jest poprawny i efektywny. Wymaga to specjalistycznej wiedzy i ekspertyzy w danej dziedzinie, kt\u00f3re posiadaj\u0105 tylko ludzie.<\/p>\n<p>Dlatego bardziej prawdopodobne jest, \u017ce generatory kodu oparte na uczeniu maszynowym b\u0119d\u0105 pomaga\u0107 in\u017cynierom oprogramowania w ich pracy, pozwalaj\u0105c im skupi\u0107 si\u0119 na zadaniach o wy\u017cszym poziomie, wymagaj\u0105cych kreatywno\u015bci i umiej\u0119tno\u015bci rozwi\u0105zywania problem\u00f3w, zamiast ca\u0142kowicie ich zast\u0119powa\u0107.<\/p>\n<p>Warto zauwa\u017cy\u0107, \u017ce chocia\u017c modele te mog\u0105 by\u0107 przydatne w automatyzacji pewnych zada\u0144 programistycznych, nie s\u0105 one zast\u0119pstwem dla ludzkich programist\u00f3w. Do projektowania i budowania z\u0142o\u017conych system\u00f3w oprogramowania wci\u0105\u017c wymagana jest ludzka kreatywno\u015b\u0107, my\u015blenie analityczne i umiej\u0119tno\u015bci rozwi\u0105zywania problem\u00f3w. Modele AI mog\u0105 pom\u00f3c programistom w ich pracy, ale nie mog\u0105 ich ca\u0142kowicie zast\u0105pi\u0107.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3179 size-large\" src=\"https:\/\/architeles.eu\/ethics\/wp-content\/uploads\/2023\/04\/t8VPC1Ou_QGRQ7jIxZA-bEs027IukRjQCZL9JJsmhvWIyYidbqR5gN8-f6UghIEwJCv4ogXBVcg78tsm62kqZtdGAk260P7SeOlMOb4lq59_2DtiN_JfgQXYCTPg4WORSzRarPRv3H1j9QndGYdV0xE-1-1024x450.png\" alt=\"Pytanie do ChatuGTP\" width=\"600\" height=\"264\" srcset=\"https:\/\/architeles.eu\/ethics\/wp-content\/uploads\/2023\/04\/t8VPC1Ou_QGRQ7jIxZA-bEs027IukRjQCZL9JJsmhvWIyYidbqR5gN8-f6UghIEwJCv4ogXBVcg78tsm62kqZtdGAk260P7SeOlMOb4lq59_2DtiN_JfgQXYCTPg4WORSzRarPRv3H1j9QndGYdV0xE-1-1024x450.png 1024w, https:\/\/architeles.eu\/ethics\/wp-content\/uploads\/2023\/04\/t8VPC1Ou_QGRQ7jIxZA-bEs027IukRjQCZL9JJsmhvWIyYidbqR5gN8-f6UghIEwJCv4ogXBVcg78tsm62kqZtdGAk260P7SeOlMOb4lq59_2DtiN_JfgQXYCTPg4WORSzRarPRv3H1j9QndGYdV0xE-1-300x132.png 300w, https:\/\/architeles.eu\/ethics\/wp-content\/uploads\/2023\/04\/t8VPC1Ou_QGRQ7jIxZA-bEs027IukRjQCZL9JJsmhvWIyYidbqR5gN8-f6UghIEwJCv4ogXBVcg78tsm62kqZtdGAk260P7SeOlMOb4lq59_2DtiN_JfgQXYCTPg4WORSzRarPRv3H1j9QndGYdV0xE-1-768x337.png 768w, https:\/\/architeles.eu\/ethics\/wp-content\/uploads\/2023\/04\/t8VPC1Ou_QGRQ7jIxZA-bEs027IukRjQCZL9JJsmhvWIyYidbqR5gN8-f6UghIEwJCv4ogXBVcg78tsm62kqZtdGAk260P7SeOlMOb4lq59_2DtiN_JfgQXYCTPg4WORSzRarPRv3H1j9QndGYdV0xE-1-1536x675.png 1536w, https:\/\/architeles.eu\/ethics\/wp-content\/uploads\/2023\/04\/t8VPC1Ou_QGRQ7jIxZA-bEs027IukRjQCZL9JJsmhvWIyYidbqR5gN8-f6UghIEwJCv4ogXBVcg78tsm62kqZtdGAk260P7SeOlMOb4lq59_2DtiN_JfgQXYCTPg4WORSzRarPRv3H1j9QndGYdV0xE-1.png 1600w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Automatyczne generowanie kodu w ostatnich latach sta\u0142o si\u0119 wizj\u0105 do\u015b\u0107 nieodleg\u0142ej przysz\u0142o\u015bci. Na ile jest to jednak realna gro\u017aba automatyzacji i utraty miejsc pracy przez programist\u00f3w, a na ile nieuzasadniony strach przed nieznanym w dobie szybkich zmian? Ten artyku\u0142 ma za cel przybli\u017cy\u0107 ten temat, skupiaj\u0105c si\u0119 jednak przede wszystkim na pracy webmaster\u00f3w. Przeanalizujemy przedstawiony [&hellip;]<\/p>\n","protected":false},"author":134,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[225],"tags":[246,247,266,267],"class_list":["post-3177","post","type-post","status-publish","format-standard","hentry","category-agh-2022-23","tag-chatgpt","tag-generowanie-tekstu","tag-github-copilot","tag-programowanie"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/architeles.eu\/ethics\/index.php\/wp-json\/wp\/v2\/posts\/3177","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/architeles.eu\/ethics\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/architeles.eu\/ethics\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/architeles.eu\/ethics\/index.php\/wp-json\/wp\/v2\/users\/134"}],"replies":[{"embeddable":true,"href":"https:\/\/architeles.eu\/ethics\/index.php\/wp-json\/wp\/v2\/comments?post=3177"}],"version-history":[{"count":2,"href":"https:\/\/architeles.eu\/ethics\/index.php\/wp-json\/wp\/v2\/posts\/3177\/revisions"}],"predecessor-version":[{"id":3363,"href":"https:\/\/architeles.eu\/ethics\/index.php\/wp-json\/wp\/v2\/posts\/3177\/revisions\/3363"}],"wp:attachment":[{"href":"https:\/\/architeles.eu\/ethics\/index.php\/wp-json\/wp\/v2\/media?parent=3177"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/architeles.eu\/ethics\/index.php\/wp-json\/wp\/v2\/categories?post=3177"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/architeles.eu\/ethics\/index.php\/wp-json\/wp\/v2\/tags?post=3177"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}