Prompt Engineering dla Claude — jak pisać prompty które dają powtarzalne wyniki
Seria Claude Code · JSystemsPrzepisałeś prompt z ChatGPT do Claude i dostałeś gorszy wynik. Dodałeś instrukcje, ale model "zapomniał" połowy z nich. Teraz pytasz: czy Claude jest gorszy? Nie — po prostu reaguje inaczej, i gdy to rozumiesz, wyniki stają się znacznie lepsze niż z GPT.
Ten artykuł zebrał techniki specyficzne dla Claude które poprawiają jakość i przewidywalność odpowiedzi — szczególnie ważne gdy budujesz aplikacje gdzie konsekwentność jest kluczowa.
Z tego artykułu dowiesz się:
- Dlaczego prompty z ChatGPT nie działają tak samo w Claude
- 7 konkretnych technik pisania skutecznych promptów dla Claude
- Jak wymuszać format i długość odpowiedzi
- Najczęstsze błędy które niszczą jakość wyników
Technika 1: XML Tags — porządkowanie promptu
Anthropic oficjalnie rekomenduje używanie XML tagów do strukturyzowania długich promptów. Claude jest na nie szkolony i wyraźnie na nie reaguje lepiej — traktuje zawartość tagów jako oddzielne, izolowane sekcje instrukcji.
Przykład struktury promptu z XML:
<system>
Jesteś doświadczonym analitykiem finansowym.
Analizujesz raporty kwartalne i identyfikujesz ryzyka.
</system>
<context>
Firma: Tech Corp
Sektor: SaaS B2B
Przychody Q3: 12.4M PLN (-3% QoQ)
</context>
<task>
Przeanalizuj wyniki i wskaż 3 główne ryzyka dla kolejnego kwartału.
Odpowiedz w formacie listy numerowanej.
</task>
Claude traktuje zawartość tagów jako oddzielne sekcje i rzadziej "gubi" instrukcje z poszczególnych sekcji przy długich promptach. To szczególnie ważne gdy masz jednocześnie: rolę, kontekst, zadanie i ograniczenia.
💡 Dla początkujących: "XML tagi" to po prostu nazwy w nawiasach kątowych, np.
<task> i </task>. Nie musisz znać XMLa — chodzi tylko o to żeby wyraźnie oddzielić różne części instrukcji. Claude jest trenowany żeby rozumieć tę strukturę jako sygnał: "to jest osobna, ważna sekcja instrukcji".Technika 2: Prefilling — zacznij odpowiedź za Claude
Claude pozwala na "prefilling" — możesz zacząć odpowiedź asystenta i Claude ją dokończy. To wymusza format i eliminuje problem "Claude odpowiedział nie w tym formacie co chciałem":
Przykład prefillingu przez API:
messages = [
{"role": "user", "content": "Przeanalizuj ten kod pod kątem błędów bezpieczeństwa:\n{code}"},
{"role": "assistant", "content": "## Analiza bezpieczeństwa\n\n### Znalezione podatności:"}
]Claude dokończy odpowiedź zaczynając od tego miejsca — format jest gwarantowany. Używaj tej techniki gdy potrzebujesz zawsze tego samego struktury wyjścia.
💡 Dla początkujących: "Prefilling" działa tylko przez API (nie przez claude.ai w przeglądarce). W API możesz wysłać nie tylko wiadomość użytkownika, ale też "wstępnie wypełnioną" odpowiedź asystenta — i model ją dokończy. To jak podać komuś pierwsze słowa zdania i kazać mu je skończyć.
Technika 3: Thinking Tokens — "pomyśl zanim odpowiesz"
Dla trudnych zadań analitycznych — poproś Claude o jawne rozumowanie przed odpowiedzią. To znacząco poprawia jakość przy skomplikowanych problemach:
Wersja tekstowa (działa w każdym interfejsie):
Zanim odpowiesz, przemyśl to w bloku <thinking>:
- Jakie informacje mam?
- Jakich informacji brakuje?
- Jakie są możliwe podejścia?
- Które podejście jest najlepsze i dlaczego?
<thinking>
[Claude wypełni to swoim rozumowaniem]
</thinking>
Następnie podaj finalne rozwiązanie.
Wersja przez API (oficjalny parametr):
response = client.messages.create(
model="claude-sonnet-4-5",
max_tokens=16000,
thinking={"type": "enabled", "budget_tokens": 10000},
messages=[{"role": "user", "content": "..."}]
)Parametr budget_tokens kontroluje ile tokenów model może przeznaczyć na "myślenie" przed udzieleniem odpowiedzi.
Chcesz nauczyć się tych technik w praktyce na realnych projektach? → Szkolenie Claude Code z terminem gwarantowanym — 3 dni warsztatów z trenerem.
Technika 4: Negative Space — powiedz czego NIE robić
Claude bardzo dobrze reaguje na negatywne ograniczenia — często lepiej niż na pozytywne instrukcje. Zamiast opisywać co chcesz, opisz co chcesz wykluczyć:
Przykład dla copywritingu:
Napisz opis produktu.
NIE używaj:
- słów: "innowacyjny", "przełomowy", "rewolucyjny", "lider"
- zdań zaczynających się od "Dzięki..."
- superlatyw bez danych ("najlepszy", "jedyny")
Używaj:
- konkretnych liczb i faktów
- języka korzyści (co klient zyska, nie co produkt ma)
Ta technika działa też świetnie przy kodzie: "napisz tę funkcję NIE używając rekurencji, NIE modyfikując oryginalnej tablicy, NIE używając pętli for".
💡 Dla początkujących: "Negative space" pochodzi z terminologii artystycznej — to przestrzeń wokół obiektu, nie obiekt sam. W prompt engineeringu oznacza definiowanie granicy przez to czego NIE chcesz, zamiast przez to czego chcesz. Claude jest szczególnie wrażliwy na takie ograniczenia — przetwarzał ogromne ilości tekstów gdzie "zakazy" są bardzo precyzyjne (np. przepisy prawne, zasady bezpieczeństwa).
Technika 5: Role + Audience + Tone — trójka która działa
Dla spójnych outputów zawsze definiuj trzy rzeczy razem — sama rola nie wystarczy:
Rola: Jesteś senior software architect z 15-letnim doświadczeniem w systemach rozproszonych.
Odbiorca: Piszesz dla junior developerów którzy dopiero zaczynają z mikroserwisami.
Ton: Techniczny ale przystępny, używaj analogii, unikaj żargonu bez wyjaśnienia.Bez "Odbiorca" — Claude napisze dla innego architekta. Bez "Ton" — będzie się wahał między akademickim a konwersacyjnym. Trójka razem daje znacznie bardziej przewidywalne wyniki.
Technika 6: Few-Shot w formacie XML
Claude dobrze radzi sobie z few-shot (przykłady input→output) ale format ma znaczenie. Najlepiej działa gdy przykłady są w XML — Claude traktuje je jako wyraźnie oddzielone przypadki testowe:
<examples>
<example>
<input>Zamówienie przyszło uszkodzone</input>
<output>Bardzo mi przykro z powodu uszkodzonego zamówienia. Proszę o przesłanie zdjęcia na reklamacje@firma.pl, a wyślemy nowe w ciągu 24h.</output>
</example>
<example>
<input>Kiedy dostanę swoje pieniądze z powrotem</input>
<output>Zwrot środków następuje w 5-7 dni roboczych. Numer Twojej reklamacji to: [do uzupełnienia]. Mogę potwierdzić email na którym mam wysłać potwierdzenie?</output>
</example>
</examples>
Nowe zapytanie klienta: {query}
💡 Dla początkujących: "Few-shot" to technika gdzie pokazujesz modelowi kilka przykładów jak ma odpowiadać, zanim zadasz prawdziwe pytanie. "Shot" = przykład. Bez przykładów = zero-shot. Jeden przykład = one-shot. Kilka = few-shot. Im więcej przykładów, tym model lepiej rozumie wzorzec — ale zbyt wiele przykładów wydłuża i droższy prompt.
Technika 7: Kontrola długości odpowiedzi
Claude domyślnie pisze dużo. Kilka sposobów kontroli w zależności od kontekstu:
"Odpowiedz w maksymalnie 3 zdaniach"— bardzo dosłownie przestrzegane"Format: bullet points, max 5 punktów"— narzuca strukturę i długość jednocześnie"Pomiń wyjaśnienia — tylko wynik"— eliminuje wstępy i podsumowania- Parametr API:
max_tokens— twardy limit tokenów w odpowiedzi
Częste błędy przy prompt engineeringu dla Claude
| Błąd | Efekt | Fix |
|---|---|---|
| Sprzeczne instrukcje w prompcie | Claude losowo wybiera lub odmawia | Hierarchia: "Jeśli X, to Y; w przeciwnym razie Z" |
| Zbyt ogólna rola ("jesteś ekspertem") | Generyczne odpowiedzi | Konkretna rola + kontekst + lata doświadczenia |
| Brak formatu wyjścia | Każda odpowiedź inaczej sformatowana | Zawsze definiuj format — JSON, markdown, lista |
| Zapytanie o niemożliwe | Claude zmyśla lub odmawia niejasno | Daj kontekst który Claude może faktycznie użyć |
3 błędy które niszczą wyniki w praktycznych projektach
Błąd 1: Brak przykładów przy niestandardowym formacie
Jeśli chcesz odpowiedzi w niestandardowym formacie (np. własna struktura JSON), same opisy często nie wystarczają. Zawsze dołącz co najmniej jeden przykład oczekiwanego wyjścia — Claude "nauczy się" formatu znacznie lepiej z przykładu niż z opisu.
Błąd 2: System prompt bez hierarchii priorytetów
Gdy masz 10 reguł bez określenia priorytetów — Claude robi co może, ale przy konflikcie między regułami 3 i 7 nie wiesz co wybierze. Dodaj sekcję: "W przypadku konfliktu między instrukcjami, priorytet mają: 1) bezpieczeństwo danych, 2) format odpowiedzi, 3) ton komunikacji".
Błąd 3: Nie testowanie promptu na edge cases przed deploymentem
Prompt który działa na Twoich 5 przykładach może zawieść przy wejściu które nie pasuje do wzorca. Zanim wdrożysz prompt produkcyjnie, przetestuj celowo "trudne" przypadki: puste wejście, wejście w innym języku, wejście sprzeczne z rolą modelu, bardzo krótkie i bardzo długie wejście.
Programiści którzy opanowali Claude Code w 2026 roku raportują oszczędność 2-3 godzin dziennie.
To 10-15 godzin tygodniowo które możesz przeznaczyć na architekturę, naukę lub po prostu wcześniej skończyć pracę. Prompt engineering to nie magia — to powtarzalna umiejętność której można się nauczyć. I jak każda umiejętność: najszybciej uczysz się jej przy kimś kto już to przerabiał.

Newsletter bloga JSystems
Otrzymuj każdą nową lekcję prosto na swoją skrzynkę
Nowe lekcje pojawiają się co poniedziałek i czwartek. Zapisz się do newslettera bloga JSystems — dostaniesz powiadomienie zaraz po publikacji każdej lekcji.
Szkolenie Claude Code — w serii od podstaw do zaawansowanego
Seria artykułów to teoria. Szkolenie JSystems to 3 dni praktyki gdzie piszesz prompty, budujesz agentów i wdrażasz na produkcji. Termin gwarantowany.
Komentarze (0)
Brak komentarzy...