Przejdź do treści
hinkingRobert Marczyński · Ekspert od sztucznej inteligencji

Projektowanie i kodowanie oprogramowania z AI

AI skraca wytwarzanie oprogramowania najbardziej tam, gdzie problem jest już zrozumiany, a praca polega na przełożeniu go na kod: prototypy, migracje, przepisywanie aplikacji między technologiami, testy i dokumentacja. Nie zastępuje decyzji architektonicznych ani zrozumienia dziedziny, i traci przewagę wszędzie tam, gdzie trudność leży w tym, co zbudować, a nie jak to napisać.

Gdzie AI realnie skraca wytwarzanie oprogramowania

Zysk z AI w programowaniu nie jest równomierny. Zależy od jednej rzeczy: czy trudność zadania leży w tym, co zbudować, czy w tym, jak to napisać.

Tam, gdzie problem jest już zrozumiany, a praca polega na przełożeniu go na kod, AI skraca czas znacząco. Tam, gdzie trudność leży w decyzji, projekcie albo zrozumieniu dziedziny, AI nie pomaga, a czasem szkodzi, bo pozwala szybciej dojść do złego rozwiązania.

Obszary o najlepszym stosunku efektu do nakładu:

Prototypy i wersje próbne

Zbudowanie działającej wersji, na której da się sprawdzić pomysł, zanim zapadną kosztowne decyzje. AI skraca drogę od koncepcji do czegoś, co można kliknąć i ocenić. Prototyp z założenia jest do wyrzucenia, więc niższa dbałość o strukturę nie jest tu wadą.

Kod powtarzalny i szablonowy

Warstwy, które w każdym projekcie wyglądają podobnie: obsługa formularzy, walidacja, komunikacja z API, typowe widoki. To praca, w której człowiek i tak nie podejmuje trudnych decyzji, a jedynie odtwarza znany wzorzec. AI odtwarza go szybciej.

Testy i dokumentacja

Pokrycie istniejącego kodu testami oraz opisanie, jak działa. Zadania, które są ważne, a bywają odkładane, bo są żmudne. AI obniża ich koszt na tyle, że przestają być odkładane.

Przepisywanie i modernizacja istniejących aplikacji

To osobny obszar, w którym AI zmienia rachunek opłacalności najmocniej, i najczęstszy powód, dla którego firmy w ogóle wracają do starych aplikacji.

Przepisywanie polega na przeniesieniu działającej aplikacji na nowszą technologię, framework albo architekturę. Klasycznie jest to praca droga i ryzykowna, bo trzeba ręcznie odtworzyć zachowanie, którego często nikt już w pełni nie pamięta. AI wykonuje powtarzalną część tłumaczenia kodu z jednej technologii na drugą, a człowiek prowadzi całość i pilnuje, żeby zachowanie się nie zmieniło.

Warunek, którego nie wolno pominąć: testy potwierdzające równoważność. Zanim cokolwiek się przepisze, trzeba mieć zestaw testów opisujących, jak stara wersja się zachowuje. Bez nich migracja z AI zamienia jeden nieznany stan na drugi, tyle że szybciej. Z nimi przepisywanie staje się procesem, który da się sprawdzać krok po kroku.

Typowe sytuacje, w których to się opłaca:

  • aplikacja działa, ale stoi na technologii bez wsparcia, co blokuje rozwój i podnosi ryzyko;
  • koszt utrzymania rośnie, bo coraz mniej osób rozumie starą technologię;
  • trzeba dołożyć funkcje, których stara architektura nie udźwignie.

Czego AI w programowaniu nie robi

Granice są tu równie ważne jak możliwości, bo to one decydują, gdzie potrzebny jest człowiek.

Nie podejmuje decyzji architektonicznych. Jak podzielić system, gdzie postawić granice, co uprościć kosztem czego. To decyzje o dużych konsekwencjach, oparte na zrozumieniu kontekstu, którego model nie ma.

