Few shot prompting – zero-shot, one-shot i few-shot z przykładami promptów
Few shot prompting to podawanie modelowi językowemu kilku przykładów „wejście – oczekiwany wynik” w samym prompcie, zanim dostanie właściwe zadanie. Zero-shot to polecenie bez przykładów, one-shot – z jednym. Przykłady najlepiej sterują formatem, tonem i etykietami. Przy modelach rozumujących zaczyna się od zera przykładów, a dokłada je dopiero wtedy, gdy wynik rozjeżdża się z oczekiwanym.
Ten tekst porównuje trzy warianty na promptach po polsku, pokazuje, co o przykładach piszą dziś OpenAI, Anthropic, Google i DeepSeek, i liczy, ile przykłady kosztują w API. Szerszy przegląd technik, od łańcucha myśli po RAG, znajdziesz w przewodniku po inżynierii promptów.
Czym jest few shot prompting
Few shot prompting polega na tym, że model uczy się wzorca z przykładów umieszczonych w kontekście, bez żadnej zmiany swoich wag. Mechanizm nazywa się uczeniem w kontekście (in-context learning): przykłady działają tylko w tym jednym wywołaniu i znikają razem z rozmową.
Nazwy zero-shot, one-shot i few-shot spopularyzowała praca OpenAI o GPT-3, „Language Models are Few-Shot Learners” (Brown i in., 2020). Autorzy zdefiniowali trzy ustawienia:
- zero-shot – model dostaje tylko opis zadania w języku naturalnym
- one-shot – opis zadania plus jedna demonstracja
- few-shot – opis zadania plus kilka demonstracji; w eksperymentach z GPT-3 było ich zwykle od 10 do 100, bo tyle mieściło okno kontekstu o długości 2048 tokenów
Dzisiejsze modele mają okna liczone w setkach tysięcy tokenów, więc ograniczeniem przestał być rozmiar kontekstu. Ograniczeniem jest koszt i to, czy przykłady w ogóle pomagają danemu modelowi – o tym dalej. Zwykły użytkownik czatu stosuje few-shot nieświadomie za każdym razem, gdy wkleja „zrób to tak jak tutaj” i dołącza wzór. Ten sam mechanizm w aplikacjach siedzi zwykle w prompcie systemowym, w osobnej sekcji z przykładami.
Zero-shot, one-shot i few-shot – porównanie
Różnica między wariantami sprowadza się do liczby przykładów, a ta przekłada się na trzy rzeczy: przewidywalność formatu, koszt tokenów i ryzyko, że model zacznie kopiować przykład zamiast myśleć.
| Cecha | Zero-shot | One-shot | Few-shot |
|---|---|---|---|
| Przykłady w prompcie | brak | jeden | kilka (Anthropic zaleca 3-5) |
| Co steruje wynikiem | wyłącznie instrukcja | instrukcja i jeden wzór | instrukcja i wzorzec z kilku przykładów |
| Przewidywalność formatu | najniższa | średnia | najwyższa |
| Koszt tokenów wejścia | najniższy | niski | rośnie z każdym przykładem |
| Typowe ryzyko | model źle zrozumie, czego chcesz | model skopiuje cechy jedynego wzoru | stronniczość etykiet i kolejności przykładów |
| Kiedy jako pierwszy wybór | modele rozumujące, zadania łatwe do opisania słowami | jeden nietypowy format odpowiedzi | klasyfikacja, ekstrakcja danych, stały styl |
Liczba 3-5 pochodzi z dokumentacji Anthropic dla modeli Claude. Google w dokumentacji Gemini API nie podaje liczby i każe ją dobrać eksperymentalnie, z ostrzeżeniem, że zbyt wiele przykładów prowadzi do przeuczenia na nich.
Przykłady promptów po polsku
Ten sam problem – sortowanie wiadomości od klientów sklepu internetowego – wygląda inaczej w każdym z trzech wariantów. Różnicę najlepiej widać, gdy etykiety są firmowe, a nie oczywiste.
Prompt zero-shot
Przypisz wiadomość klienta do jednej kategorii: REKLAMACJA, ZWROT, DOSTAWA, INNE.
Odpowiedz samą nazwą kategorii.
Wiadomość: „Kurier był wczoraj, ale paczka miała rozerwany karton i pękniętą szybkę.”
Działa, jeśli granice kategorii są oczywiste. Tu nie są: uszkodzenie w transporcie część firm traktuje jako reklamację, a część jako sprawę dostawy. Model zgadnie według własnego uznania.
Prompt one-shot
Przypisz wiadomość klienta do jednej kategorii: REKLAMACJA, ZWROT, DOSTAWA, INNE.
Odpowiedz samą nazwą kategorii.
Wiadomość: „Paczka doszła zgnieciona, a kubek w środku jest wyszczerbiony.”
Kategoria: REKLAMACJA
Wiadomość: „Kurier był wczoraj, ale paczka miała rozerwany karton i pękniętą szybkę.”
Kategoria:
Jeden przykład rozstrzyga sporny przypadek: uszkodzenie w transporcie to reklamacja. Słabość: model może uznać, że każda wiadomość o paczce jest reklamacją.
Prompt few-shot
Przypisz wiadomość klienta do jednej kategorii: REKLAMACJA, ZWROT, DOSTAWA, INNE.
Odpowiedz samą nazwą kategorii.
Wiadomość: „Paczka doszła zgnieciona, a kubek w środku jest wyszczerbiony.”
Kategoria: REKLAMACJA
Wiadomość: „Rozmyśliłam się, chcę oddać buty, są nieużywane.”
Kategoria: ZWROT
Wiadomość: „Śledzenie od trzech dni pokazuje ten sam sortownik.”
Kategoria: DOSTAWA
Wiadomość: „Czy wystawiacie faktury na firmę?”
Kategoria: INNE
Wiadomość: „Kurier był wczoraj, ale paczka miała rozerwany karton i pękniętą szybkę.”
Kategoria:
Cztery przykłady pokrywają wszystkie etykiety po razie, więc żadna nie dominuje, a model widzi granicę między reklamacją a dostawą. To jest sytuacja, w której few-shot wygrywa z każdą instrukcją: etykiety są umowne i łatwiej je pokazać niż opisać.
Ten sam few-shot w tagach dla Claude
Anthropic zaleca oddzielanie przykładów od instrukcji tagami <example>, a całego zestawu – tagiem <examples>:
<instrukcje>
Przypisz wiadomość klienta do jednej kategorii: REKLAMACJA, ZWROT, DOSTAWA, INNE.
Odpowiedz samą nazwą kategorii.
</instrukcje>
<examples>
<example>
<wiadomosc>Paczka doszła zgnieciona, a kubek w środku jest wyszczerbiony.</wiadomosc>
<kategoria>REKLAMACJA</kategoria>
</example>
<example>
<wiadomosc>Rozmyśliłam się, chcę oddać buty, są nieużywane.</wiadomosc>
<kategoria>ZWROT</kategoria>
</example>
</examples>
<wiadomosc>Kurier był wczoraj, ale paczka miała rozerwany karton i pękniętą szybkę.</wiadomosc>
Tagi chronią przed tym, że model potraktuje treść przykładu jak polecenie. Więcej o strukturze promptów, rolach i formatowaniu znajdziesz w poradniku jak pisać prompty.
Kiedy który wariant
Zacznij od zero-shot i dokładaj przykłady dopiero wtedy, gdy wynik ma zły format, złe etykiety albo zły ton. Ta kolejność jest zgodna z zaleceniem OpenAI dla modeli rozumujących i chroni przed płaceniem za przykłady, które nic nie zmieniają.
| Sytuacja | Wariant | Dlaczego |
|---|---|---|
| Streszczenie, tłumaczenie, odpowiedź na pytanie | zero-shot | zadanie łatwo opisać słowami, model zna je z treningu |
| Zadanie logiczne lub matematyczne na modelu rozumującym | zero-shot | model rozumuje sam, przykłady bywają szkodliwe (DeepSeek-R1) |
| Jeden nietypowy format odpowiedzi | one-shot | jeden wzór wystarcza, by pokazać układ |
| Klasyfikacja z firmowymi etykietami | few-shot | granice etykiet łatwiej pokazać niż opisać |
| Ekstrakcja danych do stałej struktury | few-shot albo tryb wymuszonego schematu | przykłady stabilizują pola i pisownię wartości |
| Stały styl marki, np. odpowiedzi działu obsługi | few-shot | ton jest trudny do opisania, łatwy do pokazania |
| Tysiące różnorodnych zapytań | dynamiczny few-shot | przykłady dobiera się do każdego zapytania osobno |
Instrukcja i przykłady nie wykluczają się, a przy dobrych przykładach instrukcja może się skurczyć. Google w dokumentacji Gemini dopuszcza nawet usunięcie instrukcji, jeśli przykłady wystarczająco jasno pokazują zadanie. Bezpieczniej jednak zostawić krótkie polecenie, bo ono mówi modelowi, czego przykłady mają go nauczyć.
Few-shot a modele rozumujące
Modele rozumujące, które przed odpowiedzią generują własny tok myślenia, zwykle radzą sobie bez przykładów, a w części przypadków przykłady im szkodzą. Dostawcy różnią się jednak w zaleceniach i warto znać każde z nich, zanim przeniesie się prompt z jednego modelu na drugi.
Co mówią dostawcy
| Dostawca | Zalecenie wobec przykładów |
|---|---|
| OpenAI | modele rozumujące często nie potrzebują przykładów, więc najpierw pisz prompt bez nich; przykłady dodawaj dopiero przy złożonych wymaganiach i tylko takie, które ściśle zgadzają się z instrukcją |
| Anthropic | przykłady to jeden z najpewniejszych sposobów sterowania formatem; działają także przy włączonym myśleniu – przykład podany jako problem, metoda i odpowiedź kształtuje sposób rozumowania Claude’a |
| zawsze dołączaj przykłady few-shot, bo prompty bez nich są według dokumentacji Gemini API zwykle mniej skuteczne | |
| DeepSeek | w pracy o DeepSeek-R1 zespół odnotował, że few-shot konsekwentnie pogarsza wyniki modelu, i zalecił zero-shot z opisem problemu i formatu wyjścia |
Rozbieżność jest pozorna. Przykłady pomagają w formie odpowiedzi, a coraz słabiej w rozumowaniu. Potwierdza to praca Cheng i in. („Revisiting Chain-of-Thought Prompting: Zero-shot Can Be Stronger than Few-shot”, arXiv, czerwiec 2025, poprawiona w styczniu 2026): w silnych modelach, takich jak Qwen2.5, przykłady z rozpisanym rozumowaniem nie poprawiały wyników względem zero-shot, a służyły głównie wyrównaniu formatu. Szerzej o samym modelu DeepSeek piszemy w tekście o DeepSeek R1.
Rozumowanie jest dziś w wielu modelach domyślne. W Claude Fable 5.1 i Claude Opus 5.5 myślenie jest zawsze włączone, a jego głębokość reguluje parametr effort. W GPT-6 Astra parametr reasoning.effort przyjmuje wartości low, medium (domyślnie), high, xhigh i max, bez opcji wyłączenia rozumowania. Zero-shot jest więc dla tych modeli naturalnym punktem startu.
Co z „pomyśl krok po kroku”
Dopisek „pomyśl krok po kroku” to zero-shot chain-of-thought i w modelach rozumujących jest zbędny. Jest też wariant few-shot CoT, opisany przez Wei i in. w 2022 roku: w przykładach podaje się nie tylko odpowiedź, ale i rozpisane kroki rozumowania – model PaLM 540B z ośmioma takimi przykładami ustanowił wtedy rekord w zbiorze GSM8K. Zero-shot CoT opisali Kojima i in. w 2022 roku: na modelu text-davinci-002 sam dopisek podniósł trafność w zbiorze MultiArith z 17,7% do 78,7%, a w GSM8K z 10,4% do 40,7%, bez żadnych przykładów.
To wynik z epoki modeli bez wbudowanego rozumowania. OpenAI pisze dziś wprost, że prośba o myślenie krok po kroku jest przy modelach rozumujących niepotrzebna, bo rozumują one wewnętrznie. Anthropic idzie dalej: ogólne polecenie w rodzaju „przemyśl to dokładnie” często daje lepsze rozumowanie niż ręcznie rozpisany plan, a w modelach Claude Fable 5.1, Fable 5, Opus 5.5, Opus 5 i Sonnet 5.5 prośba o wypisanie rozumowania w tagach <thinking> może zostać odrzucona. Zamiast niej obniża się albo podnosi effort. Mechanikę łańcucha myśli wyjaśniamy w artykule o Chain of Thought.
Jak dobierać przykłady
Dobre przykłady są trafne, zróżnicowane, w jednym formacie i zbalansowane między etykietami, bo model uczy się z nich także rzeczy, których nie chciałeś mu pokazać.
Badania nad uczeniem w kontekście dają tu trzy praktyczne wnioski:
- Format liczy się bardziej, niż się wydaje. Min i in. (2022, „Rethinking the Role of Demonstrations”) pokazali, że losowa podmiana etykiet w przykładach ledwo obniża wyniki. Model czerpie z przykładów głównie przestrzeń etykiet, typ tekstu wejściowego i format, a mniej samą poprawność odpowiedzi.
- Kolejność i dobór zmieniają wynik. Zhao i in. (ICML 2021, „Calibrate Before Use”) wykazali, że format promptu, wybór przykładów i nawet ich kolejność potrafią zmienić trafność GPT-3 od poziomu losowego do bliskiego najlepszym wynikom. Przyczyną są skłonności modelu, m.in. do etykiety najczęstszej w przykładach i do etykiety z ostatniego przykładu.
- Zbyt podobne przykłady uczą skrótów. Anthropic zaleca przykłady na tyle zróżnicowane, by Claude nie wyłapał niezamierzonych wzorców, i pokrywające przypadki brzegowe.
Lista kontrolna przed wysłaniem promptu few-shot:
| Sprawdź | Dlaczego |
|---|---|
| każda etykieta pojawia się mniej więcej tyle samo razy | inaczej model faworyzuje etykietę najczęstszą |
| ostatni przykład nie zawsze ma tę samą etykietę | model ciąży ku etykiecie z końca listy |
| wszystkie przykłady mają identyczny układ | Google ostrzega, że niespójny format daje niespójne odpowiedzi |
| przykłady różnią się długością i słownictwem | model nie powinien uznać długości za sygnał etykiety |
| jest co najmniej jeden przypadek sporny | właśnie spór uzasadnia użycie przykładów |
Przykłady nie chronią przed zmyślaniem faktów, tylko przed złym formatem. Jak ograniczać halucynacje AI, opisujemy osobno.
Ile kosztują przykłady i jak pomaga cache promptu
Każdy przykład to dodatkowe tokeny wejścia w każdym wywołaniu, ale stały blok przykładów można trzymać w cache promptu, który u Anthropic kosztuje zwykle 10% ceny wejścia (w Claude Sonnet 5.5 tak właśnie jest). Przy dużych wolumenach cache decyduje, czy few-shot w ogóle się opłaca.
Przykład rachunku dla Claude Sonnet 5.5 według cennika API Anthropic: 2 USD za milion tokenów wejścia, 0,20 USD za milion tokenów odczytanych z cache, 2,50 USD za milion tokenów zapisanych do cache pięciominutowego. Zadanie: 10 000 wiadomości po 50 tokenów, instrukcja 100 tokenów, pięć przykładów po 100 tokenów. Tokeny wyjścia są takie same we wszystkich wariantach, więc je pomijam.
| Wariant | Tokeny wejścia | Koszt wejścia |
|---|---|---|
| Zero-shot | 10 000 × 150 = 1,5 mln | 3,00 USD |
| Few-shot bez cache | 10 000 × 650 = 6,5 mln | 13,00 USD |
| Few-shot z cache (600 tokenów stałych w cache, 50 zmiennych) | ok. 6 mln odczytu z cache + 0,5 mln zwykłych | ok. 2,20 USD |
Few-shot z cache wychodzi taniej niż zero-shot bez cache, bo stała część promptu kosztuje w cache dziesięć razy mniej. Są trzy warunki:
- minimalna długość – Claude Sonnet 5.5 cache’uje prompty od 512 tokenów, ale Claude Sonnet 5 i Opus 4.8 dopiero od 1 024; krótszy blok przechodzi bez cache i bez komunikatu o błędzie, więc 600-tokenowy zestaw na Sonnecie 5 kosztowałby pełne 13 USD
- ciągłość ruchu – cache pięciominutowy wygasa, jeśli przez pięć minut nikt z niego nie skorzysta; każdy odczyt go odświeża
- kolejność w prompcie – przykłady i instrukcja muszą być na początku, a zmienna wiadomość na końcu, bo cache obejmuje stały prefiks
Liczby tokenów w przykładzie są umowne. Rzeczywista liczba zależy od tokenizatora: Anthropic podaje, że tokenizator modeli Claude od wersji 4.7 daje około 30% więcej tokenów dla tego samego tekstu niż poprzedni. Jak tekst zamienia się w tokeny, wyjaśnia artykuł o tokenizacji, a mechanikę i ceny cache u różnych dostawców – tekst o cache kontekstu.
Many-shot i dynamiczny dobór przykładów
Gdy kilka przykładów nie wystarcza, są dwie drogi: wkleić ich setki (many-shot) albo dobierać kilka najbardziej pasujących do każdego zapytania (dynamiczny few-shot).
Many-shot. Zespół Google DeepMind (Agarwal i in., „Many-Shot In-Context Learning”, NeurIPS 2024) pokazał, że przejście od kilku do setek i tysięcy przykładów daje znaczące zyski w wielu zadaniach, pozwala przełamać uprzedzenia wyniesione z pretreningu i w części zadań zbliża się do wyników dostrajania. Autorzy opisali też wariant z rozumowaniem wygenerowanym przez sam model zamiast ludzkich przykładów. Długie okna kontekstu to umożliwiają, ale bez cache promptu koszt rośnie liniowo z liczbą przykładów. Kiedy zamiast tego lepiej dostroić model, rozważamy w porównaniu RAG i dostrajania.
Dynamiczny few-shot. System trzyma bazę gotowych par „wejście – wynik”, zamienia je na embeddingi i do każdego zapytania wybiera kilka przykładów najbliższych znaczeniowo. Model dostaje mało przykładów, ale trafnych. Minus: każde zapytanie ma inny prompt, więc blok przykładów przestaje być stałym prefiksem i traci tańszy odczyt z cache.
| Podejście | Liczba przykładów | Mocna strona | Słaba strona |
|---|---|---|---|
| Statyczny few-shot | kilka, te same zawsze | prosty, dobrze się cache’uje | nie pasuje do nietypowych zapytań |
| Many-shot | setki do tysięcy | najwyższa trafność bez dostrajania | duży koszt wejścia bez cache |
| Dynamiczny few-shot | kilka, inne dla każdego zapytania | trafne przykłady przy małej liczbie tokenów | wymaga bazy i wyszukiwania, słabiej korzysta z cache |
FAQ
One-shot prompting to polecenie dla modelu AI zawierające dokładnie jeden przykład oczekiwanej odpowiedzi. Sprawdza się, gdy trzeba pokazać nietypowy format albo rozstrzygnąć jeden sporny przypadek. Ryzyko polega na tym, że model skopiuje przypadkowe cechy jedynego wzoru, np. jego długość, dlatego przy kilku etykietach lepszy jest few-shot.
Prompting to formułowanie poleceń dla modelu językowego tak, żeby dostać oczekiwany wynik. Obejmuje instrukcję, kontekst, przykłady i wymagany format odpowiedzi. Zero-shot, one-shot i few-shot to trzy podstawowe warianty promptingu, różniące się liczbą przykładów. Bardziej złożone techniki, jak łańcuch myśli czy RAG, budują się na nich.
Dobry prompt mówi, co model ma zrobić, dla kogo, w jakim formacie i z jakich danych ma korzystać. Zacznij od jasnej instrukcji bez przykładów, sprawdź wynik i dopiero przy złym formacie albo złych etykietach dodaj 3-5 zróżnicowanych przykładów. Dane i dokumenty umieszczaj na początku, a pytanie na końcu.
Prompt w ChatGPT to wiadomość, którą wpisujesz w okno rozmowy: pytanie, polecenie albo polecenie z przykładami. ChatGPT traktuje całą rozmowę jako kontekst, więc wzór podany kilka wiadomości wcześniej też działa jak przykład few-shot. Stałe instrukcje dla wszystkich rozmów ustawia się w personalizacji albo w projektach.
Zero-shot to polecenie bez przykładów, few-shot zawiera kilka przykładów „wejście – wynik” przed właściwym zadaniem. Zero-shot jest tańszy i wystarcza modelom rozumującym przy zadaniach łatwych do opisania. Few-shot daje przewidywalny format i etykiety, ale zwiększa liczbę tokenów i może utrwalić stronniczość przykładów.
Źródła
- Prompting best practices, Anthropic – przykłady few-shot (multishot), tagi example, przykłady przy włączonym myśleniu
- Pricing, Anthropic – ceny modeli Claude i mnożniki cache promptu
- Reasoning best practices, OpenAI – zero-shot jako punkt startu dla modeli rozumujących
- DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning, DeepSeek-AI, arXiv – wpływ few-shot na wyniki DeepSeek-R1
Ostatnia aktualizacja: · Zgłoś poprawkę







