Strukturyzacja Danych w Promptach - Formaty i Schematy

Dlaczego struktura ma znaczenie?
Dział zatytułowany „Dlaczego struktura ma znaczenie?”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.
Frameworki do promptów
Dział zatytułowany „Frameworki do 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.
Przykład CRISPE w praktyce
Dział zatytułowany „Przykład CRISPE w praktyce”CAPACITY AND ROLE: Działaj jako doświadczony specjalistaod obsługi klienta w handlu detalicznym.
INSIGHT: Prowadzę małą księgarnię internetową. Klientkazamó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 korporacyjnychformuł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.Kiedy używać którego frameworka?
Dział zatytułowany „Kiedy używać którego frameworka?”| 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 |
Format JSON
Dział zatytułowany „Format JSON”JSON (JavaScript Object Notation) to uniwersalny format wymiany danych, który modele AI doskonale rozumieją. Jest idealny gdy potrzebujesz strukturalnych, programowalnych odpowiedzi.
Definiowanie schematu wyjściowego
Dział zatytułowany „Definiowanie schematu wyjściowego”Wyodrębnij informacje o osobie z poniższego tekstu.Zwróć odpowiedź w formacie JSON.
Tekst: "Jan Kowalski, lat 35, mieszka w Warszawiei 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"}Zagnieżdżone struktury
Dział zatytułowany „Zagnieżdżone struktury”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:Format tabelaryczny
Dział zatytułowany „Format tabelaryczny”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 | 2013 | Interfejsy użytkownika | 5 | |
| Vue | Evan You | 2014 | Aplikacje SPA | 4 |
| Angular | 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:Format listy
Dział zatytułowany „Format listy”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/XML i znaczniki
Dział zatytułowany „XML i znaczniki”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 angielskii francuski, zachowując ton formalny.</instrukcja>
<tekst_zrodlowy>Szanowni Państwo, mamy przyjemność zaprosić Wasna konferencję, która odbędzie się 15 marca.</tekst_zrodlowy>
<odpowiedz><angielski>[tłumaczenie]</angielski><francuski>[tłumaczenie]</francuski></odpowiedz>Separatory i delimitery
Dział zatytułowany „Separatory i delimitery”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 ###Definiowanie narzędzi (Function Calling)
Dział zatytułowany „Definiowanie narzędzi (Function Calling)”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).
Szablony (Templates)
Dział zatytułowany „Szablony (Templates)”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]Formatowanie odpowiedzi wieloczęściowych
Dział zatytułowany „Formatowanie odpowiedzi wieloczęściowych”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 INWESTYCYJNARyzyko: [niskie/średnie/wysokie]Potencjał: [niski/średni/wysoki]Rekomendacja: [tak/nie/warunkowo]
## WNIOSKI[3-5 punktów]Najlepsze praktyki strukturyzacji
Dział zatytułowany „Najlepsze praktyki strukturyzacji”- Bądź konsekwentny - używaj tego samego formatu w całym prompcie. Jeśli zaczynasz z JSON, kontynuuj JSON.
- Pokazuj przykłady - zamiast tylko opisywać format, podaj przykład poprawnej odpowiedzi.
- 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.
- Definiuj typy danych - w schematach JSON określaj typy: string, number, boolean, array.
Tabela formatów i zastosowań
Dział zatytułowany „Tabela formatów i zastosowań”| 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 |
Podsumowanie
Dział zatytułowany „Podsumowanie”- 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