구조화된 AI 출력으로 웹서비스 연동하기
이번 KRCLUB 기술 노트의 주제는 구조화된 AI 출력입니다. 웹사이트에서 AI 응답을 활용하려는 개발자를 위해, 필요한 항목을 미리 정하고 결과를 검증하는 설계 방법을 살펴봅니다. 핵심 질문은 간단합니다. 생성된 답변을 화면에 표시하기 전에 무엇을 확인해야 할까요? 필요한 항목부터 정의하기 구조화된 출력은 AI 응답이 정해진 데이터 구조를 따르도록 설정하는 방식입니다. 예를 들어 Gemini API에서는 JSON Schema를 사용해 필수 항목과 자료형을 지정하고, 분류 결과를 미리 정의한 선택지로 제한할 수 있습니다. 다만 지원되는 스키마 기능에는 제한이 있습니다. 글을 분류하는 기능을 만든다고 가정해 보겠습니다. 처음에는 제목, 분류, 요약 세 항목만 요청해 보세요. 분류는 ‘웹 개발’, ‘AI’, ‘데이터 분석’ 중에서 선택하도록 설계할 수 있습니다. 각 항목의 목적과 허용 범위도 명확하게 설명하는 것이 좋습니다. 처음부터 복잡한 구조를 만들기보다 작은 예제로 시작하고, 필요한 항목을 하나씩 추가하면서 결과를 확인하세요. 형식과 정확성은 별개 JSON 형식이 올바르다고 내용까지 정확한 것은 아닙니다. Google의 문서도 구조에 맞는 응답이라도 값의 의미가 잘못될 수 있으므로 애플리케이션에서 검증과 오류 처리를 수행하도록 안내합니다. 따라서 요약은 원문과 비교하고, 날짜와 숫자는 별도로 확인하세요. 정보가 없는 항목을 어떻게 처리할지도 미리 정해야 합니다. 검증에 실패한 결과는 바로 게시하지 말고 재검토 대상으로 분리하는 방식을 권합니다. 테스트에는 정상적인 글뿐 아니라 빈 문서와 여러 주제가 섞인 글도 포함해 보세요. 어떤 입력에서 문제가 생기는지 기록하면 수정 방향을 정하기가 수월합니다. 이번 KRCLUB 기술 노트의 핵심은 형식 지정에서 멈추지 않는 것입니다. 출력 구조와 검증 절차를 함께 설계하는 데 초점을 맞춰 보세요.