Moja Droga do Tworzenia Systemów IT z Wykorzystaniem Sztucznej Inteligencji

Sztuczna inteligencja (AI) zmienia oblicze branży IT, automatyzując wiele procesów, w tym tworzenie kodu. Modele językowe (LLM), takie jak te wspierające programowanie, budzą zarówno fascynację, jak i obawy – czy AI zastąpi programistów, odbierając im pracę? W tym artykule, opierając się na moim doświadczeniu, udowadniam, że AI nie jest zagrożeniem, lecz potężnym narzędziem, które umożliwia nawet osobom bez głębokiej wiedzy programistycznej, jak ja, tworzenie zaawansowanych systemów. Jako Przemysław Gajek, specjalista IT i administrator WordPress, z doświadczeniem w administracji systemami, zarządzaniu sieciami i prowadzeniu szkoleń z PHP, JavaScript czy Linux, nie jestem profesjonalnym programistą. Mimo to, z pomocą AI, projektuję i wdrażam systemy klient-serwer oparte na Laravel i Vue, integrując moduły AI, takie jak chaty z LLM czy narzędzia testujące. Moja historia pokazuje, że AI demokratyzuje programowanie, umożliwiając tworzenie złożonych rozwiązań, ale nadal wymaga ludzkiego nadzoru, kreatywności i specjalistycznej wiedzy, by osiągnąć sukces.

 

Wymagania do stworzenia nowoczesnego systemu IT – Co nadal wymaga ludzkiej ekspertyzy?

 

Tworzenie nowoczesnych systemów informatycznych, takich jak mój system oparty na architekturze klient-serwer, wymaga szerokiego zestawu umiejętności, które wykraczają poza samo generowanie kodu. Chociaż sztuczna inteligencja (AI), a w szczególności modele językowe (LLM), może znacząco wspierać proces programowania, to ludzka wiedza, doświadczenie i kreatywność pozostają kluczowe w wielu aspektach. Poniżej przedstawiam trzy główne obszary, w których ludzka ekspertyza jest niezastąpiona, opierając się na moim doświadczeniu w budowie systemu z użyciem frameworków Laravel i Vue.

 

Argument 1: Zaawansowana wiedza techniczna poza generowaniem kodu 

Tworzenie systemu klient-serwer wymaga zrozumienia szeregu technologii, w tym języków programowania takich jak PHP, JavaScript, HTML i CSS, a także zaawansowanej wiedzy o bazach danych (np. MySQL/MariaDB) i konfiguracji serwerów (np. Apache). AI może generować fragmenty kodu, ale to człowiek musi zweryfikować jego poprawność i zgodność z potrzebami biznesowymi projektu. W moim systemie kluczowe było zintegrowanie zewnętrznych mechanizmów komunikacji, takich jak API do wysyłania wiadomości SMS. Wymagało to dogłębnego zrozumienia FULL REST API, mechanizmów autoryzacji (np. OAuth, JWT) oraz zabezpieczeń przed atakami, takimi jak SQL Injection czy XSS. Dodatkowo, konieczna była wiedza o skalowalności systemu – na przykład konfiguracja load balancing w Apache, aby zapewnić wydajność przy większej liczbie użytkowników, oraz zarządzanie błędami (error handling) w Laravel, co pozwoliło na stabilne działanie aplikacji. AI wspierało mnie w generowaniu kodu, ale to ja, dzięki doświadczeniu w administracji systemami i sieciami, zapewniałem, że rozwiązania spełniają rzeczywiste wymagania.

 

Argument 2: Umiejętności stylowania i projektowania UI/UX 

