Przyszłość Programowania

Autor: Patryk Zych

Źródło: https://www.youtube.com/watch?v=LCEmiRjPEtQ&t=2s

Software has not changed much on such a fundamental level for 70 years. And then it's changed I think about twice quite rapidly in the last few years. And so there's just a huge amount of work to do, a huge amount of software to write and rewrite.

Andrej Karpathy (twórca pojęcia "vibe codingu")

Jesteśmy na przededniu wielkiej zmiany w podejściu do programowania. Nazywam się Patryk Zych, jestem Senior Frontend Developerem i nie wiem, czy wydarzy się to w tym, czy w kolejnych latach — ale z pewnością musimy zmienić podejście do tego fachu :) Ale od początku.

W 2019 r. skończyłem pisać swoją pracę inżynierską o intrygującym tytule "Wykorzystanie sieci neuronowych w predykcji akcji cen giełdowych". Myślę, że moja ówczesna dziewczyna (a teraz żona) miała już dość słuchania o tym, jak to ta technologia zmieni świat i życie każdego z nas. Oczywiście nie myślałem, że tak szybko i tak bardzo.

Według Andreja Karpathy'ego to, co ja wtedy uważałem za szczyt sztucznej inteligencji, było tylko pierwszą z dwóch rewolucji. Nazwał to tzw. Programowaniem 2.0.

Trzy ery programowania

Software 3.0 — era LLM w programowaniu, artykuł Patryka Zycha

Zarówno moja praca inżynierska, jak i przywoływany przez Karpathy'ego przykład autopilota Tesli, to reprezentanci ery Software 2.0.

W obu przypadkach sieci neuronowe zastępują klasyczny kod w konkretnych, wąskich zastosowaniach. Karpathy opisuje to jako proces, w którym "Software 2.0" pochłania "Software 1.0", eliminując tysiące linii ręcznie pisanego kodu (np. w C++).

Mimo swojego zaawansowania, oba te systemy mają to samo ograniczenie – brak ogólnej inteligencji. Ani mój model giełdowy, ani autopilot Tesli nie byłyby w stanie odpowiedzieć na proste pytanie: ile czasu gotować jajko, aby było na miękko?

Wielka Zmiana: 30 listopada 2022 r.

Ta data nie jest dokładnym startem rewolucji programowania 3.0, ale startem strony internetowej chatgpt.com. To zmieniło wszystko. Dzisiaj, a piszę to na początku 2026 roku (czyli ponad 3 lata po starcie tej witryny), mamy dziesiątki dużych graczy w LLM oraz tysiące narzędzi, z których możemy korzystać.

Więc po trochę przydługim wstępie, zasadne stają się pytania:

  1. Czy już teraz jesteśmy uzależnieni od LLM-ów i czy powinniśmy się tego bać?
  2. Jak będzie wyglądało programowanie w przyszłości?
  3. Czy LLM-y zastąpią wszystkie inne aplikacje?

Czy powinniśmy bać się uzależnienia od AI?

"AI is the new electricity" — Andrew Ng

W ujęciu opisanym przez Andrew Ng sztuczna inteligencja jest odpowiednikiem elektryfikacji. Wskazują na to uderzające podobieństwa:

Cecha Elektryczność AI (LLM)
CapEx/OpEx Budowa sieci vs Przesył Trenowanie modelu vs Koszt API
Jednostka Kilowatogodzina (kWh) Tokeny
Jakość Stałe napięcie Niskie opóźnienia, uptime
Redundancja Sieć/Solar/Generator Przełączanie modeli (Claude/Gemini)

Karpathy porównuje AI raczej do systemu operacyjnego

