Przejdź do głównej zawartości

Strukturyzacja Danych w Promptach - Formaty i Schematy

Nawiasy i bloki schematu porządkują luźne słowa w uporządkowane pola - struktura danych w promptach

Modele językowe rozumieją nie tylko treść, ale również format. Dobrze ustrukturyzowane dane pomagają AI lepiej zrozumieć zadanie i generować spójne, przewidywalne odpowiedzi. W tym rozdziale pokażę Ci formaty, którymi opiszesz zadanie precyzyjniej niż zwykłym zdaniem, oraz frameworki, których profesjonaliści używają do pisania skutecznych promptów.

W rozdziale Podstawy promptowania przedstawiłem framework CO-STAR (Context, Objective, Style, Tone, Audience, Response) - standard biznesowy do tworzenia skutecznych promptów. Tutaj dokładam do niego drugi framework, przydatny wtedy, gdy zależy Ci na kilku wariantach odpowiedzi do wyboru.

Framework CRISPE - gdy chcesz kilku wariantów odpowiedzi

Dział zatytułowany „Framework CRISPE - gdy chcesz kilku wariantów odpowiedzi”

Gdy zależy Ci na tym, żeby AI wcieliło się w konkretną rolę, dostało tło sprawy i pokazało kilka wersji odpowiedzi do porównania, sięgnij po framework CRISPE. Ma pięć elementów - pierwsze dwie litery opisują jeden, wspólny (CRISPE w praktyce klinicznej, 2025):

Element Opis Przykład
C+R - Capacity and Role (kompetencje i rola) Kim ma być AI i w czym jest ekspertem “Działaj jako doświadczony specjalista od obsługi klienta.”
I - Insight (tło i kontekst) Co AI musi wiedzieć o Twojej sytuacji “Prowadzę małą księgarnię, klient reklamuje książkę po dwóch miesiącach.”
S - Statement (polecenie) Co konkretnie ma zrobić “Napisz odpowiedź na tę reklamację.”
P - Personality (ton i styl) Jakim językiem ma odpowiedzieć “Pisz ciepło i konkretnie, bez formalnego żargonu.”
E - Experiment (warianty) Poproś o kilka wersji do porównania “Pokaż trzy warianty i powiedz, który polecasz.”

Element E to sedno tego frameworka - to on odróżnia CRISPE od CO-STAR. Zamiast jednej odpowiedzi dostajesz kilka propozycji i wybierasz tę, która pasuje.

CAPACITY AND ROLE: Działaj jako doświadczony specjalista
od obsługi klienta w handlu detalicznym.
INSIGHT: Prowadzę małą księgarnię internetową. Klientka
zamówiła książkę, która dotarła z zagiętą okładką.
Napisała nieuprzejmą wiadomość i grozi negatywną opinią.
Chcę ją zatrzymać jako klientkę.
STATEMENT: Napisz odpowiedź na jej wiadomość - przeproś,
zaproponuj rozwiązanie i zamknij sprawę.
PERSONALITY: Pisz ciepło i po ludzku, bez korporacyjnych
formułek. Nie tłumacz się długo, przejdź do konkretu.
EXPERIMENT: Podaj trzy warianty odpowiedzi - jeden krótki,
jeden ze zwrotem kosztów, jeden z wymianą egzemplarza.
Powiedz, który polecasz i dlaczego.
Zadanie Rekomendowany framework Dlaczego?
E-maile biznesowe CO-STAR Ton i styl są kluczowe
Posty na social media CO-STAR Ważna jest persona i odbiorcy
Raporty i analizy CO-STAR Format i struktura priorytetem
Trudna odpowiedź do klienta CRISPE Chcesz porównać kilka wariantów
Tekst wymagający eksperta CRISPE Ważna jest rola i pełne tło sprawy
Szukanie pomysłów CRISPE Element Experiment daje kilka propozycji naraz

JSON (JavaScript Object Notation) to uniwersalny format wymiany danych, który modele AI doskonale rozumieją. Jest idealny gdy potrzebujesz strukturalnych, programowalnych odpowiedzi.