Interfejs użytkownika (UI) i doświadczenie użytkownika (UX) odgrywają kluczową rolę w powodzeniu każdego systemu. CSS oraz frameworki takie jak Vue wymagają kreatywnego podejścia do projektowania responsywnych i estetycznych interfejsów. AI może dostarczyć gotowe szablony CSS czy sugestie komponentów Vue, ale nie zastąpi ludzkiego wyczucia estetyki, użyteczności i dostosowania do specyficznych potrzeb użytkownika. W moim systemie moduły, takie jak powiadomienia wewnętrzne, wymagały starannego zaprojektowania responsywnego designu CSS, który działa płynnie na urządzeniach mobilnych i desktopach. Dodatkowo, uwzględniłem standardy dostępności (WCAG), aby zapewnić inkluzywność, oraz optymalizację SEO dla treści integrowanych z platformami WordPress, co zwiększa widoczność systemu w wyszukiwarkach. Te aspekty wymagają ludzkiej intuicji i wiedzy o preferencjach użytkowników, czego AI jeszcze nie potrafi w pełni zreplikować.

 

Argument 3: Projektowanie architektury systemów klient-serwer 

Budowa systemu to nie tylko pisanie kodu, ale także projektowanie jego architektury, czyli planowanie komunikacji między klientem a serwerem, zarządzanie stanem aplikacji i zapewnienie jej wydajności. Mój system składa się z wielu modułów funkcjonalnych, takich jak autoryzacja, audyt czy komunikacja SMS, gdzie AI pomogło w szkicowaniu zarysu, ale to ja nadzorowałem ich integrację i spójność. Kluczowe było zrozumienie protokołów komunikacyjnych (HTTP/HTTPS, a w przypadku funkcji real-time – WebSockets), zarządzanie sesjami użytkowników oraz testowanie systemu pod obciążeniem, aby zapobiec awariom w środowisku produkcyjnym. Wiedza o tych aspektach, wynikająca z mojego doświadczenia w administracji serwerami i zarządzaniu sieciami, pozwoliła mi dostosować architekturę do specyficznych wymagań projektu. AI może wspierać w generowaniu fragmentów kodu, ale to człowiek definiuje strukturę systemu i zapewnia jego niezawodność.

 

 

Jak AI wspiera proces tworzenia systemu – Moje doświadczenie krok po kroku

 

Sztuczna inteligencja, w szczególności modele językowe (LLM), odegrała kluczową rolę w procesie tworzenia mojego systemu klient-serwer, opartego na frameworkach Laravel i Vue. Jako specjalista IT, a nie profesjonalny programista, wykorzystałem AI do wsparcia na każdym etapie – od planowania po testowanie – co pozwoliło mi znacząco przyspieszyć pracę. Jednak moje doświadczenie pokazuje, że AI jest asystentem, a nie samodzielnym twórcą. Poniżej opisuję, jak AI wspierało mnie w kluczowych fazach projektu, jednocześnie podkreślając konieczność ludzkiego nadzoru.

 

Argument 1: AI w planowaniu i projektowaniu – Ułatwia, ale nie zastępuje wizji 

AI jest nieocenionym narzędziem w generowaniu pomysłów i szkicowaniu zarysu systemu, ale to człowiek definiuje cele biznesowe i ograniczenia projektu. W moim przypadku rozpoczęcie prac nad systemem klient-serwer rozpoczęło się od współpracy z LLM. Opisałem szczegółowo każdy moduł systemu – jego założenia, oczekiwane funkcjonalności i wykorzystywane mechanizmy (np. autoryzacja, komunikacja SMS, powiadomienia wewnętrzne, audyt). Dzięki precyzyjnym promptom, AI pomogło mi stworzyć wstępny zarys architektury, sugerując podział na moduły i ich wzajemne zależności. Jednak to ja, opierając się na doświadczeniu w zarządzaniu projektami IT i administracji systemami, określiłem priorytety i dostosowałem propozycje AI do specyficznych wymagań biznesowych. AI nie zastąpiło mojej wizji, a jedynie ułatwiło jej przełożenie na konkretny plan.

 

Argument 2: Generowanie i modyfikacja kodu przez AI – Automatyzacja rutyny, ale z ludzkim nadzorem 

