k
korAI
AI 뉴스 전체
📰 AI 뉴스2026-09-124분

OpenAI, Structured Outputs v2 정식 GA — 중첩 스키마·유니온 타입 완전 지원

OpenAI가 Structured Outputs v2를 정식 출시하며 JSON Schema의 중첩 객체, anyOf 유니온 타입, 재귀 스키마를 100% 보장 모드로 지원한다. 기존 v1 대비 스키마 복잡도 제한이 대폭 완화되고, 응답 파싱 실패율이 공식 기준 0.003% 미만으로 낮아져 프로덕션 파이프라인 안정성이 크게 향상된다.

openaistructured-outputsdeveloper-tools

무엇이 달라졌나

OpenAI Structured Outputs v2는 기존 v1의 핵심 제약이었던 스키마 깊이 5단계 제한을 제거했다. 이제 중첩 객체는 이론상 무제한 깊이까지 strict: true 모드에서 보장된다. anyOf 유니온 타입도 최대 20개 브랜치까지 공식 지원되어, 복잡한 도메인 모델을 별도 전처리 없이 직접 스키마로 표현할 수 있다.

재귀 스키마(예: 트리 구조, 폴더 계층) 역시 이번 버전부터 $ref 순환 참조를 허용한다. 한국어 크리에이터 툴이나 법률·의료 문서 파서처럼 복잡한 계층 데이터를 다루는 서비스에서 즉시 활용 가능하다.

성능 수치와 가격

| 항목 | v1 | v2 | |---|---|---| | 스키마 깊이 제한 | 5단계 | 무제한 | | 유니온 브랜치 수 | 지원 불가 | 최대 20개 | | 파싱 실패율 (공식) | ~0.02% | <0.003% | | 첫 토큰 지연 증가 | 기준 | +8ms 이하 |

가격은 기반 모델(GPT-4o, GPT-4o mini 등) 요금 체계와 동일하며 Structured Outputs 사용에 대한 추가 과금은 없다. 정확한 모델별 단가는 OpenAI 공식 페이지 참조.

한국 개발자 적용 포인트

1. Zod / TypeScript 연동 간소화 OpenAI Node.js SDK v5.3 이상에서 zodResponseFormat 헬퍼가 v2 스키마를 자동으로 직렬화한다. 기존에 스키마 단순화를 위해 작성한 래퍼 코드를 제거하고 원본 Zod 스키마를 그대로 넘길 수 있다.

import { zodResponseFormat } from 'openai/helpers/zod';
import { z } from 'zod';

const Node = z.lazy(() =>
  z.object({
    id: z.string(),
    children: z.array(Node),
  })
);

const response = await openai.beta.chat.completions.parse({
  model: 'gpt-4o',
  messages: [{ role: 'user', content: '폴더 구조를 JSON으로 반환해줘' }],
  response_format: zodResponseFormat(Node, 'tree'),
});

2. 기존 v1 코드 마이그레이션 response_format 객체에 version: '2' 필드를 추가하는 것만으로 v2로 전환된다. 하위 호환이 보장되므로 단계적 전환이 가능하다.

3. 크리에이터·에디터 툴 시나리오 자막 세그먼트, 챕터 메타데이터, 다국어 번역 키-값 쌍처럼 복잡하게 중첩된 콘텐츠 구조를 LLM 출력으로 바로 받아 DB에 삽입하는 워크플로우가 추가 파싱 레이어 없이 구성된다.

출처: OpenAI Platform Changelog