다섯 살도 알 수 있게 · AI

구조화 출력이 뭐예요?

구조화 출력(JSON 출력)을 앵무새에게 칸이 그려진 양식을 주고 그 칸에만 쓰게 하는 이야기로 풀어봤어요.

김철수님이 3월 3일에 만 원 내셨어요???장부 기계기계가 못 읽어요어제, 오늘, 내일3월 3일 만 원…만 원, 3/3, 김…김철수: 3일에…답은 맞는데 모양이 매번 달라요 — 기계는 못 읽어요

답은 맞는데 모양이 매번 달라요. 기계는 못 읽어요.앵무새 답을 장부 프로그램에 넣고 싶어요. 그런데 어제는 날짜가 앞, 오늘은 이름이 앞. 기계는 어디가 뭔지 몰라요.

3월 3일에 만 원이요김철수님, 만 원, 3일!음… 그날 만 원쯤?앵무새는 말로 답하는 새예요칸이 없으면 마음대로 써요칸이 없어요사람은 셋 다 알아듣지만, 기계는 정해진 칸이 있어야 읽어요

앵무새는 말로 답하는 새예요. 칸이 없으면 자유롭게 써요.쪽지에 "짧게 써 줘"라고 해도 모양은 그때그때 달라요. 사람은 다 알아듣지만 기계는 정해진 칸이 있어야 읽어요.

양식이름날짜금액빈 양식조련사가 양식을 줘요양식이름김철수날짜3월 3일금액10000칸에만 써요칸에 없는 말은 안 해요 — 기계가 바로 읽어요구조화 출력 = 칸이 그려진 종이를 주고, 그 칸에만 쓰게 하기

구조화 출력은 칸이 그려진 종이를 주고, 그 칸에만 쓰게 하는 거예요.칸 이름과 종류를 미리 정해요. 앵무새는 그 칸만 채워요. 기계는 이름 칸, 날짜 칸을 바로 찾아 읽어요.

칸 이름과 종류를 미리 정해요이름은 글자, 금액은 숫자
없는 값은 빈칸지어내지 말고 비워 두기
사람 말은 빼요기계가 읽어요 — 인사말은 안 돼요
칸을 벗어나면 다시검사해서 틀리면 다시 쓰게
자유 답김철수님이 3월 3일에 만 원 내셨어요???기계: 어디가 이름이지?양식 답양식이름김철수날짜3월 3일금액10000✓장부 기계기계: 이름 칸 = 김철수 ✓칸 이름이 있으니 바로 넣어요같은 내용이라도 칸에 쓰면 기계가 읽어요

같은 내용이라도 칸에 쓰면 기계가 읽어요.칸에는 이름이 붙어 있어요. 기계는 이름 칸을 보고 이름을, 금액 칸을 보고 숫자를 꺼내요. 모양이 늘 같으니 매번 돼요.

양식이름김철수날짜3월 3일금액99999모양 ✓ 내용 ×칸은 맞췄지만 금액은 지어냈어요도구 부탁 양식도구계산기입력3 + 4도구 부탁도 양식이에요조련사가 양식을 읽고 도구를 써요칸이 맞다고 사실이 맞는 건 아니에요 — 내용 확인은 따로

칸이 맞다고 사실이 맞는 건 아니에요. 내용 확인은 따로 해요.금액 칸에 숫자가 들어 있어도 지어낸 숫자일 수 있어요 — 그럴듯 앵무새는 양식 안에서도 그래요. 그리고 도구 부탁도 이 양식으로 써요.

한 줄로

구조화 출력 = 앵무새에게 칸이 그려진 양식을 주고 그 칸에만 쓰게 하기. 기계가 바로 읽어요. 칸이 맞아도 내용이 맞다는 뜻은 아니에요.

Structured output / JSON mode. 모델의 응답을 미리 정한 스키마(JSON Schema 등)에 맞는 형태로만 내게 하는 기능이에요. 필드 이름·타입·열거형을 정하고, 응답을 파싱·검증해서 실패하면 재시도해요. 함수 호출(도구 호출)도 같은 원리로 인자를 스키마에 맞춰 내는 거예요. 형식이 맞아도 값의 사실성은 따로 검증해야 해요.

어른들은 이렇게 불러요

구조화 출력
Structured output
칸에만 쓰기. 앵무새 답을 기계가 읽을 수 있는 모양으로 고정해요.
JSON 모드
JSON mode
가장 흔한 양식 종류. 중괄호와 따옴표로 된 칸 목록. 거의 모든 프로그램이 읽어요.
스키마
Schema
양식의 설계도. 칸 이름, 종류(글자·숫자·예/아니오), 꼭 있어야 하는 칸을 미리 적어요.
함수 호출과의 관계
Relation to function calling
도구 부탁도 양식. 어떤 도구를 어떤 값으로 쓸지 칸에 써서 넘겨요. → 도구 상자
검증
Validation
양식 검사. 칸이 다 있는지, 종류가 맞는지 기계가 먼저 확인해요.
파싱 실패 재시도
Retry on parse failure
칸을 벗어나면 다시 쓰게. 가끔 양식이 깨져요. 틀린 부분을 알려 주고 한 번 더 시켜요.
열거형
Enum
정해진 값만. 예: 상태 칸엔 대기·완료·취소 중 하나만. 새 낱말은 안 돼요.
프롬프트
Prompt
조련 쪽지. 양식을 주는 것도 쪽지의 일부예요. → 조련 쪽지
다음 이야기
콩을 하나씩 바로 보여주기 →
다른 용어도 그림책으로 보고 싶다면 요청하기 →