Jak rozmawiać z Claude Code — iteracja zamiast jednego wielkiego promptu
Największy błąd nowych użytkowników Claude Code: oczekiwanie gotowego rozwiązania w jednym zapytaniu. Jak naprawdę wygląda efektywna praca z AI w kodzie.
Pierwsza sesja z Claude Code wygląda zwykle podobnie: użytkownik siada, formułuje dokładny, długi prompt opisujący wszystko czego potrzebuje, wysyła — i czeka na gotowe rozwiązanie. Czasem to działa. Częściej wynik jest w połowie dobry, w połowie nie o to chodziło, a użytkownik zastanawia się czy narzędzie jest po prostu słabe.
Problem nie leży w narzędziu. Leży w podejściu.
Jeden prompt to nie jest rozmowa
Claude Code nie jest generatorem kodu, do którego wkłada się specyfikację i wyjmuje gotowy produkt. To agent, z którym się pracuje — podobnie jak z programistą siedzącym obok. Nikt nie wysyła programiście jednej wiadomości z pełną specyfikacją i nie czeka dwa dni na wynik. Praca wygląda inaczej: krótkie pytania, szybkie odpowiedzi, korekty w locie, decyzje podejmowane na bieżąco.
Z Claude Code jest dokładnie tak samo.
Jak wygląda dobra iteracja w praktyce
Weźmy konkretny przykład. Chcesz dodać do aplikacji system powiadomień e-mail.
Złe podejście — jeden prompt:
„Dodaj do mojej aplikacji system powiadomień e-mail. Użytkownicy powinni dostawać wiadomość przy rejestracji, resecie hasła i nowych komentarzach. Użyj SendGrid, obsłuż błędy, dodaj kolejkę, napisz testy.”
To jest pięć różnych zadań w jednym zdaniu. Claude spróbuje zrobić wszystko naraz, podejmie dziesiątki decyzji bez Twojego udziału i najprawdopodobniej trafi w cel tylko częściowo.
Dobre podejście — iteracja:
- „Jak powinna wyglądać architektura systemu powiadomień w tej aplikacji? Pokaż tylko plan, nie pisz kodu.” → Omawiacie strukturę, zgadzacie się na podejście.
- „Dodaj klasę EmailService z metodą send() używającą SendGrid. Tylko szkielet, bez logiki.” → Weryfikujesz kierunek.
- „Zaimplementuj teraz metodę send() z obsługą błędów.” → Konkretne zadanie.
- „Napisz testy dla EmailService.” → Osobny krok, łatwy do oceny.
Ten sam wynik końcowy, ale każdy krok jest weryfikowalny i możesz korygować kurs zanim Claude zajdzie za daleko.
Push back — i dlaczego to jest w porządku
Jedną z rzeczy, której nowi użytkownicy uczą się z opóźnieniem: Claude można (i trzeba) poprawiać. Nie ma żadnego powodu, żeby akceptować pierwszą propozycję, jeśli nie trafia w punkt.
Kilka zdań, które warto mieć w pamięci:
- „To nie do końca o to mi chodziło — spróbuj jeszcze raz, ale tym razem…”
- „Nie podoba mi się to podejście. Jaką masz alternatywę?”
- „To jest zbyt skomplikowane. Uprość.”
- „Pomyłka — tutaj mamy zależność X, która to uniemożliwia.”
Claude nie obraża się, nie traci motywacji i nie pamięta poprzedniej rozmowy jako porażki. Każdy push back to po prostu nowa informacja, na podstawie której dostosowuje odpowiedź.
Kiedy jeden prompt jednak działa
Są zadania, gdzie jedno szczegółowe zapytanie ma sens — kiedy kontekst jest jasny, zakres wąski i kryterium sukcesu jednoznaczne.
Napisz funkcję, która przyjmuje tablicę stringów i zwraca tylko te, które są poprawnymi adresami e-mail. Użyj regex. Funkcja w TypeScript, z typami.
To jest kompletna specyfikacja dla kompletnego, małego zadania. Nie ma tu czego iterować — albo wynik jest dobry, albo poprawiamy jedno zdanie.
Problem zaczyna się, kiedy ten schemat przenosi się na duże, wielowymiarowe zadania.
Praktyczna zasada
Zanim wyślesz prompt, zadaj sobie jedno pytanie: czy wiem, jak sprawdzić, że wynik jest dobry? Jeśli nie — zadanie jest za duże i trzeba je podzielić. Jeśli tak — możesz wysłać i ocenić wynik po chwili.
To prosta heurystyka, która eliminuje większość frustracji przy pracy z Claude Code.