Jak wyciągnąć twarde dane z chaosu? Praktyczny przewodnik po Few-Shot Prompts

1. Kryzys w biurze na warszawskiej Woli
Była dokładnie 16:15, a o 17:00 miałem wysłać do zarządu kompletny raport z analizy konkurencyjnej na polskim rynku SaaS. Na biurku leżały trzy gigantyczne, niesformatowane pliki PDF z konferencji branżowych, pełne opinii, luźnych zdań i szczątkowych danych finansowych. Wrzuciłem pierwszy z nich do chatu i rzuciłem na szybko: “Wyciągnij mi udziały rynkowe konkurencji do tabeli”.
Odpowiedź nadeszła błyskawicznie. Tabela wyglądała profesjonalnie, kolumny się zgadzały, a nazwy firm brzmiały znajomo. Problem polegał na tym, że gdy zacząłem weryfikować udziały rynkowe lidera branży, okazało się, że sztuczna inteligencja po prostu… zmyśliła te liczby, żeby zapełnić puste komórki. Wygenerowała ładnie wyglądającą fikcję literacką, która w starciu z realnymi danymi finansowymi mogła mnie kosztować utratę wiarygodności przed zarządem. Zero-shot prompt zawiódł na całej linii, a do deadline’u zostało 40 minut.

2. Dlaczego zwykłe polecenia zawodzą przy danych tabelarycznych
Kiedy prosisz model językowy o przetworzenie nieustrukturyzowanego tekstu na tabelę bez podania kontekstu i wzorca, włączasz mechanizm domyślnego dopełnienia. AI działa jak pisarz, a nie jak księgowy – jeśli brakuje jakiejś wartości w tekście źródłowym, model próbuje ją “wymyślić”, bo uważa, że pusta komórka to błąd w zadaniu.
3. Gotowy szablon mistrzowski (Master Prompt Template)
Skopiuj poniższy prompt do ChatGPT, Claude lub Gemini, dostosowując zmienne w nawiasach kwadratowych do własnych potrzeb.
Jesteś precyzyjnym analitykiem danych finansowych. Twoim zadaniem jest wyekstrahowanie kluczowych wskaźników z poniższego tekstu i przedstawienie ich wyłącznie w formacie tabeli Markdown.
ZASADA BEZWZGLĘDNA: Jeśli danej wartości nie ma w tekście źródłowym, wpisz w komórce dokładnie: "Brak danych". Nie wymyślaj ani nie szacuj liczb.
Przykład poprawnego działania:
Tekst wejściowy: "Firma Alpha zanotowała w Q1 przychód 12 mln PLN, a Beta nie podała wyników."
Wynik:
| Firma | Przychód Q1 | Udział w rynku |
| :--- | :--- | :--- |
| Alpha | 12 mln PLN | Brak danych |
| Beta | Brak danych | Brak danych |
Tekst źródłowy do przetworzenia:
[Wklej tutaj swój niesformatowany tekst lub raport]
Wygeneruj wyłącznie tabelę Markdown opartą na powyższych zasadach.4. Wskazówki praktyczne i warianty zaawansowane
Aby wycisnąć z tej metody maksimum w codziennej pracy korporacyjnej, trzymaj się poniższych zasad bezpieczeństwa:
- Ograniczenie zakresu (Constraints): Zawsze dodawaj wyraźną instrukcję zakazującą halucynacji (np. wspomniane “Brak danych”). Modele LLM świetnie reagują na twarde negatywne ograniczenia w sekcji przykładów.
- Format wyjściowy: Jeśli potrzebujesz danych w Excelu, zamień tabelę Markdown na format JSON, dodając w prompcie:
Zwróć wynik jako tablicę obiektów JSON, zachowując klucze: firma, przychod, udzial. - Dzielenie długich tekstów: Gdy raport ma kilkadziesiąt stron, podziel go na sekcje 3000-5000 znaków i stosuj ten sam schemat Few-Shot, aby uniknąć ucięcia odpowiedzi przez limit tokenów wyjściowych.
5. Często zadawane pytania (FAQ)
Q: Czy muszę podawać więcej niż jeden przykład w Few-Shot Prompt?
A: Zazwyczaj jeden lub dwa dobrze dobrane przykłady w zupełności wystarczą, aby model zrozumiał oczekiwaną strukturę kolumn i sposób obsługi brakujących danych.
Q: Co zrobić, gdy model nadal ignoruje zasady i dopisuje własne cyfry?
A: Wzmocnij instrukcję negatywną, dodając w nagłówku promptu caps lockiem ostrzeżenie: “HALUCYNACJA LUB ZMYŚLANIE DANYCH JEST KATEGORYCZNIE ZABRONIONE. UŻYWAJ WYŁĄCZNIE FAKTÓW Z TEKSTU”.
Q: Czy ta metoda działa równie dobrze w Claude i w ChatGPT?
A: Tak, zarówno modele z rodziny Claude (szczególnie wersje 3.5 Sonnet), jak i OpenAI GPT-4o radzą sobie z Few-Shot Promptingiem znakomicie, przy czym Claude rzadziej łamie rygorystyczne reguły formatowania tabelarycznego.