Jeśli twierdzisz że AI jest kiepskie w programowaniu, to znaczy że twój workflow ssie.
ChatGPT, Claude czy Cursor potrafią napisać podstawowe funkcje, stworzyć komponenty systemu.
Tym sposobem możesz zbudować całe aplikacje.
Nawet „stwórz mi grę w Snake’a” stało się swoistym social mediowym benchmarkiem jak dobry jest model :)
Ale... 90% developerów traci czas na bezsensowne przepychanki z AI.
Proszą o całe pliki.
Piszą niejasne prompty. Oczekują, że wydarzy się magia.
Potem narzekają, że "AI nie działa" albo "generuje błędy".
To nie jest winą młotka, że gwóźdź jest źle wbity.
W mojej codziennej pracy z Cursor i Claude wypracowałem prostsze podejście. Zamiast całych funkcjonalności - proszę o małe, konkretne zadania. Zawsze dostarczam kontekst: ADRy, dokumentację, przykłady istniejącego kodu. Walidację robię małymi krokami, włącznie z generowaniem unit testów.
To właśnie wypracowanie mega precyzyjnego kontekstu i proszenie o konkret działa cuda.
Załóżmy, że potrzebuję nowego endpointa do obsługi płatności. Zamiast pisać “zrób mi API płatności”, wklejam:
- Fragment aktualnego kodu obsługi zamówień
- Przykład podobnego endpointa z dokumentacji
- ADR wyjaśniający nasze podejście do transakcji
- Link do Swaggera z podobnymi endpointami
AI nagle “rozumie” nasz styl, konwencje nazwewnictwa, podejście do obsługi błędów. Generowany kod pasuje do reszty systemu jak puzzle.
Sam Cursor w trybie Composer robi sporą część pracy za nas - przeszukuje codebase, analizuje podobne fragmenty i wyłapuje wzorce. Ale nawet wtedy warto mu pomóc, dodając szczegóły.
Ostatnio dodawałem logowanie eventów w Firebase Functions. Najpierw pokazałem AI jak logujemy w innych miejscach, jaką mamy strukturę, jakich używamy patterów. Efekt? Kod od AI wyglądał jakby napisał go solidny mid.
W Next.js AI błyszczy - generuje komponenty, hooki, nawet całe strony. Ale gdy ostatnio grzebałem z Cursorem w legacy Androidzie z 2019 roku? Cóż, tam już nie było tak różowo. Specyficzne API, przestarzałe biblioteki, dziwne zależności - to zupełnie inna liga problemów, gdzie AI częściej zmyśla niż odpowiada.
AI to potężne narzędzie w rękach programisty, ale jak każde narzędzie - wymaga właściwego podejścia.
Zamiast rzucać się na głęboką wodę z wielkimi kawałkami kodu, warto:
- Rozbijać zadania na mniejsze części
- Dostarczać bogaty kontekst (kod, docs, ADRy)
- Weryfikować wyniki na bieżąco
Ale jedno jest pewne - to nie AI zawodzi, tylko nasze podejście do niego.
To nie jest winą młotka, że gwóźdź jest źle wbity.
Bo dobry programista wie, że AI to nie magiczny generator kodu, tylko inteligentny pair programmer, który potrzebuje właściwego kontekstu do działania.
|