LLM znacząco przyspieszyło proces kodowania, tworząc strukturę plików i gotowe fragmenty kodu w PHP (Laravel) oraz JavaScript (Vue). Używałem starannie przygotowanych promptów, aby AI dostarczyło kod zgodny z założeniami, na przykład dla endpointów REST API czy komponentów interfejsu użytkownika. Gdy pojawiały się problemy – takie jak błędy w integracji API czy niezgodności w logice aplikacji – AI modyfikowało kod na podstawie moich opisów błędów. Jednak kluczowe było moje zaangażowanie w weryfikację. Dzięki wiedzy z administracji serwerami i doświadczeniu w technologiach takich jak PHP i MySQL, mogłem ocenić, czy kod jest poprawny i zgodny z wymaganiami projektu. AI działało jak asystent, automatyzując rutynowe zadania, ale to ja zapewniałem spójność i jakość kodu, co pokazuje, że ludzkie doświadczenie jest nadal niezbędne.

 

Argument 3: Testowanie i dokumentacja – AI przyspiesza, ale nie gwarantuje jakości 

AI odegrało ważną rolę w testowaniu i dokumentowaniu mojego systemu, przyspieszając te czasochłonne procesy. LLM przeprowadzało syntetyczne testy kodu, analizując jego strukturę i potencjalne błędy, co pozwoliło na szybkie wykrycie problemów, takich jak nieoptymalne zapytania do bazy MySQL. Dodatkowo, AI stworzyło szczegółową dokumentację REST API, która była niezbędna do integracji mojego systemu z zewnętrznymi narzędziami. Wdrożyłem także moduły oparte na AI, takie jak własny chat LLM czy narzędzia do generowania treści SEO, które testowałem z pomocą AI. Te moduły, integrowane z platformami WordPress, pokazały hybrydowe podejście, łączące tradycyjne technologie z nowoczesnymi rozwiązaniami AI. Jednak syntetyczne testy i automatyczna dokumentacja wymagały mojej weryfikacji, aby upewnić się, że spełniają realne potrzeby użytkowników i są zgodne z wymaganiami produkcyjnymi. Ludzkie testy i iteracje były kluczowe, by zapewnić jakość wdrożenia.

 

Ograniczenia AI – Dlaczego programiści (i specjaliści IT jak ja) pozostaną niezbędni?

 

Mimo że sztuczna inteligencja (AI), a w szczególności modele językowe (LLM), znacząco ułatwiają tworzenie systemów informatycznych, mają swoje ograniczenia, które podkreślają niezastąpioną rolę człowieka. Moje doświadczenie w budowie systemu klient-serwer opartego na Laravel i Vue pokazuje, że AI jest potężnym narzędziem, ale nie może w pełni zastąpić programistów ani specjalistów IT, takich jak ja. Poniżej przedstawiam trzy kluczowe ograniczenia AI, które wymagają ludzkiej ekspertyzy, kreatywności i nadzoru.

 

Argument 1: Brak kontekstu biznesowego i kreatywności 

AI generuje kod na podstawie dostarczonych promptów, ale nie rozumie unikalnych potrzeb biznesowych ani etycznych aspektów projektu. W moim przypadku, tworząc system (którego nazwa pozostaje poufna ze względów biznesowych), AI nie było w stanie samodzielnie określić priorytetów dla modułów, takich jak autoryzacja, audyt czy komunikacja SMS. To ja, korzystając z doświadczenia w zarządzaniu projektami oraz wiedzy o bezpieczeństwie sieci, dostosowałem strukturę i funkcjonalności systemu do specyficznych wymagań biznesowych. Na przykład, decyzje o tym, które moduły mają kluczowe znaczenie dla użytkownika końcowego lub jak zbalansować wydajność i koszty, wymagały mojej oceny opartej na praktyce i intuicji. AI może sugerować rozwiązania, ale to człowiek nadaje projektowi sens i kierunek, uwzględniając kontekst, którego maszyna nie jest w stanie w pełni zrozumieć.

 

Argument 2: Błędy i potrzeba iteracji 

