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

개요

Genie Spaces는 Unity Catalog에 등록된 테이블 데이터를 자연어 챗봇 으로 변환합니다. 비즈니스 사용자가 SQL 없이도 데이터에 질문할 수 있으며, 내부적으로 자연어를 SQL로 변환하여 실행합니다. 적합한 유스케이스:
  • 비즈니스 데이터 탐색 (매출, 재고, 고객 분석)
  • 셀프 서비스 분석 (비기술 사용자가 직접 데이터 조회)
  • KPI/메트릭 확인 (일별/월별 성과 지표)
  • 임원 대시보드 대체 (자연어로 원하는 데이터를 즉시 조회)

작동 원리

Genie는 단일 LLM이 아닌 복합 AI 시스템(Compound AI System) 입니다.
응답에 활용되는 컨텍스트:
  • Unity Catalog 테이블/컬럼 메타데이터
  • Knowledge Store (작성자가 큐레이션한 공간 수준 컨텍스트)
  • 예시 SQL 쿼리 및 SQL 함수
  • 텍스트 지시사항 및 대화 이력
참고 Genie는 읽기 전용 SQL만 생성 합니다. INSERT, UPDATE, DELETE 등의 쓰기 쿼리는 절대 실행되지 않으므로 데이터 안전성이 보장됩니다.

사전 요구사항

필요 권한:
  • Databricks SQL 워크스페이스 자격
  • SQL Warehouse에 대한 CAN USE 접근
  • 데이터 객체에 대한 SELECT 권한

생성 및 설정

Step 1: Genie Space 생성

  1. 좌측 메뉴에서 Genie> New 클릭
  2. Unity Catalog에서 데이터 소스 (테이블/뷰) 선택
  3. Create 클릭

Step 2: Knowledge Store 설정

생성 후 반드시 Knowledge Store를 설정하세요. 이것이 Genie의 정확도를 결정합니다.

Step 3: Instructions & Examples 추가 (최대 100개)

  • 정적 또는 파라미터화된 SQL 쿼리 (자연어 제목 포함)
  • Unity Catalog 함수 (복잡한 로직용)
  • 텍스트 지시사항 (비즈니스 컨텍스트, 형식 규칙)
참고 예시 등록 팁: “이번 달 매출은?”이라는 질문에 대해 정확한 SQL을 등록해두면, 유사한 질문(“이번 달 수익은?”, “이달 매출 합계는?”)에도 올바른 SQL이 생성됩니다.

Step 4: 공간 설정

  • 제목, 설명 (마크다운 지원)
  • 기본 SQL Warehouse 설정
  • 사용자 안내용 샘플 질문 등록
  • 태그 분류

모니터링 및 개선

Monitoring 탭에서 다음을 확인할 수 있습니다:
  • 사용자가 질문한 모든 내용
  • 사용자 피드백 (좋아요/싫어요)
  • 플래그된 응답
이를 바탕으로 Knowledge Store와 Instructions를 반복적으로 개선합니다.

Agent Bricks에서의 활용: Supervisor 서브 에이전트로 사용

Genie Spaces는 Supervisor Agent의 서브 에이전트 로 사용할 수 있습니다. 이를 통해 문서 Q&A(Knowledge Assistant)와 데이터 분석(Genie)을 하나의 멀티 에이전트 시스템으로 통합할 수 있습니다.

전체 연결 흐름

SQL 분석 에이전트로서의 활용 예시

시나리오: 사내 HR봇에 “우리 팀 인원 현황”을 질문하면 데이터로 답변
Supervisor의 Description 예시:
  • KA: “회사 HR 정책, 복리후생, 규정 관련 질문을 처리합니다”
  • Genie: “직원 수, 부서별 인원, 입퇴사 현황 등 HR 데이터를 조회합니다”

제한사항과 해결 방법

주의 Genie Space를 Supervisor에 연결하려면 해당 Space의 소유자이거나 CAN MANAGE 권한이 있어야 합니다. 또한 Supervisor의 서비스 프린시펄에게 Genie Space와 관련 테이블에 대한 접근 권한을 부여해야 합니다.

SQL 생성 메커니즘 심층 분석

Genie가 자연어를 SQL로 변환하는 과정은 단순한 “텍스트 → SQL” 변환이 아닙니다. 여러 단계의 AI 처리 파이프라인을 거치며, 각 단계에서 정확도를 높이기 위한 다양한 기법이 적용됩니다.

SQL 생성 파이프라인 상세

SQL 생성 정확도에 영향을 미치는 요소


Genie Space와 Genie Code의 관계

Genie Space와 Genie Code는 모두 “자연어 → SQL” 기능을 제공하지만, 위치와 용도가 다릅니다.
참고 사용 시나리오 구분: 비기술 사용자가 반복적으로 같은 데이터를 조회한다면 Genie Space, 분석가가 탐색적으로 다양한 데이터를 조회한다면 Genie Code 가 적합합니다. 두 기능은 경쟁 관계가 아닌 보완 관계 입니다.

데이터 보안: 사용자 권한 기반 SQL 실행

Genie Space의 가장 중요한 보안 특성은 “사용자 권한으로 SQL이 실행된다” 는 점입니다. 이를 통해 동일한 Genie Space를 여러 사용자가 공유하면서도, 각 사용자는 자신에게 허용된 데이터만 볼 수 있습니다.

권한 실행 모델

보안 레이어 구조

주의 Supervisor Agent를 통한 접근 시: Supervisor Agent에서 Genie Space를 서브 에이전트로 사용할 때에도 On-Behalf-Of-User 모드가 적용됩니다. 즉, Supervisor에 질문한 사용자의 권한으로 Genie의 SQL이 실행되므로, 권한 없는 데이터에는 접근할 수 없습니다.

보안 설계 시 고려사항

  1. 테이블 권한은 UC에서 관리: Genie Space에서 별도 보안 설정을 하는 것이 아니라, UC의 GRANT/REVOKE로 관리
  2. Dynamic View 활용: 부서별/리전별로 다른 데이터를 보여줘야 한다면, 행 수준 보안이 적용된 Dynamic View를 생성하여 Genie Space에 등록
  3. 민감 컬럼 마스킹: 고객 개인정보(이름, 전화번호 등)는 Column Mask를 적용하여 권한 없는 사용자에게 마스킹

멀티테이블 분석 시 성능 고려사항

Genie Space에서 여러 테이블을 조합한 분석을 수행할 때, 성능과 정확도에 영향을 미치는 요소들을 이해해야 합니다.

JOIN 복잡도에 따른 정확도 변화

성능 최적화 전략

대용량 데이터 처리 시 SQL Warehouse 설정

참고 Genie의 쿼리 최적화 팁: Genie가 생성한 SQL이 비용이 높은이라면, Monitoring 탭에서 해당 쿼리를 확인하고, 더 효율적인 SQL을 Instructions의 예시 쿼리 로 등록하세요. 유사한 질문에 대해 Genie가 최적화된 SQL 패턴을 학습합니다.

Genie Space 운영 성숙도 모델

Genie Space를 처음 생성한 후 지속적으로 개선하는 과정을 4단계로 정리합니다.
주의 Level 1에서 바로 프로덕션 배포하지 마세요. 최소 Level 2 이상의 컨텍스트 보강을 완료한 후 배포해야 합니다. 컬럼 설명과 JOIN 관계 없이 배포하면 SQL 생성 정확도가 매우 낮아 사용자 신뢰를 잃게 됩니다.