소스 코드: GitHub에서 전체 소스 보기
AutoGenie 소개 자료 (PDF)
AutoGenie의 아키텍처, 워크플로우, 데모 화면을 포함한 소개 슬라이드
왜 AutoGenie인가?
Genie Space를 수동으로 구성하려면 다음 작업이 필요합니다:| 수동 작업 | 소요 시간 |
|---|---|
| 비즈니스 요구사항에서 테이블/컬럼 매핑 | 수 시간 |
| 인스트럭션 작성 | 수 시간 |
| 벤치마크 질문 작성 + 정답 SQL | 수 일 |
| 테스트 → 개선 반복 | 수 주 |
두 가지 워크플로우
Lamp — 새 Genie Space 생성
요구사항 문서에서 Genie Space를 자동 생성합니다.Enhancer — 기존 Genie Space 최적화
벤치마크 기반으로 기존 Genie Space의 답변 정확도를 자동 개선합니다.
Auto-Loop 모드: Score → Plan → Apply 사이클을 목표 점수에 도달할 때까지 자동 반복합니다.
아키텍처
AutoGenie는 Databricks App으로 배포되며, FastAPI 백엔드 + Next.js 프론트엔드로 구성됩니다.| 계층 | 기술 | 역할 |
|---|---|---|
| Frontend | Next.js 14 + TypeScript + Tailwind CSS | Lamp/Enhancer 탭 UI |
| Backend | FastAPI + SQLite | API, 세션 관리, Job 실행 |
| AI | Databricks Foundation Models | 요구사항 파싱, 설정 생성, 실패 분석 |
| Platform | Unity Catalog, Genie API, SQL Warehouse | 테이블 검증, Space 배포, 쿼리 실행 |
인증
OBO(On-Behalf-Of) 인증을 사용합니다. 사용자의 Databricks 토큰으로 모든 API를 호출하므로, 사용자의 UC 권한이 자동 적용됩니다.배포 방법
1. 사전 준비
| 항목 | 요구사항 |
|---|---|
| Python | 3.11+ |
| Node.js | 18+ |
| Databricks CLI | 설치 및 인증 완료 |
| SQL Warehouse | Serverless 권장 |
| Foundation Model | databricks-gpt-5-2 또는 동등 모델 접근 가능 |
2. 빌드 & 배포
3. app.yaml 설정
4. DABs 배포 (권장)
벤치마크 파일 형식
Enhancer에 업로드하는 벤치마크 CSV 형식:| 필드 | 설명 |
|---|---|
question | 자연어 질문 (사용자가 Genie에 물어볼 질문) |
expected_sql | 정답 SQL (결과 비교 기준) |
팁: Genie 성능 튜닝 가이드의 벤치마크 설계 팁을 참고하세요.
핵심 API
Lamp (생성)
Enhancer (최적화)
실전 활용 팁
1. 요구사항 문서 작성 팁
Lamp의 파싱 정확도를 높이려면 요구사항 문서를 구조화하세요:2. Auto-Loop 활용
벤치마크 점수가 85% 이상이 될 때까지 자동 반복하도록 설정하면, 사람이 개입하지 않아도 Genie Space가 점진적으로 개선됩니다.3. Enhancer + 수동 튜닝 조합
Auto-Loop으로 기본 최적화를 한 후, 남은 실패 케이스는 수동 Genie 튜닝 가이드를 참고하여 직접 개선하세요.관련 문서
- Genie Space 생성 — Space 기본 설정
- Genie 성능 튜닝 — 수동 튜닝 5단계
- Consumer Access — 비즈니스 사용자 읽기 전용 설정
- Databricks Apps 배포 — Apps 배포 워크플로우
- Genie Space Best Practices — 공식 문서