Promptowanie few-shot (uczenie w kontekście)
Metodologia inżynierii promptów, w której model dostosowuje się do specyficznego formatu, stylu lub logiki bezpośrednio podczas wnioskowania (In-Context Learning) dzięki podaniu 2–5 przykładowych wzorców.
1. Przegląd koncepcji i problem systemowy
Jednym z najczęstszych wyzwań w pracy z modelami językowymi jest niejednoznaczność języka naturalnego. Gdy programista pisze w instrukcji: „Napisz zwięzły interfejs TypeScript zgodny ze stylem naszego projektu”, model musi polegać na uśrednionych założeniach wyniesionych z internetu:
- Subiektywność sformułowań: Pojęcia takie jak „zwięzły”, „dobry” czy „surowy” są interpretowane przez model zbyt szeroko, co powoduje niestabilność wyników między kolejnymi uruchomieniami.
- Niemożność opisania wszystkich reguł tekstem: Opis konwencji bazy kodu może wymagać 10 stron zasad, których model nieuchronnie zacznie łamać.
- „Lepiej raz zobaczyć”: Podobnie jak żywy programista, model językowy znacznie łatwiej powieli styl na podstawie dwóch konkretnych wzorców niż będzie próbował rozgryźć abstrakcyjne opisy.
Few-Shot prompting eliminuje niejednoznaczność poprzez demonstrację: pokazujesz modelowi 2–4 kontrastujące pary „Dane wejściowe -> Wzorcowy wynik”, ustalając jasny kanon zachowania.
2. Taksonomia architektoniczna i model mentalny
Gradacja metod uczenia w kontekście (In-Context Learning):
- 1. Zero-Shot (Bez przykładów): Model otrzymuje czysto tekstową instrukcję oraz nowe zadanie. Nadaje się do podstawowych, rutynowych zadań, ale generuje największą zmienność wyjścia.
- 2. One-Shot (Jeden wzorcowy przykład): Do prompta dodawany jest jeden idealny przykład. To wystarcza, aby ustalić szkielet składniowy (np. format wyjściowego JSON-a).
- 3. Few-Shot (Klasyczny zestaw 2–5 przykładów): Złoty środek. Zawiera przykłady różnych scenariuszy: prosty przypadek, złożony przypadek z danymi zagnieżdżonymi oraz jeden przypadek brzegowy (Edge Case / Obsługa błędów).
- 4. Retrieval-Augmented (Dynamic) Few-Shot: Zaawansowany wzorzec produkcyjny: biblioteka 500 przykładów jest indeksowana w bazie wektorowej. Dla każdego zapytania użytkownika wyszukiwanie wektorowe pobiera top-3 najbardziej trafne przykłady.
3. Pipeline techniczny i mechanika wewnętrzna
Cykl życia przygotowania i wykonania Few-Shot prompta:
- Exemplar Selection & Curation (Wybór i kuracja przykładów): Tworzony jest kompaktowy zestaw par demonstrujących pożądany wynik bez błędów i zbędnej gadatliwości.
- Structural Delimitation (Izolacja strukturalna):
Przykłady są owijane w surowe tagi XML lub Markdown, aby uniknąć mieszania instrukcji z przykładami:
<example id="1"><input>...</input><output>...</output></example>. - Induction Head Pattern Activation (Aktywacja głów indukcyjnych):
Podczas obliczania warstw uwagi transformer rejestruje przejście od tagu
<input>do<output>jako deterministyczną transformację danych. - Target Inference Alignment (Generowanie odpowiedzi docelowej): Model generuje odpowiedź na nowe pytanie, podświadomie kopiując składnię, długość, konwencje nazewnictwa oraz klucze użyte w przykładach.
4. Praktyczne scenariusze inżynierskie w środowisku produkcyjnym
01. Surowy parsowanie danych nieustrukturyzowanych do JSON
Musisz przekształcić tekstowe opisy transakcji bankowych na walidowany JSON. Podejście Zero-shot często myli pola dat lub kopiuje grosze. Few-shot z trzema przykładami (w tym zwroty środków i płatności wielowalutowe) zapewnia stabilność schematu na poziomie 99,8%.
02. Przestrzeganie firmowego stylu kodu
Zespół potrzebuje, aby agent kodowy pisał testy jednostkowe ściśle według wewnętrznego standardu: użycie describe.concurrent, specyficzny helper fabryki użytkowników makeUser() oraz zakaz mocków przez jest.spyOn. Dwa przykłady w systemowym prompcie całkowicie rozwiązują ten problem.
03. Kanonizacja i tłumaczenie terminów technicznych
Tłumaczenie dokumentacji na język polski z wymogiem zachowania specyficznych terminów w oryginale (np. Checkpointer, Race condition) oraz tłumaczenia pozostałych zgodnie z korporacyjnym słownikiem.
5. Pułapki, typowe błędy i bezpieczeństwo
- Bias większości i świeżości (Majority & Recency Bias): Modele są niezwykle wrażliwe na kolejność przykładów. Jeśli w 3 z 4 przykładów wynikiem była odpowiedź „Tak”, model będzie miał silne uprzedzenie na rzecz „Tak” dla dowolnego nowego wejścia. Zawsze balansuj klasy w przykładach (50/50).
- Kopiowanie błędów z przykładów (Error Mimicry): Jeśli w jednym ze wzorców przypadkowo pominąłeś nawias zamykający lub zrobiłeś błąd ortograficzny, model odtworzy ten błąd również w nowych wynikach.
- Przerost kontekstu wejściowego: Dziesięć szczegółowych przykładów Few-shot może zająć 15 000 tokenów. Zawsze stosuj Prompt Caching dla systemowych promptów zawierających przykłady.
FAQ: Promptowanie few-shot (uczenie w kontekście)
Powiązane pojęcia
Inżynieria promptów (Architektura kontekstu i inżynieria promptów)
Dyscyplina inżynieryjna polegająca na strukturyzowaniu dyrektyw systemowych, znaczników XML, semantycznych delimitatorów oraz przykładów w celu uzyskania deterministycznych i przewidywalnych wyników z modeli probabilistycznych.
Prompt systemowy (Instrukcje systemowe i metaprompting)
Priorytetowy blok instrukcji kontekstowych, przekazywany na zerowej pozycji okna kontekstowego, który określa rolę agenta, zasady bezpieczeństwa, dostępne narzędzia oraz granice jego zachowania.
Łańcuch myśli (Chain of Thought - CoT)
Metodologia promptowania modelu językowego do generowania sekwencyjnych kroków pośrednich rozumowania przed sformułowaniem ostatecznej odpowiedzi, co przekształca dodatkowe tokeny (Test-Time Compute) w jakość i precyzję wyniku.
Markdown AST dla agentów (Abstract Syntax Tree)
Hierarchiczna, drzewiasta reprezentacja składni Markdown (standard mdast / Unified.js), która umożliwia systemom programistycznym i agentom AI deterministyczne analizowanie, transformowanie oraz bezpieczne edytowanie treści technicznych bez wykorzystania kruchych wyrażeń regularnych.