Skip to main content
이 문서는 Genie Space 섹션의 일부입니다.

개요

Genie Space의 품질은 체계적인 테스트와 반복 개선 으로 결정됩니다. 벤치마크 기능을 활용하면 Space가 다양한 질문에 얼마나 정확하게 응답하는지 정량적으로 측정하고, 개선 포인트를 식별할 수 있습니다.

왜 벤치마크가 필수인가

Genie Space는 LLM 기반 시스템이기 때문에 비결정적(non-deterministic) 입니다. 같은 인스트럭션을 수정해도 예상치 못한 부작용이 생길 수 있습니다. 예를 들어, “매출”의 정의를 인스트럭션에 추가했더니 기존에 잘 되던 “고객 수” 관련 질문이 틀리게 되는 경우가 있습니다. 벤치마크는 소프트웨어 개발의 회귀 테스트(Regression Test) 와 동일한 역할을 합니다:
주의 벤치마크 없이 운영하면 생기는 문제: 인스트럭션을 변경할 때마다 수십 개의 질문을 수동으로 테스트해야 합니다. 실수로 기존에 잘 되던 질문이 깨져도 발견하지 못합니다. 벤치마크는 이 문제를 자동화합니다.

샘플 질문

샘플 질문은 사용자가 채팅 창을 열었을 때 표시되는 예시 질문입니다. 테스트의 첫 단계이기도 합니다. 설정 방법:
  1. Configure > Settings 에서 Sample Questions 섹션으로 이동합니다.
  2. Space가 다루는 주제를 대표하는 질문을 추가합니다.
  3. 각 질문을 직접 실행하여 결과가 정확한지 검증합니다.

좋은 샘플 질문 vs 나쁜 샘플 질문

샘플 질문은 Genie가 Space의 의도를 이해하는 컨텍스트 로도 활용됩니다. 잘 작성된 샘플 질문은 유사한 패턴의 다른 질문에도 긍정적인 영향을 줍니다. 샘플 질문을 등록한 후 반드시 직접 실행해보고, 결과가 정확한지 검증하세요.
주의 샘플 질문의 응답이 틀리면 안 됩니다. 사용자가 가장 먼저 시도하는 것이 샘플 질문입니다. 첫 번째 질문의 답이 틀리면 Space에 대한 신뢰가 바로 무너집니다. 샘플 질문은 반드시 정확한 응답이 보장된 질문만 등록하세요.

벤치마크 개요

벤치마크는 검증된 질문-응답 쌍의 집합입니다. Space를 변경한 후 벤치마크를 실행하면 변경이 기존 응답의 정확도에 미치는 영향을 즉시 확인할 수 있습니다.

벤치마크 질문 설계 원칙

좋은 벤치마크는 단순히 “질문을 많이 만드는 것”이 아니라, Space의 다양한 능력을 고르게 평가 하는 것입니다:
  1. 커버리지: 모든 테이블과 주요 컬럼이 최소 1개 벤치마크에 포함되어야 함
  2. 난이도 분포: 단순 질문(50%), 중간 질문(30%), 복잡한 질문(20%) 비율 유지
  3. 비즈니스 용어 포함: “활성 고객”, “순매출” 같은 도메인 용어 사용 질문 반드시 포함
  4. 엣지 케이스: “데이터가 없는 기간”, “NULL 값이 있는 컬럼” 관련 질문
  5. 다국어: 한국어/영어로 같은 질문을 각각 만들어 매핑 정확도 확인

벤치마크의 구성 요소


벤치마크 생성 방법

가장 효과적인 벤치마크 생성 순서: (1) 먼저 채팅에서 다양한 질문을 테스트 → (2) 정확한 응답을 바로 벤치마크로 추가 → (3) 부정확한 응답은 올바른 SQL을 직접 작성하여 벤치마크 탭에서 추가. 이 순서로 하면 가장 빠르게 충분한 벤치마크를 만들 수 있습니다.

방법 1: 채팅에서 직접 추가

  1. 채팅에서 질문을 입력하고 응답을 확인합니다.
  2. 응답이 정확한 경우, 응답 우측의 케밥 메뉴(…)를 클릭합니다.
  3. Add as benchmark 를 선택합니다.
    • 화면 설명: 질문 텍스트와 생성된 SQL이 벤치마크 항목으로 저장됩니다.
  4. 필요하면 기대 SQL을 수정합니다.

