본문 바로가기
우리가 사는 이야기 우리가 사는 이야기

AI 출력을 정형화 데이터(JSON/CSV)로 고정하는 Schema 기반 프롬프트

읽는 시간 약 7분

AI의 답변을 정형화된 데이터로 고정하는 기술

생성형 AI는 창의적인 글쓰기나 요약에는 탁월하지만, 데이터를 다루는 방식에서는 종종 예측 불가능한 모습을 보입니다. 사용자가 원하는 형식으로 데이터를 출력하지 않고 줄글로 설명을 덧붙이거나, 항목을 누락하는 경우가 많기 때문입니다. 이때 필요한 기술이 바로 스키마 기반 프롬프트입니다. 이는 AI에게 답변의 ‘구조’를 강제하여 JSON이나 CSV 같은 프로그래밍 가능한 형태로 출력을 유도하는 기법입니다.

스키마 기반 프롬프트를 활용하면 AI를 단순한 챗봇을 넘어 데이터 처리 엔진으로 변모시킬 수 있습니다. 개발자뿐만 아니라 엑셀이나 데이터베이스를 다루는 일반 사용자에게도 이 기술은 업무 효율을 극대화할 수 있는 강력한 도구가 됩니다.

스키마 기반 프롬프트가 중요한 이유

AI가 내놓은 답변을 사람이 일일이 복사해서 엑셀에 붙여넣거나 다시 정리하는 작업은 매우 비효율적입니다. 우리가 스키마를 고정해야 하는 이유는 크게 세 가지입니다.

  • 자동화의 시작: 정형화된 데이터는 파이썬 코드, 데이터베이스, 노션, 스프레드시트와 직접 연동할 수 있습니다.
  • 일관성 유지: 매번 다른 형식으로 출력되는 답변을 통일된 규격으로 받아볼 수 있어 분석이 용이합니다.
  • 오류 최소화: 데이터 타입을 지정함으로써 AI가 엉뚱한 값을 생성하거나 형식을 이탈하는 것을 방지합니다.

데이터 형식을 고정하는 실전 방법

AI에게 단순히 JSON으로 답변해달라고 요청하는 것만으로는 부족할 때가 많습니다. 더 확실하게 형식을 고정하려면 다음과 같은 전략을 사용해야 합니다.

JSON 스키마 정의하기

JSON 스키마는 데이터의 구조를 설계하는 설계도입니다. AI에게 다음과 같이 프롬프트를 작성해보세요.

예시: “너는 이제부터 데이터 추출기야. 다음 텍스트에서 정보를 추출해 아래 JSON 스키마에 맞춰 출력해. 다른 설명은 하지 말고 JSON 코드 블록만 반환해.

{

“type”: “object”,

“properties”: {

“이름”: {“type”: “string”},

“나이”: {“type”: “integer”},

“관심분야”: {“type”: “array”, “items”: {“type”: “string”}}

},

“required”: [“이름”, “나이”]

}”

퓨샷 프롬프팅 활용하기

스키마만으로는 부족할 때, 예시를 하나 제공하는 것만으로도 정확도가 비약적으로 상승합니다. AI에게 “입력은 A, 출력은 B 형식으로 해줘”라고 예시를 한두 개만 보여주면 AI는 해당 패턴을 완벽하게 모방합니다.

실생활 및 업무에서의 활용 사례

이 기술은 생각보다 우리 주변의 다양한 업무에 적용될 수 있습니다.

  • 이메일 분류 및 자동화: 수많은 고객 문의 메일을 읽고, 이를 JSON 데이터로 변환하여 고객 관리 시스템에 자동으로 저장할 수 있습니다.
  • 뉴스 및 소셜 미디어 모니터링: 특정 키워드에 대한 뉴스 기사를 요약하고, 감성 분석 결과를 CSV 형식으로 추출하여 트렌드를 시각화할 수 있습니다.
  • 영수증 및 문서 데이터화: 사진으로 찍은 영수증에서 품목, 가격, 날짜를 추출하여 가계부 앱의 데이터 형식으로 변환할 수 있습니다.
  • 콘텐츠 기획 데이터베이스: 블로그나 SNS에 올릴 콘텐츠 아이디어를 매번 일정한 키워드, 타겟층, 핵심 내용 구조로 추출하여 Notion 데이터베이스에 바로 연동할 수 있습니다.

