k
korAI
AI 뉴스 전체
📰 AI 뉴스2026-07-164분

OpenAI, Structured Outputs 스키마 제약 완화—재귀·유니온 타입 정식 지원

OpenAI가 Structured Outputs의 JSON Schema 지원 범위를 확장해, 그동안 불가능했던 재귀 참조(`$ref`)와 `anyOf` 유니온 타입을 `strict: true` 모드에서 공식 지원한다. 복잡한 중첩 데이터 모델을 단일 API 호출로 100% 스키마 준수 형태로 출력할 수 있게 돼, 파싱 오류와 재시도 로직을 제거할 수 있다.

openaistructured-outputsapi

기존 한계와 이번 변경 내용

Structured Outputs가 2024년 도입된 이후 strict: true 모드는 스키마 준수를 보장하지만, 두 가지 주요 제약이 있었다.

  1. 재귀 스키마 불가: 트리·그래프 구조처럼 자기 참조($ref: "#")를 포함한 스키마는 오류 반환
  2. anyOf 제한: 유니온 타입은 null 허용(Optional) 용도로만 사용 가능, 실질적 다형성 불가

이번 업데이트로 두 제약이 모두 해제되었다.

{
  "name": "ast_node",
  "strict": true,
  "schema": {
    "type": "object",
    "properties": {
      "type": { "type": "string", "enum": ["BinaryExpr", "Literal", "Identifier"] },
      "left": { "anyOf": [{ "$ref": "#" }, { "type": "null" }] },
      "right": { "anyOf": [{ "$ref": "#" }, { "type": "null" }] },
      "value": { "type": "string" }
    },
    "required": ["type", "left", "right", "value"]
  }
}

위 스키마로 GPT-4.1 기반 코드 파서가 AST를 직접 JSON으로 반환하는 파이프라인을 구성할 수 있다.

실무 적용 시나리오

코드 분석 도구: 소스 코드를 입력받아 AST 또는 CFG(제어 흐름 그래프)를 재귀 JSON으로 직접 출력, 별도 파서 없이 프론트엔드에서 시각화

다형성 API 응답 생성: anyOfSuccessResponse | ErrorResponse | PendingResponse를 하나의 스키마로 정의해 LLM이 상황에 맞는 타입을 선택 출력

문서 구조 추출: 중첩 섹션·하위 섹션이 무한 깊이로 이어지는 법률 문서·기술 매뉴얼을 재귀 스키마로 구조화

지원 모델: GPT-4.1, GPT-4.1 Mini, GPT-4o, o3 계열. 가격은 기존 모델별 토큰 요금 동일 적용(공식 페이지 참조).

한국 개발자 주목 포인트

  • 재시도 비용 제거: 기존에는 스키마 불일치로 인한 재시도가 평균 10~20% 토큰 낭비를 유발했으나, strict 모드 확장으로 제거 가능
  • Zod·Pydantic 연동 강화: TypeScript 프로젝트의 zod-to-json-schema, Python의 pydantic 모델이 재귀 타입을 포함해도 그대로 스키마로 변환·전달 가능
  • 공공·금융 데이터 처리: 계층형 행정구역 코드, 복합 금융 상품 구조처럼 국내 도메인에서 자주 등장하는 재귀 데이터 모델 처리에 즉시 활용 가능
출처: OpenAI API Changelog