LLM의 출력이 JSON, 마크다운, 특정 템플릿처럼 원하는 형식으로 나오도록 유도하는 기법.
LLM의 자유로운 텍스트 출력을 프로그램에서 사용하려면 파싱이 필요하다. 출력 포맷팅은 프롬프트에 원하는 출력 형식을 명시하거나, 모델의 structured output 기능을 활용해 항상 파싱 가능한 형식으로 결과를 받는 기법이다. 불안정한 파싱 코드 없이 안정적으로 LLM 출력을 처리할 수 있게 한다.
상품 정보 추출 작업에서 {"name": "", "price": 0, "category": ""} JSON 스키마를 프롬프트에 포함하거나, Anthropic SDK의 response_format={"type": "json_object"}를 지정하면 항상 유효한 JSON이 반환된다. Pydantic 모델을 정의하고 instructor 라이브러리를 쓰면 타입 안전한 구조화 출력을 받을 수 있다.