Blog JSystems - uwalniamy wiedzę!

Szukaj

Kurs Claude Code — Lekcja 3 z 11

Ten artykuł jest częścią bezpłatnego kursu Claude Code — największej polskojęzycznej serii 11 lekcji dla programistów. Od pierwszego uruchomienia do autonomicznych agentów AI.

<-- Spis wszystkich lekcji
<-- Lekcja 2: umiejetnosci i mozliwosci Claude

Prompt Engineering dla Claude - jak pisać prompty które dają powtarzalne wyniki

Claude CodeSeria Claude Code · JSystems

Przepisał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
Diagram: 7 technik prompt engineeringu dla Claude
Siedem technik prompt engineeringu dla Claude — ściąga na jeden rzut oka.

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).
Diagram: anatomia skutecznego promptu (rola, kontekst, zadanie, format, przykłady)
Anatomia skutecznego promptu: rola, kontekst, zadanie, format i przykłady.

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

Diagram: zły prompt vs dobry prompt - porównanie
Ta sama prośba w wersji „zły prompt” i „dobry prompt” — różnica w powtarzalności wyniku.
BłądEfektFix
Sprzeczne instrukcje w prompcieClaude losowo wybiera lub odmawiaHierarchia: "Jeśli X, to Y; w przeciwnym razie Z"
Zbyt ogólna rola ("jesteś ekspertem")Generyczne odpowiedziKonkretna rola + kontekst + lata doświadczenia
Brak formatu wyjściaKażda odpowiedź inaczej sformatowanaZawsze definiuj format - JSON, markdown, lista
Zapytanie o niemożliweClaude zmyśla lub odmawia niejasnoDaj 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ść kilku godzin dziennie.

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ł.

3 poprawki, które natychmiast podniosą wynik

Zanim sięgniesz po zaawansowane techniki - te trzy zmiany w sposobie pisania promptów dają największy skok jakości:

  • Z ogólnego na konkretny. zamiast „napisz funkcję” --> „napisz funkcję w Pythonie, z type hints i docstringiem, obsłuż błędne dane”. Im precyzyjniej, tym mniej poprawek.
  • Oddziel dane od polecenia. wklejasz tekst do analizy? Owiń go w znaczniki <dane>...</dane>. Claude przestaje traktować Twoje dane jak instrukcję.
  • Pokaż przykład zamiast prosić o „kreatywność”. jeden - dwa przykłady oczekiwanego formatu (few-shot) działają lepiej niż dziesięć zdań opisu - Claude kopiuje wzorzec.
Szkolenie JSystems

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.

Szkolenie Claude Code -->

Następna lekcja

Dostępna od 15.6.2026
Wszystkie lekcje kursu Claude Code -->

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...