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 1.0: Klasyczny kod pisany ręcznie (tutaj wybierz język, jaki ci pasuje). Logika zdefiniowana przez programistę.
- Software 2.0: Sieci neuronowe. Nie piszesz kodu bezpośrednio, ale optymalizujesz wagi na podstawie danych.
- Software 3.0: LLM-y jako programowalne jednostki. Prompt w języku naturalnym (tutaj wstaw swój język, jakim operujesz. P.S. Polski język jest liderem w komunikacji z AI!).
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:
- Czy już teraz jesteśmy uzależnieni od LLM-ów i czy powinniśmy się tego bać?
- Jak będzie wyglądało programowanie w przyszłości?
- 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).
Na co jeszcze mamy wpływ i co możemy usprawnić?
-
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.
-
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.
-
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.
- Brak obrazów: AI najlepiej radzi sobie z czystym tekstem (Markdown).
- Semantyka akcji: Zamiast "kliknij przycisk X", opisz akcję: "wykonaj żądanie POST do endpointu Y".
- Struktura: Logiczny opis procesów, a nie wizualna instrukcja.
Narzędzia wspierające:
- Gitingest: Zamienia repozytorium w jeden plik tekstowy (kontekst dla LLM).
- Deepwiki: Tworzy mapę repozytorium dla lepszego zrozumienia architektury.
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.
Poziomy autonomii (na przykładzie Cursora):
- Niska (Tab): Proste autouzupełnianie (Co-pilot).
- Średnia (Cmd + K): Edycja zaznaczonego fragmentu.
- Wysoka (Cmd + L): Rozmowa o całym projekcie, planowanie.
- 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.