OpenAI, Structured Outputs v2 정식 GA—스키마 복잡도 제한 대폭 완화
OpenAI가 Structured Outputs v2를 정식 출시하며 JSON 스키마의 중첩 깊이 제한을 기존 5단계에서 20단계로 확장하고, anyOf·재귀 참조 등 고급 스키마 타입을 공식 지원한다. 이번 업데이트로 복잡한 비즈니스 도메인 데이터 모델을 LLM 출력에 직접 매핑할 수 있어, 백엔드 파싱 로직 작성 부담이 크게 줄어든다.
무엇이 달라졌나
OpenAI Structured Outputs v2는 기존 버전의 핵심 제약이었던 스키마 중첩 깊이 5단계 제한을 20단계로 확장했다. 또한 anyOf, $ref를 이용한 재귀 참조, discriminatedUnion 패턴을 공식 지원하여 트리·그래프 형태의 데이터 구조도 단일 API 호출로 파싱 결과를 직접 받을 수 있다.
지원 모델은 gpt-4.1, gpt-4.1-mini, o3 시리즈이며, 요청 파라미터는 기존과 동일하게 response_format: { type: "json_schema", json_schema: { ... }, strict: true } 형태를 유지한다. 가격은 공식 페이지 참조.
한국 개발자에게 실질적인 영향
전자상거래·핀테크·ERP 도메인에서 흔히 쓰이는 계층형 카테고리 코드, 중첩 주소 스키마, 복합 주문 객체 등을 별도 후처리 없이 그대로 LLM 출력 스키마로 활용할 수 있다. 기존에는 깊은 중첩 구조를 처리하기 위해 스키마를 분할 호출하거나 Pydantic 커스텀 파서를 별도 작성해야 했으나, 이번 업데이트로 해당 우회 로직을 제거할 수 있다.
Python SDK(openai>=1.55.0)와 TypeScript SDK(openai>=4.72.0)에서 즉시 사용 가능하며, 재귀 스키마 사용 시 max_depth 힌트 파라미터를 함께 전달하면 토큰 오버헤드를 최소화할 수 있다.
마이그레이션 체크리스트
strict: true모드는 v2에서도 동일하게 유지되므로 기존 코드 변경 없이 SDK 버전만 올려도 동작한다.- 재귀
$ref스키마를 새로 도입할 경우, 순환 참조 깊이가 너무 깊어지면 응답 지연이 발생할 수 있으므로 프로덕션 적용 전 레이턴시 벤치마크 권장. - Azure OpenAI Service 반영 시점은 별도 공지 예정이므로 Azure 환경 사용자는 공식 채널 확인 필요.