구조화 출력
Structured Output · 중급
구조화 출력이란 AI 모델이 자유 형식 문장 대신 JSON 등 미리 정의된 스키마를 따르는 형태로 응답을 생성하도록 하는 방식을 말한다.
LLM의 기본 출력은 자연어 문장이라 프로그램이 값을 안정적으로 파싱하기 어렵고, 응답 형식이 매번 조금씩 달라지면 후처리 코드가 쉽게 깨진다는 문제가 있었다. 이를 해결하기 위해 개발자가 JSON 스키마나 함수 정의로 원하는 필드와 타입을 지정하면, 모델이 그 틀에 맞춰 값을 채워 넣도록 유도하거나, 스키마를 벗어나는 토큰 생성 자체를 차단하는 방식으로 강제하기도 한다. 실무에서는 고객 문의를 분류해 카테고리와 우선순위 필드가 있는 레코드로 저장할 때, 여러 도구나 에이전트가 서로 호출하며 인자를 주고받는 도구 사용(tool use) 상황에서, 또는 분석 결과를 표나 카드 형태 UI로 그대로 렌더링해야 할 때 구조화 출력을 쓴다. 스키마를 지정하면 형식은 지켜지지만, 그 안에 채워지는 값의 사실 정확성까지 보장되는 것은 아니라는 점은 흔히 놓치는 부분이다.