방법 2: 벤치마크 탭에서 직접 추가

  1. Configure > Benchmarks 탭으로 이동합니다.
  2. Add benchmark 버튼을 클릭합니다.
  3. 질문 텍스트를 입력합니다.
  4. 기대 SQL을 작성합니다.
  5. Save 를 클릭합니다.

방법 3: 모니터링에서 추가

  1. Monitoring 탭에서 사용자 질문을 검토합니다.
  2. 정확한 응답의 케밥 메뉴에서 Add as benchmark 를 선택합니다.
  3. 이 방법은 실제 사용자 질문 패턴을 벤치마크에 반영할 수 있어 가장 실용적입니다.
참고 벤치마크는 최소 10-20개의 핵심 질문 으로 시작하는 것을 권장합니다. 다양한 질문 유형(집계, 필터, 조인, 시계열, 랭킹)을 포함해야 Space의 전반적인 품질을 평가할 수 있습니다.

채점 기준

벤치마크를 실행하면 각 질문에 대해 다음 3가지 등급으로 채점됩니다:
주의 채점은 결과 데이터 기반 으로 이루어집니다. SQL 구문이 다르더라도 결과가 같으면 Correct로 판정됩니다. 반대로, SQL이 비슷해 보여도 결과가 다르면 Incorrect입니다.

테스트 권장 프로세스

Phase 1: 초기 벤치마크 구성 (10-20개)

참고 왜 10-20개인가: 10개 미만이면 Space의 품질을 충분히 평가할 수 없고, 초기에 20개 이상을 만들려면 시간이 너무 많이 걸립니다. 10-20개로 시작하고, 운영하면서 실제 사용자 질문을 기반으로 30-50개까지 확장하는 것이 현실적입니다.
다양한 질문 유형을 포함한 핵심 벤치마크를 만듭니다:

Phase 2: 벤치마크 실행 및 분석

  1. Configure > Benchmarks 탭에서 Run all 버튼을 클릭합니다.
    • 화면 설명: 각 질문의 채점 결과가 Correct/Incorrect/Partial로 표시되며, 전체 정확도 비율이 상단에 나타납니다.
  2. 전체 정확도(Correct 비율)를 확인합니다.
  3. IncorrectPartial 항목을 클릭하여 생성된 SQL과 기대 SQL을 비교합니다.

Phase 3: 오답 분석 및 개선

Incorrect 항목의 원인을 분석하고, 적절한 위치에서 수정합니다.

오답 원인별 수정 위치 가이드


반복 개선 사이클

효과적인 Space 품질 관리는 아래 사이클을 반복하는 것입니다:

점수 해석과 개선 전략

벤치마크 정확도에 따라 취해야 할 전략이 다릅니다:
참고 정확도가 60% 미만이면 인스트럭션 튜닝보다 데이터 구성을 먼저 점검하세요. 테이블이 너무 많거나, 컬럼 설명이 없거나, 핵심 비즈니스 지표의 SQL Expression이 없는 것이 원인인 경우가 대부분입니다.

변경 시 벤치마크 활용 워크플로

Space를 수정할 때 다음 워크플로를 따르면 품질 저하를 방지할 수 있습니다:
  1. 변경 전: 벤치마크 전체 실행 → 현재 점수 기록 (예: 85%)
  2. 변경 적용: 인스트럭션/SQL Expression/컬럼 설명 등 수정
  3. 변경 후: 벤치마크 전체 재실행 → 점수 비교
  4. 점수 하락 시: 새로 Incorrect가 된 항목을 확인하고, 변경을 원복하거나 추가 수정
  5. 점수 유지/상승 시: 변경 확정
벤치마크 정확도가 80% 이상 이면 사용자에게 공유할 준비가 된 것입니다. 공유 후에도 모니터링 탭의 실제 사용자 질문을 벤치마크에 추가하며 지속적으로 개선하세요.

오답 분석 심화 — Partial 결과의 의미

Partial은 “완전히 틀린 것은 아니지만, 기대와 다른 결과”를 의미합니다. Partial이 많다면 다음을 점검하세요:
Partial은 “거의 맞지만 미세 조정이 필요한 상태”입니다. 대부분 인스트럭션이나 예제 쿼리 1-2개 추가로 해결됩니다. Incorrect보다 수정이 쉬우므로, Incorrect를 먼저 해결한 후 Partial을 개선하세요.

벤치마크 관리 베스트 프랙티스