Structured Outputs 개요 — 스키마 준수 출력 보장
Structured Outputs 개요
LLM이 JSON을 말한다 해도 키 누락이나 잘못된 enum이 나오면 파싱이 깨져요. Structured Outputs는 모델 응답이 항상 제시한 JSON Schema를 준수하도록 만들어, '스키마에 맞는 출력만 나온다'를 보장해요.
JSON mode와의 차이
| 항목 | Structured Outputs | JSON Mode |
|---|---|---|
| 유효한 JSON 출력 | 네 | 네 |
| 스키마 준수 | 네 (지원 스키마 한정) | 아니요 |
| 활성화 | format: {type:"json_schema", strict:true, ...} |
format: {type:"json_object"} |
JSON mode는 '일단 JSON은 맞는 것'에 그치지만, Structured Outputs는 정확히 스키마에 맞는 것까지 보장해요. 그래서 지원되는 유스케이스라면 Structured Outputs를 권장해요.
어디에 쓰나
- 수학 튜터 응답을 UI 별 섹션으로 렌더링
- 엔티티 추출, 데이터 분류처럼 스키마가 고정된 태스크
- 에이전트가 구조화된 인자로 도구를 호출