흔한 오해와 진실

오해 1: 고급 프로그래밍 지식이 필요하다

전혀 그렇지 않습니다. JSON 구조를 이해하고 있다면 누구나 가능합니다. 최근에는 ‘구조화된 출력(Structured Outputs)’ 기능을 지원하는 AI API들이 늘어나면서, 복잡한 프롬프트 작성 없이도 설정만으로 데이터를 고정할 수 있습니다.

오해 2: AI는 항상 스키마를 완벽하게 지킨다

모델의 성능에 따라 가끔 형식을 위반할 수 있습니다. 이를 방지하기 위해 ‘시스템 프롬프트’에 “형식을 지키지 않을 경우 오류를 발생시켜라”는 식의 강제성 문구를 추가하는 것이 좋습니다.

비용 효율적인 활용을 위한 팁

데이터 정형화 작업은 토큰을 많이 소비할 수 있습니다. 비용을 아끼면서 효율적으로 사용하는 방법은 다음과 같습니다.

    • 작은 모델 활용: 복잡한 추론이 필요한 것이 아니라 단순한 데이터 추출이라면 GPT-4o 같은 고성능 모델보다는 GPT-4o-mini나 Claude Haiku 같은 경량화 모델을 사용하세요. 비용을 10분의 1 이하로 줄일 수 있습니다.
    • 스키마 경량화: 너무 복잡하고 방대한 스키마는 AI의 인지 부하를 높이고 토큰 비용을 증가시킵니다. 꼭 필요한 필드만 정의하여 사용하세요.
    • 배치 처리: 데이터를 하나씩 요청하지 말고, 10개 혹은 20개씩 묶어서 한 번에 처리하도록 요청하면 토큰 효율이 좋아집니다.

전문가가 제안하는 성공 전략

데이터 정형화의 핵심은 ‘제약 조건’입니다. 단순히 “데이터를 줘”라고 하지 말고 “데이터 이외의 어떤 텍스트도 출력하지 마”와 같은 부정적 제약 조건을 반드시 추가하세요. 또한, AI가 출력한 결과물이 우리가 원하는 형식과 완벽히 일치하는지 검증하는 파이썬 스크립트를 간단히 작성해두는 것이 좋습니다.

만약 정기적으로 대량의 데이터를 다뤄야 한다면 API를 사용하는 것이 가장 좋습니다. API는 ‘JSON 모드’를 별도로 지원하여, 모델이 출력하는 모든 내용이 반드시 올바른 JSON 형식이 되도록 강제하기 때문입니다. 이는 일반적인 채팅 창에서 사용하는 것보다 훨씬 안정적입니다.

자주 묻는 질문

질문: JSON 스키마를 잘 모르는데 어떻게 시작하나요?

답변: 온라인에 있는 ‘JSON Schema Generator’를 사용하세요. 원하는 데이터 필드만 입력하면 자동으로 스키마 코드를 만들어줍니다. 이를 그대로 복사해서 AI에게 주면 됩니다.

질문: CSV와 JSON 중 무엇이 더 좋은가요?

답변: 데이터의 복잡도에 따라 다릅니다. 계층 구조가 있는 복잡한 데이터라면 JSON이 유리하고, 엑셀이나 스프레드시트에 바로 붙여넣어 관리하고 싶다면 CSV가 훨씬 편리합니다.

질문: AI가 자꾸 마크다운 코드 블록(`json`)을 포함해서 출력해요.

답변: 프롬프트에 “코드 블록을 제외하고 오직 순수 JSON 데이터만 반환해”라고 명시하세요. 혹은 후처리 단계에서 정규표현식을 사용해 코드 블록 표시를 제거하는 코드를 한 줄 추가하는 것이 가장 확실한 방법입니다.

스키마 기반 프롬프트는 AI를 단순한 대화 상대에서 실질적인 업무 자동화 도구로 업그레이드해주는 핵심 기술입니다. 처음에는 조금 낯설게 느껴질 수 있지만, 몇 번의 시도만으로도 매일 반복하던 지루한 데이터 정리 업무에서 해방될 수 있을 것입니다. 오늘 바로 작은 데이터 하나를 정해진 형식으로 출력해보는 연습부터 시작해보시기 바랍니다.

acebl77
함께 보면 좋은 글

댓글 0

첫 댓글을 남겨보세요.