Komponent Tradycyjny System OS Model AI (LLM)
Jednostka Centralna CPU/Kernel Wagi modelu (przetwarzanie i logika)
Pamięć Operacyjna RAM Okno kontekstowe (Context Window)
Pamięć Masowa Dysk Twardy (HDD) RAG / Bazy wektorowe
Interfejs Shell / Terminal Czat (Język Naturalny)
Zarządzanie czasem Time-sharing (współdzielenie dostępu do mainframe'u) Dostęp chmurowy (API) - wszyscy korzystamy z jednej "inteligencji"

Wniosek? Nieważne, czy spojrzymy na modele językowe oczami Andrew Ng, czy Andreja Karpathy’ego. Oba te porównania prowadzą do jednego: w dobie elektryfikacji i komputeryzacji ludzie też byli pełni sceptycyzmu. Czy dzisiaj martwimy się na co dzień, że przez brak prądu nie będziemy w stanie nic zrobić? Nie. Z czasem dokładnie to samo stanie się z naszym podejściem do LLM-ów.

Jak będzie wyglądało programowanie w przyszłości?

A może wygląda już dzisiaj?

Programowanie przy wykorzystaniu sztucznej inteligencji polega na definiowaniu wymagań za pomocą języka naturalnego i przesyłaniu ich do AI, a następnie weryfikacji. Jeżeli nie jesteśmy zadowoleni z odpowiedzi, powtarzamy proces (pętla zwrotna).

Pętla zwrotna człowiek–AI w procesie programowania, Patryk Zych

Na co jeszcze mamy wpływ i co możemy usprawnić?

  1. Optymalizacja weryfikacji:

    • Wykorzystanie GUI do wizualizacji zmian (mózg szybciej wyłapuje różnice graficzne niż tekstowe).
    • Praca na małych "chunkach" (fragmentach) – mniejszy zakres to szybszy test i mniejsze ryzyko błędu.
  2. Incremental Workflow (Trzymanie AI na smyczy):

    • Zamiast prosić o gotowy kod, proś o podejścia (approaches).
    • Wybierz jedno, weryfikuj z dokumentacją, testuj, commituj.
    • Iteruj małymi krokami.
  3. Inwestycja w prompt:

    • Słaby prompt = wielokrotne poprawianie (strata czasu).
    • Dobry prompt = cel, wymagania, brzegowe przypadki i ograniczenia.

Przykład lepszego promptowania

Zamiast: "Napisz rate limiter w Pythonie", użyj:

  • Cel: Token bucket rate limiter.
  • Wymagania: 10 req/min, identyfikacja po user_id, thread-safety.
  • Context: Edge cases (zmiana czasu systemowego, czyszczenie pamięci).
  • Ograniczenia: Tylko stdlib, czytelność ponad optymalizację.

W przypadku małych aplikacji, kodowanie staje się łatwiejszą częścią projektu. Na dzień dzisiejszy więcej czasu może zająć DevOps i "klikanie po stronach", aby odpalić projekt LIVE.

Dokumentacja "AI-Native"

Tradycyjna dokumentacja jest mało efektywna dla LLM. Aby zmaksymalizować potencjał AI, należy tworzyć treści zoptymalizowane pod kątem kontekstu.

Narzędzia wspierające:

Dlaczego to ważne? Większość czasu pracy z AI marnuje się na tłumaczenie jej "jak coś działa". Podanie danych w formacie "AI-digestible" drastycznie skraca czas weryfikacji.

Przyszłość: Hybrydowe Aplikacje i "Autonomiczny Slider"

Czy programiści znikną? Era "jednej aplikacji do wszystkiego" (jak ChatGPT) ustępuje miejsca aplikacjom o częściowej autonomii. Są to hybrydy łączące modele LLM z tradycyjnym interfejsem graficznym.

Autonomiczny Slider

To koncepcja interfejsu, w którym użytkownik decyduje, jak dużo swobody oddaje AI w danym momencie.

Koncepcja autonomicznego slidera w narzędziach AI, artykuł Patryka Zycha

Poziomy autonomii (na przykładzie Cursora):

  1. Niska (Tab): Proste autouzupełnianie (Co-pilot).
  2. Średnia (Cmd + K): Edycja zaznaczonego fragmentu.
  3. Wysoka (Cmd + L): Rozmowa o całym projekcie, planowanie.
  4. Najwyższa (Cmd + I): Tryb "architekta" – AI samodzielnie tworzy i edytuje pliki (Ty tylko zatwierdzasz).

Wyzwanie: Przepisanie narzędzi takich jak Photoshop na ten model. Jak AI ma zrozumieć warstwy? Jak pokazać użytkownikowi różnicę (diff) w grafice? To pytania, na które będziemy szukać odpowiedzi w najbliższych latach.