AI, mimo swoich zaawansowanych możliwości, często popełnia błędy w złożonych scenariuszach, co wymaga ludzkiej interwencji. W trakcie tworzenia mojego systemu napotkałem sytuacje, w których kod generowany przez LLM pomijał specyficzne wymagania, takie jak optymalizacja zapytań MySQL czy poprawna konfiguracja serwera Apache. Na przykład, w jednym z przypadków AI zaproponowało rozwiązanie dla endpointu REST API, które nie uwzględniało specyfiki mojej bazy danych, co prowadziło do błędów w działaniu. Jako trener IT i specjalista z doświadczeniem w administracji systemami, byłem w stanie zidentyfikować i poprawić te problemy, opierając się na praktycznej wiedzy o debugowaniu i optymalizacji. Te doświadczenia pokazują, że AI nie zastąpi umiejętności analitycznych i doświadczenia w rozwiązywaniu problemów, które programiści i specjaliści IT rozwijają przez lata praktyki.

 

Argument 3: Integracja z istniejącymi technologiami i rozwój 

AI dobrze radzi sobie z izolowanymi zadaniami, takimi jak generowanie kodu dla pojedynczego modułu, ale tworzenie i utrzymanie złożonych systemów wymaga holistycznego podejścia. W moim projekcie integrowałem moduły oparte na AI, takie jak chaty z własnym modelem LLM, z istniejącymi platformami, takimi jak WordPress. Proces ten wymagał połączenia mojej wiedzy z administracji serwerami, zarządzania sieciami i optymalizacji WordPress z nowymi technologiami AI. Co więcej, ciągłe aktualizacje frameworków, takich jak Laravel czy Vue, oraz zmieniające się wymagania biznesowe wymagają bieżącej adaptacji, której AI nie jest w stanie samodzielnie śledzić. Na przykład, dostosowanie systemu do nowych wersji bibliotek czy zapewnienie kompatybilności z zewnętrznymi API wymagało mojej interwencji i zrozumienia szerszego kontekstu technologicznego. To pokazuje, że specjaliści IT, tacy jak ja, odgrywają kluczową rolę w integracji i ewolucji systemów, łącząc tradycyjne kompetencje z nowoczesnymi narzędziami AI.

 

Wniosek

 

Moje doświadczenie w tworzeniu systemu klient-serwer opartego na Laravel i Vue pokazuje, że sztuczna inteligencja (AI) rewolucjonizuje programowanie, umożliwiając osobom takim jak ja – specjalista IT i administrator WordPress bez formalnego współczesnego wykształcenia programistycznego – budowanie zaawansowanych rozwiązań. AI, w szczególności modele językowe (LLM), wspierało mnie na każdym kroku: od projektowania architektury, przez generowanie kodu, po testowanie i dokumentację. Jednak kluczowe aspekty, takie jak zrozumienie kontekstu biznesowego, projektowanie UI/UX, debugowanie czy integracja z istniejącymi technologiami, wymagały mojej wiedzy, kreatywności i nadzoru. Ograniczenia AI – brak intuicji biznesowej, skłonność do błędów w złożonych scenariuszach oraz potrzeba ciągłej adaptacji do zmian – potwierdzają, że programiści i specjaliści IT pozostaną niezastąpieni.

 

W przyszłości AI stanie się standardowym narzędziem, zwiększającym efektywność pracy, ale rola programistów ewoluuje w kierunku architektów systemów i strategów, którzy nadają technologii sens. Jako trener IT i WordPress Administrator, wykorzystuję AI do tworzenia wysokiej jakości projektów, co przynosi korzyści moim klientom. Zachęcam więc do eksperymentowania z AI w branży IT, łącząc je z ciągłym rozwojem umiejętności – na przykład poprzez moje szkolenia z PHP, JavaScript czy administracji systemami. AI to potężny sojusznik, ale to człowiek wciąż trzyma ster, przekuwając kod w rozwiązania zmieniające świat.