Structured Outputs i JSON Schema w precyzyjnej ocenie fitu leada
Wymuszanie 100% poprawnej struktury danych z modeli LLM za pomocą natywnego JSON Schema: eliminacja błędów parsowania i automatyczna segmentacja w CRM.
Problem i diagnoza
Instrukcje tekstowe typu odpowiedz wyłącznie w formacie JSON
zawodzą w 5-10% przypadków: model dodaje komentarze markdown, zmienia nazwy kluczy lub generuje niepoprawne przecinki. Błędy SyntaxError zrywają automatyczne scenariusze w n8n/Make, a wartościowe leady blokują się w kolejkach bez kwalifikacji.
Metoda działania krok po kroku
Wykorzystanie natywnego mechanizmu Structured Outputs gwarantuje matematyczną zgodność odpowiedzi modelu z dostarczonym schematem JSON Schema:
| Element schematu | Rola w kwalifikacji | Przykładowa reguła w JSON Schema |
|---|---|---|
| strict: true | Wymuszenie 100% determinizmu struktury | Niedozwolone jakiekolwiek dodatkowe klucze poza schematem |
| enum | Sztywna kategoryzacja segmentu | |
| minimum / maximum | Ograniczenie zakresu punktacji | |
| required | Gwarancja obecności kluczowych danych | |
- Zdefiniuj obiekt JSON Schema opisujący dokładnie strukturę scoringu Twojego ICP.
- W parametrach zapytania do OpenAI API przekaż
response_format: { type:lub skorzystaj z narzędzi (tools/functions) w Claude i Gemini.json_schema
, json_schema: { strict: true, ... } } - Wzbogać schemat o pole tablicy
disqualification_flags— model musi podać powód dyskwalifikacji z zamkniętej listy dopuszczalnych przyczyn. - Przekaż sparsowany bezpośrednio obiekt JSON do kolejnego węzła CRM bez konieczności stosowania wyrażeń regularnych (regex) czy bloków try/catch.
Praktyczny przykład (ZŁY vs DOBRY)
- ZŁY
- Prompt w n8n: 'Zwróć ocenę leada w JSON: fit i powód'. Model odpowiada tekstem: 'Jasne, oto ocena: ``
json {``', co wywołuje błąd JSON Parse i zatrzymuje workflow w Make.fit
:wysoki
,powód
:Firma rośnie
} - DOBRY
- Konfiguracja natywnego Structured Output z parametrem 'strict: true'. Model zwraca surowy, zwalidowany obiekt z kluczami 'tier', 'fit_score_numeric', 'pain_points' i 'next_action'. Zero błędów parsowania w 10 000 przetworzonych rekordów.
Gotowy prompt do skopiowania
Jesteś inżynierem AI integrującym modele językowe z systemami CRM. Kontekst: Automatyzuję kwalifikację leadów wpadających przez formularz demo i webhooki. Kryteria ICP: - Branża docelowa: [BRANŻE — np. E-commerce, Logistyka, FinTech] - Minimalna wielkość zespołu: [LICZBA PRACOWNIKÓW — np. 20+] - Negatywne kryteria (dyskwalifikujące): [np. studenci, agencje jednoosobowe, brak strony WWW] Zadanie: 1. Zbuduj kompletny obiekt JSON Schema z parametrem "strict": true do parametru response_format w OpenAI API. 2. Zdefiniuj w schemacie pola: - "qualification_status" (enum: TIER_1, TIER_2, DISQUALIFIED) - "icp_fit_score" (integer 0-100) - "identified_signals" (array of strings) - "disqualification_reason" (string lub null) - "suggested_routing" (enum: AE_SENIOR, SDR_OUTREACH, NURTURE_EMAIL) 3. Przygotuj system prompt instruujący model, jak ważyć poszczególne kryteria przed wygenerowaniem schematu. Format: Poprawny syntaktycznie kod schematu JSON Schema + instrukcja systemowa.
Warianty promptu i scenariusze
Implementacja dla Claude 3.5: wymuszenie struktury przez tool calling z parametrem tool_choice: { type: "tool", name: "qualify_lead" }.
Implementacja w Pythonie/FastAPI: definicja schematu z wykorzystaniem biblioteki Pydantic i OpenAI instructor.
Ćwiczenie i checklista wdrożenia
Zadanie praktyczne
Stwórz w edytorze lub n8n zapytanie z parametrem response_format wymuszającym JSON Schema i przetestuj je na leadzie z niepełnymi danymi, upewniając się, że odpowiedź jest w 100% poprawnym formatem bez dodatkowych znaków.
Kryteria sukcesu
Pytania wdrożeniowe i integracja z bazą CEIDG (FAQ)
Jak połączyć technikę „Structured Outputs i JSON Schema w precyzyjnej ocenie fitu leada” z arkuszem nowych firm CEIDG w Google Sheets?
W zadaniu z obszaru Lead Qualification podstaw pod zmienne w prompcie bezpośrednie kolumny z żywego arkusza prospekting.pl w Google Sheets: nazwę podmiotu (kolumna A), imię właściciela (kolumna E), główny kod PKD 2025/2007 (kolumna I), opis branży wygenerowany przez AI (kolumna K) oraz wykryte zawody decydenta (kolumna L). Pełne wdrożenie zajmuje średnio 12 min.
Jak zweryfikować poprawność wdrożenia lekcji „Structured Outputs i JSON Schema w precyzyjnej ocenie fitu leada” przed skalowaniem?
Przed podpięciem promptu pod automatyzację w Make.com lub n8n przetestuj go ręcznie na próbce 10–15 rekordów i sprawdź listę kontrolną: Zdefiniowano schemat JSON Schema z parametrem strict: true • Kluczowe statusy kwalifikacji zabezpieczono wartościami enum • Wyeliminowano niestabilne parsowanie tekstu i bloki markdown z odpowiedzi modelu.
Jak stosować wiadomości wygenerowane w tej lekcji zgodnie z RODO (art. 14) i art. 398 PKE?
Przy kontakcie elektronicznym (e-mail lub telefon) z nowo zarejestrowaną działalnością gospodarczą z CEIDG stosuj dwuetapowy model kontaktu zgodny z art. 398 Prawa Komunikacji Elektronicznej (PKE): pierwsza wiadomość powinna weryfikować potrzebę biznesową i pytać o zgodę na przesłanie oferty handlowej wraz ze skróconą klauzulą informacyjną z art. 14 RODO (wzór znajdziesz na stronie Baza firm z e-mailami i telefonami — RODO i PKE).
Powiązane lekcje i następne kroki w procesie
Metodologia (How & Why): Wszystkie szablony promptów i procedury w Akademii prospekting.pl są testowane na żywych strumieniach danych z API Hurtowni Danych CEIDG v3 (800–1 100 nowych JDG dziennie, 22 kolumny z mapowaniem PKD 2025 ↔ PKD 2007). Eliminujemy ogólnikowy żargon, stosując twarde ograniczenia negatywne (negative constraints) i weryfikowalne kryteria konwersji.
Zastrzeżenie prawne (YMYL Disclaimer): Materiały w Akademii mają charakter edukacyjno-techniczny i nie stanowią indywidualnej porady prawnej. Prowadząc komunikację elektroniczną B2B na bazie rejestrów publicznych, stosuj przepisy RODO (art. 6 ust. 1 lit. f oraz art. 14) i art. 398 Prawa Komunikacji Elektronicznej (PKE).
Otwórz darmowy arkusz 50 świeżych firm z CEIDG w Google Sheets i wypróbuj powyższy prompt na realnych rekordach z kodami PKD 2025.