A strukturált AI válasz az a megközelítés, ahol a nyelvi modell (LLM) kimenetét nem szabad-formátumú szövegként, hanem egy előre megadott struktúrában — jellemzően JSON, vagy más kötött formátum — kéred. Praktikus értelemben: ahelyett, hogy a ChatGPT-től egy bekezdéses választ várnál, kérsz egy {kategoria: "panasz", priority: "high", valasz_javaslat: "..."} JSON-objektumot. A különbség drasztikus: a strukturált válasz közvetlenül beilleszthető egy szoftverbe, validálható, és nem fordulhat elő, hogy a következő hívás eltérő szerkezetű választ ad.
Így is ismerheted
Magyarul strukturált kimenet, JSON kimenet AI-ból, kötött formátumú válasz. Angolul structured output, JSON output, structured generation. Az OpenAI API-ban van „JSON mode” és „Structured Outputs” feature, az Anthropic-nál „tool use” pattern, a Llama / önhostolt modelleknél „guided generation” libraryk (pl. Outlines, Guidance).
Mire jó cégeknek?
A strukturált válasz három fő érték-tengely mentén nyer:
Megbízhatóság: ha a következő szoftver-lépés egy konkrét JSON-mezőt vár, és az AI néha JSON-t, néha bekezdést ad, a rendszer összeomlik. A strukturált válasz garantálja, hogy minden alkalommal feldolgozható formátum jön.
Integrálhatóság: a JSON közvetlenül beolvasható egy szoftverbe, adatbázisba kerülhet, API-n továbbküldhető. Egy „köztes ember” formátumos újraformázás nem kell.
Validálhatóság: ellenőrizheted, hogy minden kötelező mező megvan, hogy az értékek a megengedett halmazból valók, hogy a típusok helyesek. Ez különösen fontos automatizált rendszerekben.
Tipikus felhasználási területek
A strukturált válasz ott a leghasznosabb, ahol az AI-kimenet egy nagyobb rendszerbe folyik be:
- E-mail-kategorizálás — { kategoria, priority, javasolt_valasz, eszkalacios_szukseges }.
- Dokumentum-feldolgozás — számláknál { szallito, datum, osszeg_afa_nelkul, afa, osszeg_brutto, tetelek: […] }.
- Adat-kinyerés — szerződésekből { felek, kezdo_datum, vegso_datum, erték, fizetési_határidő }.
- Hangulat- és intent-elemzés — { hangulat: “pozitiv|negativ|semleges”, intent: “vasarlas|panasz|kerdes|…”, confidence: 0.85 }.
- Lead-kvalifikáció — { qualified: true/false, score: 0-100, ok: “…”, javasolt_kovetkezo_lepes: “…” }.
- Forditás és transzformálás — { original_text, translated_text, detected_language, confidence }.
Hogyan kényszeríts strukturált kimenetet?
Több megközelítés van, attól függően, milyen API-t használsz:
JSON mode (OpenAI): hozzáadod a hívás paramétereihez a response_format: { type: "json_object" } opciót. A modell ekkor csak JSON-t ad vissza. A prompt-ban kérd, hogy a választ JSON-ban add.
Structured Outputs (OpenAI, Claude): definiálsz egy konkrét JSON-szkémát (zod, JSON Schema, vagy Pydantic), és a modell pontosan azt a struktúrát hozza. Ez 100%-ban garantált — nem lehet hibás formátum.
// OpenAI Structured Outputs példa (TypeScript)
const schema = z.object({
kategoria: z.enum(["panasz", "kerdes", "megrendelés"]),
priority: z.enum(["alacsony", "kozepes", "magas"]),
javasolt_valasz: z.string(),
eszkalacios_szukseges: z.boolean()
});
const response = await openai.beta.chat.completions.parse({
model: "gpt-4o-mini",
messages: [...],
response_format: zodResponseFormat(schema, "email_analysis")
});
// response.choices[0].message.parsed pontosan a séma szerint van
Tool use / function calling: definiálsz „eszközöket” (tools), amik konkrét paraméter-szkémát kérnek. A modell „meghívja” az eszközt a paraméterekkel, és te megkapod a strukturált adatot.
Few-shot promptolás: ha az API nem támogat strukturált módot (régebbi modellek, önhostolt), 2-3 példával mutasd a kívánt formátumot a promptban. Részletesen a zero-shot és few-shot promptolás cikkben.
Külső tool-ok (önhostolt modellekre): Outlines, Guidance, JSONFormer — Python libraryk, amik garantálják, hogy a kimenet egy konkrét formátumot követ.
Példa: strukturált kimenet egy CRM-integrációhoz
Tegyük fel, az ügyfél-űrlapból szabad-szöveges megjegyzés érkezik, és a CRM-be strukturált adatok kellenek.
Prompt:
Elemezd az alábbi ügyfél-megjegyzést, és add a választ pontosan ebben a JSON-formátumban:
{
"cegmeret": "kicsi | kozepes | nagy",
"szolgaltatas": "weboldal | chatbot | ai-automatizacio | egyeb",
"sürgosseg": "alacsony | kozepes | magas",
"büdzse_milliokban": szám vagy null,
"konkret_kerdes": rövid összefoglaló a kérdésből
}
Megjegyzés: "Egy 30 fős cégnél dolgozok, sales-csapatnak szeretnénk AI-asszisztens, ami CRM-ből ad ajánlat-vázlatot. Költségvetés 3-5 millió, és 2 hónap alatt élesedne."
Kimenet:
{
"cegmeret": "kozepes",
"szolgaltatas": "ai-automatizacio",
"sürgosseg": "kozepes",
"büdzse_milliokban": 4,
"konkret_kerdes": "AI-asszisztens fejlesztése sales-csapatnak CRM-integrációval"
}
Ez egyenesen beolvasható a CRM-be, és a sales-csapat azonnal lát mindent fontos szempontot.
Mire figyelj?
Az első tipp: használj „Structured Outputs”-ot, ha lehet. Az új OpenAI / Claude verziókban ez 100%-ban garantálja a formátumot. A „JSON mode” csak azt garantálja, hogy a kimenet érvényes JSON, de nem azt, hogy a sémád szerinti.
A második: validálj a fogadásnál is. Akkor is, ha az API garantálja a sémát, építs be runtime-validációt (zod, Pydantic, JSON Schema). Az AI néha „logikailag rossz” választ ad (pl. a kategória nem létezik a megengedettek között).
A harmadik: kezelj hibás kimenetet. Mi történik, ha az AI „nem tudja” a választ? A séma legyen elég rugalmas, hogy ezt kezelje (pl. confidence: 0-1 mező, vagy not_applicable: true).
A negyedik: tartsd egyszerűen a sémát. Egy 50 mezős JSON-séma nehéz az AI-nak. Ha lehet, bontsd kisebb lépésekre — több, fókuszáltabb hívás jobban skálázódik, mint egy hatalmas „mindent egyszerre”.
Az ötödik: tesztelj edge case-eken. Mit csinál az AI, ha a bemenet üres? Ha nem az elvárt nyelven van? Ha a kért adat nincs benne? A séma legyen ezekre felkészülve.
A hatodik: verziókövetés a sémának. Ha módosítod a JSON-szkémát (új mező, kategória), a régebbi adatok inkompatibilisek lehetnek. Tervezz migrációt.
Ha cégednél strukturált AI-választ használó rendszert építesz — sales-CRM-integráció, dokumentum-feldolgozó, e-mail-asszisztens —, az AI és automatizáció szolgáltatásunk pont erre épül: séma-tervezés, prompt-finomítás, integráció, validáció. Egy ügyfél-felé néző AI-megjelenéshez (chatbot) a chatbot fejlesztés az induló pont. Külső szakmai forrás: platform.openai.com/docs/guides/structured-outputs.