AI Sales Academy

Structured Outputs i JSON Schema w precyzyjnej ocenie fitu leada

Lead Qualification 12 min
Problem biznesowy

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.

Sprawdzona metoda

Wykorzystanie natywnego mechanizmu Structured Outputs gwarantuje matematyczną zgodność odpowiedzi modelu z dostarczonym schematem JSON Schema:

Element schematuRola w kwalifikacjiPrzykładowa reguła w JSON Schema
strict: trueWymuszenie 100% determinizmu strukturyNiedozwolone jakiekolwiek dodatkowe klucze poza schematem
enumSztywna kategoryzacja segmentutier: { type: string, enum: [TIER_1, TIER_2, UNQUALIFIED] }
minimum / maximumOgraniczenie zakresu punktacjiscore: { type: integer, minimum: 0, maximum: 100 }
requiredGwarancja obecności kluczowych danychrequired: [tier, score, justification, buying_triggers]
  1. Zdefiniuj obiekt JSON Schema opisujący dokładnie strukturę scoringu Twojego ICP.
  2. W parametrach zapytania do OpenAI API przekaż response_format: { type: json_schema, json_schema: { strict: true, ... } } lub skorzystaj z narzędzi (tools/functions) w Claude i Gemini.
  3. Wzbogać schemat o pole tablicy disqualification_flags — model musi podać powód dyskwalifikacji z zamkniętej listy dopuszczalnych przyczyn.
  4. 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.
Przykład z rynku
ZŁY
Prompt w n8n: 'Zwróć ocenę leada w JSON: fit i powód'. Model odpowiada tekstem: 'Jasne, oto ocena: ``json {fit: wysoki, powód: Firma rośnie} ``', co wywołuje błąd JSON Parse i zatrzymuje workflow w Make.
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.
Model rekomendowany: Claude 3.5 Sonnet / GPT-4o Skopiuj i wklej do ChatGPT, Claude lub Perplexity
ALTERNATYWNE SCENARIUSZE

Warianty i alternatywne 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 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.

Zapisano w przeglądarce

Kroki do wykonania

0/4