Wyodrębnij informacje o osobie z poniższego tekstu.
Zwróć odpowiedź w formacie JSON.
Tekst: "Jan Kowalski, lat 35, mieszka w Warszawie
i pracuje jako programista w firmie TechCorp."
Schemat JSON:
{
"imie": string,
"nazwisko": string,
"wiek": number,
"miasto": string,
"zawod": string,
"firma": string
}
JSON:

Odpowiedź:

{
"imie": "Jan",
"nazwisko": "Kowalski",
"wiek": 35,
"miasto": "Warszawa",
"zawod": "programista",
"firma": "TechCorp"
}
Przeanalizuj zamówienie i zwróć strukturę JSON.
Zamówienie: "Klient: Anna Nowak (anna@email.com).
Produkty: 2x Laptop Dell (3500 zł/szt), 1x Mysz (120 zł).
Dostawa ekspresowa do Krakowa."
Schemat:
{
"klient": {
"imie": string,
"email": string
},
"produkty": [
{
"nazwa": string,
"ilosc": number,
"cena_jednostkowa": number
}
],
"dostawa": {
"typ": string,
"miasto": string
},
"suma": number
}
JSON:

Tabele są intuicyjne i czytelne zarówno dla ludzi, jak i AI. Świetnie sprawdzają się do porównań, list i danych wielowymiarowych.

Porównaj trzy popularne frameworki JavaScript.
Przedstaw wynik w tabeli Markdown z kolumnami:
Nazwa, Twórca, Rok wydania, Główne zastosowanie, Popularność (1-5).
Tabela:

Odpowiedź:

Nazwa Twórca Rok Główne zastosowanie Popularność
React Facebook 2013 Interfejsy użytkownika 5
Vue Evan You 2014 Aplikacje SPA 4
Angular Google 2016 Aplikacje enterprise 4

Możesz również podawać dane wejściowe jako tabelę:

Przeanalizuj poniższe dane sprzedażowe i podaj wnioski.
| Produkt | Q1 | Q2 | Q3 | Q4 |
|-----------|-------|-------|-------|-------|
| Laptopy | 150 | 180 | 160 | 220 |
| Telefony | 300 | 280 | 320 | 400 |
| Tablety | 80 | 90 | 70 | 110 |
Pytania:
1. Który produkt miał największy wzrost Q4 vs Q1?
2. Który kwartał był najlepszy ogólnie?
3. Które produkty mają trend wzrostowy?
Analiza:

Listy są najprostszym sposobem strukturyzacji - świetne dla instrukcji, kroków i wyliczeń.

Listy numerowane (kroków):

Opisz proces instalacji Pythona na Windows.
Podaj jako listę numerowaną kroków.
Kroki:

Listy punktowane (cech):

Wymień zalety i wady pracy zdalnej.
Format:
Zalety:
- [punkt]
- [punkt]
Wady:
- [punkt]
- [punkt]

Listy zagnieżdżone:

Przedstaw strukturę projektu webowego w formie hierarchicznej listy.
Struktura:
- projekt/
- src/
- components/
- pages/
- utils/
- public/
- tests/

Znaczniki XML pomagają wyraźnie oddzielić różne części prompta i odpowiedzi. Są szczególnie przydatne w złożonych promptach.

<instrukcja>
Jesteś tłumaczem. Przetłumacz tekst z polskiego na angielski
i francuski, zachowując ton formalny.
</instrukcja>
<tekst_zrodlowy>
Szanowni Państwo, mamy przyjemność zaprosić Was
na konferencję, która odbędzie się 15 marca.
</tekst_zrodlowy>
<odpowiedz>
<angielski>
[tłumaczenie]
</angielski>
<francuski>
[tłumaczenie]
</francuski>
</odpowiedz>

Prostszą alternatywą dla XML są separatory tekstowe, które oddzielają sekcje prompta:

### Styl z hashami ###
Sekcja 1
---
Styl z kreskami
---
"""
Styl z cudzysłowami (potrójnymi)
"""
===
Styl z równościami
===
[SEKCJA]
Styl z nawiasami kwadratowymi
[/SEKCJA]

