AI에게 상품 목록을 정리해 달라고 했는데 어떤 행에는 가격이 숫자로, 다른 행에는 “약 3만 원”으로 들어간 적이 있나요? 사람이 읽기에는 괜찮아 보여도 엑셀 정렬이나 자동 계산 단계에서는 다시 손봐야 합니다. 반복 작업이라면 질문을 길게 쓰기 전에 결과를 담을 칸과 규칙을 먼저 정해 두는 편이 좋습니다.
이 글은 일반 사용자가 이해할 수 있도록 출력 형식부터 설명합니다. 개발 도구인 OpenAI API의 Structured Outputs도 함께 다루지만, 채팅창에서 표를 요청하는 것과 같은 기능은 아닙니다. 기능 설명은 2026년 10월 10일 공식 문서 확인 기준입니다.
표 요청, JSON, Structured Outputs의 차이
표 요청은 대화에서 “상품명·가격·통화 세 열로 정리해 줘”라고 말하는 방식입니다. 내용을 확인하고 직접 복사할 때 간편합니다. 다만 대화 중 형식이 바뀌거나 설명이 덧붙을 수 있으므로 자동 처리 전 검사가 필요합니다.
JSON은 프로그램이 읽기 편한 데이터 표기법입니다. 항목 이름과 값을 짝지어 저장합니다. JSON으로 작성됐다는 사실만으로 필요한 항목이 모두 있거나 값의 의미가 맞는 것은 아닙니다.
Structured Outputs는 지원되는 OpenAI API 모델에서 미리 지정한 스키마, 즉 데이터 설계에 맞춘 출력을 받는 기능입니다. 공식 문서는 JSON 모드가 유효한 JSON 형식을 보장하는 것과, Structured Outputs가 지정한 스키마를 따르게 하는 것을 구분합니다. 지원 범위와 오류 처리는 사용하는 API 및 모델 문서를 확인해야 합니다. OpenAI Structured Outputs 문서
상품 비교표를 만들기 전에 정할 다섯 칸
다음은 이 글에서 제안하는 가상 설계입니다. 실제 수집 결과나 특정 업체의 가격 정보가 아닙니다.
| 항목 | 입력 규칙 | 규칙을 두는 이유 |
|---|---|---|
| 상품명 | 원문에 표시된 이름을 보존 | 비슷한 모델이나 용량을 혼동하지 않도록 함 |
| 가격 | 숫자로 기록, 확인 불가는 빈값 | 미확인 가격을 0원으로 계산하는 문제 방지 |
| 통화 | KRW 등 별도 칸에 기록 | 통화가 다른 금액을 그대로 비교하지 않도록 함 |
| 가격 조건 | 회원가·쿠폰·배송비 별도 기록 | 조건이 다른 가격의 단순 비교 방지 |
| 원문 위치 | 주소 또는 문서의 페이지 | 사람이 원문으로 돌아가 확인할 수 있게 함 |
여기에 ‘확인 필요 사유’ 칸을 하나 더 두면 검토할 행을 모으기 쉽습니다. 중요한 것은 비어 있는 값을 허용하는 일입니다. 자료에 없는데 모든 칸을 채우도록 요구하면, 무엇을 확인해야 하는지 표시할 공간이 없어집니다.
채팅만 사용한다면 이렇게 요청하기
제공한 상품 설명만 사용해 상품명, 가격, 통화, 가격 조건, 원문 위치를 표로 정리해 줘. 가격은 숫자만 적고 통화는 별도 열에 넣어 줘. 원문에서 찾을 수 없는 값은 ‘확인 필요’로 표시하고, 임의로 0을 넣지 마. 회원가와 일반가는 별도 행으로 구분해 줘.
이 요청은 수작업 검토용입니다. 개발자가 프로그램에 연결한다면 ‘확인 필요’라는 글자를 숫자 칸에 넣기보다 비어 있는 값과 상태 항목을 분리하는 방식이 적합할 수 있습니다. 사람이 읽을 표와 프로그램이 처리할 데이터의 규칙을 목적에 맞춰 나눠야 합니다.
자동화한다면 세 번 검사하기
- 형식 검사: 필수 항목이 있고 숫자·문자·목록의 종류가 맞는지 확인합니다.
- 업무 규칙 검사: 통화가 없는데 가격만 있거나, 같은 상품이 다른 조건 없이 중복되지 않았는지 확인합니다.
- 원문 대조: 결과의 상품명·금액·조건이 원문과 일치하는지 검토합니다.
공식 문서는 Structured Outputs에도 내용상 실수가 있을 수 있다고 명시합니다. 또한 요청 거부와 불완전한 응답처럼 정상 데이터와 구분해 처리해야 할 경우가 있습니다. 형식이 맞았다는 이유로 다음 단계의 결제나 발송까지 자동으로 연결하지 않는 편이 좋습니다. 출력 오류와 거부 처리 안내
어느 정도 반복될 때 도입할까?
이번 한 번만 목록 열 개를 확인한다면 채팅 표와 수동 검토로 충분할 수 있습니다. 같은 형식으로 계속 모으고 다른 프로그램이 결과를 읽는다면 스키마와 검증 규칙을 준비할 가치가 생깁니다. 도입 판단에는 생성 시간뿐 아니라 사람이 수정한 행 수, 다시 실행한 횟수, 검토에 쓴 시간을 함께 기록해 보세요.
처음부터 큰 자동화를 만들 필요는 없습니다. 자주 틀리는 칸 한 개를 찾아 규칙을 정하고, 원문 위치를 남기는 것부터 시작하면 다음 결과를 비교하기 쉬워집니다.
