6강

출력 형식 제어하기

3 조회 1

JSON·Markdown·표 등 구조화된 출력 형식을 자유자재로 제어하고, 파싱 오류 없는 안정적인 AI 출력을 설계하는 법을 익힌다.

왜 출력 형식 제어가 중요한가?

AI 출력을 실제 업무나 애플리케이션에서 사용하려면 예측 가능한 형식이 필요합니다. 자유 형식 텍스트는 읽기는 좋지만 프로그램이 파싱하기 어렵고, 매번 형식이 달라지면 후처리가 복잡해집니다.

JSON 출력 제어: AI 연동의 핵심

API 기반 AI 애플리케이션에서 JSON은 가장 중요한 출력 형식입니다.

# 기본 JSON 요청
"다음 텍스트에서 정보를 추출해서 JSON으로 반환해줘.
 다른 설명 없이 JSON만 반환해줘.

 형식:
 {
   "이름": string,
   "회사": string,
   "직책": string,
   "연락처": string | null
 }

 텍스트: 안녕하세요, 저는 누구나HRD의 프로덕트 매니저 김지원입니다.
          이메일은 jiwon@nugunahrd.com입니다."

JSON 출력 안정화 기법

# 기법 1: 마크다운 코드블록 요청
"JSON을 마크다운 코드블록(```json ... ```)으로 감싸서 반환해줘"

# 기법 2: 스키마 명시 (타입 강제)
"반드시 다음 스키마를 따르는 JSON만 반환해줘:
 - id: 정수
 - tags: 문자열 배열 (최소 1개)
 - score: 0~100 사이의 숫자"

# 기법 3: OpenAI JSON Mode 사용
response = client.chat.completions.create(
    model="gpt-4o",
    response_format={"type": "json_object"},
    messages=[...]
)

마크다운 구조 제어

보고서, 문서, 블로그 포스트에 적합한 형식입니다.

"다음 주제로 보고서를 작성해줘. 아래 마크다운 구조를 정확히 따라줘:

# [제목]

## 요약 (3문장 이내)

## 1. 현황 분석
### 1.1 주요 지표
(표 형식으로)
### 1.2 트렌드

## 2. 핵심 발견사항
(번호 목록, 각 항목 2~3줄)

## 3. 권고사항
(우선순위 순서로, 각 항목에 기대 효과 포함)

## 참고사항
(단, 불확실한 사항은 이 섹션에 명시)"

표(Table) 출력 제어

"비교 결과를 마크다운 표로 만들어줘.
 컬럼: 항목 | 옵션A | 옵션B | 옵션C | 추천
 행: 가격, 성능, 편의성, 지원, 확장성
 추천 컬럼에는 ✓ 또는 빈칸으로 표시해줘"

리스트 형식 세밀 제어

# 중첩 구조 지정
"결과를 다음 구조로 작성해줘:
 1. 메인 카테고리 (굵은 글씨)
    - 세부 항목 (들여쓰기)
      * 예시 (두 단계 들여쓰기)

 각 메인 카테고리는 최대 3개, 세부 항목은 최대 5개"

# 번호 형식 지정
"1) 2) 3) 형식이 아닌 ① ② ③ 형식으로 번호 매겨줘"

출력 길이 정밀 제어

# 길이 제어 방법들

"정확히 3문장으로만 답해줘"
"100자 이내로 요약해줘"
"트위터 게시물처럼 140자 이내로"
"A4 한 장 분량 (약 800자)으로"
"핵심 포인트만, 1줄씩 최대 5개"

# 섹션별 길이 지정
"도입부 50자, 본문 200자, 결론 50자로 작성해줘"

멀티파트 출력 제어

# 여러 형식 혼합
"다음 회의록을 분석해서 세 부분으로 정리해줘:

[SUMMARY]
3문장 이내 전체 요약

[ACTION_ITEMS]
JSON 배열 형식:
[{"담당자": "...", "작업": "...", "기한": "..."}]

[RISKS]
발견된 리스크를 위험도(상/중/하) 표시와 함께 목록으로

회의록: [내용]"

출력 형식 검증 프롬프트

# 모델 자체 검증 요청
"JSON을 반환하기 전에, 형식이 올바른지 스스로 확인해줘:
 1. 모든 필수 필드가 있는가?
 2. 타입이 맞는가?
 3. null이 아닌 값이 있어야 할 곳에 null이 있지 않은가?
 확인 후 JSON만 출력해줘."

형식 제어 실패 시 복구 전략

# 잘못된 형식이 나왔을 때
"이전 답변을 다음 형식으로 변환해줘. 내용은 바꾸지 말고 형식만:
 [원하는 형식 설명]"

# 파싱 전 정제
"마크다운 코드블록 제거하고 JSON만 남겨줘"
"답변에서 설명 텍스트를 제거하고 JSON만 반환해줘"
출력 형식을 정밀하게 제어하는 것은 AI를 실제 시스템에 통합할 때 핵심 역량입니다. JSON 스키마를 명시하고, 예시를 보여주고, 마지막에 형식 확인을 요청하는 3단계 패턴으로 파싱 오류를 90% 이상 줄일 수 있습니다.

관련 검색어  ·  프롬프트 JSON 출력, 구조화된 AI 출력, 마크다운 형식 제어, ChatGPT 출력 형식, AI JSON 파싱, LLM 응답 형식 제어

채용정보
공지사항
인사이트
MY