Praktyczne zastosowanie:

### INSTRUKCJA ###
Podsumuj poniższy artykuł w 3 punktach.
### ARTYKUŁ ###
[Tutaj długi tekst artykułu...]
### PODSUMOWANIE ###

Nowoczesne modele AI obsługują “function calling” - możliwość definiowania narzędzi, które model może “wywołać”. Format definicji jest kluczowy dla poprawnego działania.

{
"name": "get_weather",
"description": "Pobiera aktualną pogodę dla podanej lokalizacji",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "Miasto i kraj, np. 'Warszawa, Polska'"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": "Jednostka temperatury"
}
},
"required": ["location"]
}
}

Kluczowe elementy definicji: name (unikalna nazwa funkcji), description (kiedy i do czego używać - najważniejsze!), parameters (schemat JSON parametrów wejściowych), required (lista wymaganych parametrów).

Dla powtarzalnych zadań warto tworzyć szablony z miejscami do wypełnienia.

Przeanalizuj produkt i wypełnij szablon:
PRODUKT: {{nazwa_produktu}}
---
ANALIZA PRODUKTU
---
Nazwa: {{nazwa_produktu}}
Kategoria: [wypełnij]
Grupa docelowa: [wypełnij]
Główne cechy:
1. [wypełnij]
2. [wypełnij]
3. [wypełnij]
Mocne strony:
- [wypełnij]
Słabe strony:
- [wypełnij]
Ocena ogólna (1-10): [wypełnij]
Rekomendacja: [wypełnij]

Gdy potrzebujesz złożonej odpowiedzi z wieloma elementami, zdefiniuj dokładną strukturę:

Przeanalizuj startup i podaj kompletną analizę.
Startup: [opis startupu]
FORMAT ODPOWIEDZI:
## PODSUMOWANIE
[2-3 zdania podsumowania]
## MODEL BIZNESOWY
- Źródła przychodów: [lista]
- Struktura kosztów: [lista]
## ANALIZA SWOT
| Mocne strony | Słabe strony |
|--------------|--------------|
| [punkt] | [punkt] |
| Szanse | Zagrożenia |
|--------------|--------------|
| [punkt] | [punkt] |
## OCENA INWESTYCYJNA
Ryzyko: [niskie/średnie/wysokie]
Potencjał: [niski/średni/wysoki]
Rekomendacja: [tak/nie/warunkowo]
## WNIOSKI
[3-5 punktów]
  1. Bądź konsekwentny - używaj tego samego formatu w całym prompcie. Jeśli zaczynasz z JSON, kontynuuj JSON.
  2. Pokazuj przykłady - zamiast tylko opisywać format, podaj przykład poprawnej odpowiedzi.
  3. Używaj znaczników dla długich kontekstów - przy długich dokumentach używaj XML lub separatorów, by wyraźnie oddzielić dane od instrukcji.
  4. Definiuj typy danych - w schematach JSON określaj typy: string, number, boolean, array.
Format Najlepsze zastosowanie Przykład użycia
JSON Dane strukturalne, API Ekstrakcja encji, konfiguracje
Tabela Porównania, dane tabelaryczne Analiza produktów, raporty
Lista Kroki, cechy, wyliczenia Instrukcje, zalety/wady
XML Złożone dokumenty, tłumaczenia Wielojęzyczne treści
Separatory Proste oddzielenie sekcji Kontekst + pytanie
Szablon Powtarzalne zadania Raporty, analizy
  • JSON - dla danych strukturalnych i integracji z kodem
  • Tabele - dla porównań i danych wielowymiarowych
  • Listy - dla kroków, cech i prostych wyliczeń
  • XML/znaczniki - dla wyraźnego oddzielenia sekcji
  • Separatory - prosty sposób na organizację prompta
  • Szablony - dla powtarzalnych zadań z określoną strukturą

made with ❤️ by aitomate.pl - Łukasz Podgórski