Nie rozumie dziedziny za ciebie. AI napisze kod realizujący regułę biznesową, ale nie powie, czy reguła jest poprawna. Przy niejasnych wymaganiach szybsze generowanie kodu tylko przyspiesza budowę czegoś, czego nikt nie potrzebował.

Nie gwarantuje poprawności. Model generuje kod prawdopodobny, nie gwarantowanie działający. Każdy fragment wymaga przeglądu przez osobę, która rozumie, co ma powstać. Praca nie znika, przesuwa się z pisania na czytanie i weryfikację.

Nie zastępuje testów. Kod, którego nikt nie sprawdził ani nie pokrył testami, jest szybszy do napisania i droższy w utrzymaniu. AI obniża koszt pisania testów, więc pomijanie ich przestaje mieć jakiekolwiek usprawiedliwienie.

Jak prowadzę takie projekty

Zasada jest jedna: AI przyspiesza realizację, człowiek odpowiada za to, co powstaje.

W praktyce oznacza to pracę małymi, sprawdzalnymi krokami. Każda zmiana jest czytana, zanim wejdzie, a nie akceptowana hurtem. Przy przepisywaniu aplikacji najpierw powstają testy równoważności, potem migracja. Przy nowym kodzie najpierw rozstrzygamy, co budujemy i dlaczego, a dopiero potem AI pomaga to napisać.

Nie prowadzę projektów, w których celem jest „napisać to szybciej AI", bez zdefiniowanego, sprawdzalnego efektu. Szybsze pisanie kodu, którego poprawności nikt nie kontroluje, nie jest oszczędnością, tylko przeniesieniem kosztu na później.

Najczęstsze pytania

Czy AI naprawdę przyspiesza pisanie kodu?
Tak, ale nierównomiernie. Największy zysk jest przy pracy dobrze zdefiniowanej: prototypy, kod powtarzalny, testy, migracje, przepisywanie z jednej technologii na drugą. Znika przy problemach, w których trudność leży w projekcie i decyzjach architektonicznych, a nie w samym pisaniu. Model generuje kod prawdopodobny, nie gwarantowanie poprawny, więc każdy fragment wymaga przeglądu przez kogoś, kto rozumie, co ma powstać.
Na czym polega przepisywanie aplikacji za pomocą AI?
Na przeniesieniu istniejącej aplikacji na nowszą technologię lub architekturę, gdzie AI wykonuje powtarzalną część tłumaczenia kodu, a człowiek prowadzi projekt i pilnuje, żeby zachowanie się nie zmieniło. Warunkiem powodzenia jest pokrycie testami: bez testów, które potwierdzają, że przepisana wersja działa tak samo jak stara, migracja z AI zamienia jeden nieznany stan na drugi.
Czy kod napisany z AI jest gorszej jakości?
Jakość zależy od tego, kto prowadzi pracę, a nie od tego, że użyto AI. Kod generowany bez przeglądu bywa rozwlekły, powiela wzorce i wprowadza subtelne błędy. Kod powstający pod nadzorem osoby, która rozumie dziedzinę i czyta każdą zmianę, jest tak dobry jak przy pracy ręcznej, tylko powstaje szybciej. Wąskim gardłem przestaje być pisanie, a staje się przegląd.
Kiedy nie warto używać AI do wytwarzania oprogramowania?
Gdy problem nie jest jeszcze zrozumiany. AI świetnie przekłada rozwiązanie na kod, ale nie wymyśli za ciebie, co właściwie zbudować. Przy nowej dziedzinie, niejasnych wymaganiach albo decyzjach architektonicznych o dużych konsekwencjach szybsze generowanie kodu tylko przyspiesza dojście do złego rozwiązania. Najpierw zrozumienie problemu, potem AI do jego realizacji.

Powiązane

Masz konkretny proces do omówienia?

Napisz, jaki to proces i ile razy w miesiącu się powtarza. Odpowiem, czy nadaje się do automatyzacji, również wtedy, gdy odpowiedź brzmi „nie warto”.