JSON Mode — 가벼운 JSON 출력 활성화

JSON Mode

구조보다 '일단 유효한 JSON만 나오면 충분'한 경우엔 JSON Mode가 더 간단해요. 모델이 항상 유효한 JSON을 출력하도록 강제하지만, 특정 스키마 준수까지는 보장하지 않아요.

사용법

response = client.chat.completions.create(
    model="gpt-4o",
    response_format={"type": "json_object"},
    messages=[
        {"role": "system", "content": "Return JSON."},
        {"role": "user", "content": "Summarize in JSON."},
    ],
)

JSON mode 제약

  • 시스템 메시지에 'JSON'이라는 단어를 포함해야 해요.
  • 출력 토큰 제한이 있어 복잡한 스키마엔 부적합할 수 있어요.
  • 스키마 준수가 필요하면 Structured Outputs를 쓰는 게 낫다.

정리

  • 간단히: JSON Mode
  • 신뢰성·스키마: Structured Outputs

이 두 가지를 상황에 맞게 나눠 쓰면, 출력 파싱 실패로 깨지던 파이프라인을 훨씬 안정적으로 만들 수 있어요.

더 알아보기