개요
이 페이지에서는 Genie Code의 모든 기능을 상세히 설명합니다. 패널 열기부터 Chat/Agent 모드, 인라인 코드 제안, Quick Fix, Diagnose Error, Slash 명령어까지 실전 사용법을 다룹니다.참고 Genie Code를 처음 사용하는 분이라면, 먼저 이 페이지를 통해 각 기능의 존재를 파악 한 뒤, 활용 시나리오에서 실전 적용 방법을 확인하는 순서를 권장합니다. 기능을 아는 것과 효과적으로 활용 하는 것은 다릅니다 — 이 페이지에서는 각 기능이 왜 유용한지 전문가 관점의 코멘트도 함께 제공합니다.
Genie Code 패널 열기
방법 1: Sparkle 아이콘
페이지 우측 상단의 Sparkle 아이콘(반짝이는 별 모양)을 클릭하면 Genie Code 패널이 열립니다. 화면 설명: Notebook, SQL Editor, Dashboard 편집 화면의 우측 상단에 보라색 반짝이 아이콘이 있습니다. 클릭하면 우측 또는 하단에 Genie Code 채팅 패널이 슬라이드로 나타납니다.방법 2: 키보드 단축키
| 플랫폼 | 단축키 |
|---|---|
| macOS | Cmd + Shift + ; |
| Windows/Linux | Ctrl + Shift + ; |
방법 3: 셀 컨텍스트 메뉴
Notebook 셀에서 우클릭 → Ask Genie 를 선택하면 해당 셀의 코드를 컨텍스트로 포함하여 패널이 열립니다.패널 레이아웃 설정
| 설정 | 설명 | 권장 사용 |
|---|---|---|
| Side | 우측에 고정 (기본값) | 넓은 모니터에서 코드와 나란히 보기 |
| Docked | 하단에 고정 | 세로 화면이 넓은 경우 |
| Floating | 드래그 앤 드롭으로 자유 배치 | 멀티 모니터 환경 |
Chat 모드
Chat 모드는 사용자의 질문에 1회 응답 하는 기본 모드입니다.자연어로 코드 생성
채팅 입력란에 자연어로 원하는 코드를 요청합니다:@ 참조로 컨텍스트 제공
@ 기호로 Unity Catalog 테이블, 뷰, 함수를 직접 참조할 수 있습니다:
| 참조 대상 | 구문 | 효과 |
|---|---|---|
| 테이블 | @catalog.schema.table | 스키마 정보를 컨텍스트에 포함 |
| 뷰 | @catalog.schema.view | 뷰 정의를 컨텍스트에 포함 |
| 노트북 셀 | 셀 선택 후 질문 | 선택한 코드를 컨텍스트에 포함 |
팁
@로 테이블을 참조하면 Genie Code가 컬럼명, 데이터 타입, 설명, 샘플 데이터 를 자동으로 로드합니다. “sales 테이블에서…”보다 “@catalog.schema.sales에서…”가 훨씬 정확한 결과를 줍니다.
전문가 관점 — @ 참조가 중요한 이유: LLM은 “customers 테이블”이라는 텍스트만으로는 어떤 컬럼이 있는지, 데이터 타입이 무엇인지 알 수 없습니다. @으로 참조하면 Genie Code가 Unity Catalog에서 실제 스키마 정보 를 가져와 프롬프트에 주입합니다. 이것이 일반 AI 코딩 도구와의 근본적 차이입니다. 여러 테이블을 조인하는 코드를 생성할 때는 반드시 모든 관련 테이블을 @로 참조하세요.
코드 설명 요청
기존 코드를 선택하고 설명을 요청할 수 있습니다:디버깅
오류 메시지를 포함하여 디버깅을 요청합니다:문서 기반 응답
Databricks 관련 기술 질문에 대해 공식 문서를 검색하여 답변합니다:Agent 모드
Agent 모드는 Genie Code가 자율적으로 계획을 수립하고 다단계 작업을 실행 하는 고급 모드입니다.Agent 모드 활성화
채팅 입력란 좌측의 모드 전환 드롭다운에서 Agent 를 선택합니다. 화면 설명: 입력란 좌측에 “Chat” 드롭다운이 있으며, 클릭하면 “Chat”과 “Agent” 옵션이 나타납니다.Agent 모드의 동작 방식
| 단계 | 설명 |
|---|---|
| 1. 계획 수립 | 사용자 요청을 분석하고 실행 계획을 수립 |
| 2. 자산 탐색 | Unity Catalog에서 관련 테이블/뷰 탐색 |
| 3. 코드 생성 | 계획에 따라 노트북 셀 또는 대시보드 SQL 생성 |
| 4. 코드 실행 | 생성한 코드를 자동으로 실행 |
| 5. 결과 확인 | 실행 결과를 분석하고 다음 단계 결정 |
| 6. 오류 수정 | 오류 발생 시 자동으로 원인 분석 및 수정 |
| 7. 반복 | 모든 단계가 완료될 때까지 반복 |
Agent 모드 프롬프트 작성 팁
| 좋은 프롬프트 | 나쁜 프롬프트 | 이유 |
|---|---|---|
| ”@customers 테이블에 대해 EDA를 수행하고, 이상치를 식별하고, 인사이트를 요약해줘" | "데이터 분석해줘” | 구체적인 단계와 대상 명시 |
| ”raw_events를 읽어서 daily_metrics 테이블을 생성하는 SDP 파이프라인을 만들어줘. 데이터 품질 검증도 포함해" | "파이프라인 만들어” | 입력/출력과 요구사항 명시 |
| ”이 데이터로 경영진 보고용 대시보드를 만들어줘. KPI 카드, 추이 차트, 지역별 비교를 포함해" | "대시보드” | 위젯 구성과 용도 명시 |
프롬프트 작성 고급 노하우
Agent 모드에서 최대 효과를 얻기 위한 전문가 수준의 프롬프트 작성 기법입니다: 기법 1: 역할 부여 (Role Prompting)팁 프롬프트 재사용 전략: 팀에서 자주 사용하는 프롬프트 패턴을 Custom Instructions에 등록하면, 매번 상세한 프롬프트를 작성할 필요가 없습니다. 예를 들어 “코드에는 항상 한국어 주석을 포함하고, PySpark API를 사용하며, MLflow에 실험을 기록하라”고 설정해 두면 모든 응답에 자동 반영됩니다.
MCP 도구 호출
Agent 모드에서는 MCP(Model Context Protocol) 서버에 등록된 외부 도구를 호출할 수 있습니다:주의 Agent 모드는 코드를 자동으로 실행하므로, 프로덕션 데이터에 대한 쓰기 작업 을 요청할 때는 주의하세요. Agent가 계획을 표시하면 실행 전에 검토할 수 있습니다.
인라인 코드 제안 및 자동완성
코드를 작성하는 동안 Genie Code가 실시간으로 코드 제안을 제공합니다.동작 방식
- 코드를 입력하면 회색 텍스트로 제안(ghost text) 이 나타납니다.
- 화면 설명: 커서 위치 이후에 회색으로 제안 코드가 표시되며, 현재 작성 중인 코드의 맥락에 맞는 완성 코드를 제안합니다.
- Tab 키를 누르면 제안을 수락합니다.
- Esc 키를 누르면 제안을 무시합니다.
- 계속 타이핑하면 제안이 자동으로 업데이트됩니다.
지원 언어
| 언어 | 지원 수준 |
|---|---|
| Python | 전체 지원 (Notebook, 파이프라인) |
| SQL | 전체 지원 (SQL Editor, Notebook SQL 셀) |
| Scala | 기본 지원 |
| R | 기본 지원 |
팁 인라인 제안의 정확도를 높이려면 함수/변수에 의미 있는 이름 을 사용하세요.def f(x):보다def calculate_monthly_revenue(sales_df):가 훨씬 정확한 제안을 생성합니다.
고급 활용: 인라인 제안 극대화 패턴
인라인 코드 제안을 극대화하려면 코드 작성 순서 가 중요합니다:- 주석 먼저 작성:
# 월별 매출을 계산하고 전월 대비 성장률을 구한다라고 주석을 쓰면, 다음 줄에서 정확한 코드가 제안됩니다 - 함수 시그니처 먼저 작성:
def calculate_monthly_growth(sales_df, date_col, amount_col):까지만 입력하면 함수 본문이 자동 제안됩니다 - 이전 셀의 변수명 활용: Genie Code는 노트북의 이전 셀 컨텍스트를 이해합니다. 이전 셀에서
customer_df를 정의했으면, 다음 셀에서customer_df.입력 시 적절한 메서드 체이닝이 제안됩니다
Quick Fix
기본적인 코드 오류를 자동 감지하고 즉시 수정 제안을 표시합니다.동작 방식
- 코드 셀을 실행합니다.
- 오류가 발생하면 셀 하단에 Quick Fix 배너가 나타납니다.
- 화면 설명: 빨간색 오류 메시지 아래에 보라색 “Quick Fix” 버튼이 표시됩니다. 버튼 옆에 수정 내용의 간략한 설명이 있습니다.
- Accept and run 을 클릭하면 수정된 코드가 적용되고 즉시 재실행됩니다.
- Dismiss 를 클릭하면 제안을 무시합니다.
Quick Fix가 처리하는 오류 유형
| 오류 유형 | 예시 | Quick Fix 동작 |
|---|---|---|
| 구문 오류 | SyntaxError: unexpected EOF | 누락된 괄호, 콜론 등 추가 |
| 이름 오류 | NameError: name 'df' is not defined | 오타 수정 또는 import 추가 |
| 타입 오류 | TypeError: unsupported operand | 타입 변환 코드 추가 |
| Import 오류 | ModuleNotFoundError | 올바른 import 문 제안 |
Diagnose Error
Quick Fix보다 복잡한 오류(환경 오류, 런타임 오류, 멀티셀 의존성 오류 등)를 심층 분석합니다.동작 방식
- 오류가 발생한 셀에서 Diagnose Error 버튼을 클릭합니다.
- 화면 설명: Quick Fix 옆에 “Diagnose with Genie” 링크가 있습니다. 클릭하면 Genie Code 패널이 열리면서 오류 분석이 시작됩니다.
- Genie Code가 오류 메시지, 스택 트레이스, 관련 코드를 분석합니다.
- 근본 원인(Root Cause) 과 수정 방법 을 자연어로 설명합니다.
- 수정 코드를 제안하며, “Apply fix”로 즉시 적용할 수 있습니다.
Diagnose Error가 처리하는 복잡한 오류
| 오류 유형 | 예시 | 분석 내용 |
|---|---|---|
| 환경 오류 | 클러스터 라이브러리 버전 충돌 | 라이브러리 버전 호환성 분석 및 해결 방법 |
| 메모리 오류 | OOM (Out of Memory) | 데이터 크기 추정, 파티셔닝/캐싱 전략 제안 |
| 권한 오류 | UC 접근 거부 | 필요한 권한과 요청 방법 안내 |
| 셀 간 의존성 | 이전 셀에서 정의한 변수 누락 | 실행 순서 확인 및 필요한 셀 식별 |
Slash 명령어
자주 사용하는 프롬프트를 빠르게 입력할 수 있습니다. 채팅 입력란에서/를 입력하면 명령어 목록이 나타납니다.
| 명령어 | 기능 | 사용 방법 |
|---|---|---|
/explain | 선택한 코드를 자연어로 설명 | 코드 선택 후 /explain |
/fix | 코드 오류를 분석하고 수정 제안 | 오류 코드 선택 후 /fix |
/optimize | 코드 성능 최적화 제안 | 느린 코드 선택 후 /optimize |
/test | 단위 테스트 자동 생성 | 함수 선택 후 /test |
/doc | 문서/주석(docstring) 자동 생성 | 함수/클래스 선택 후 /doc |
Slash 명령어 활용 예시
자연어 데이터 필터링
데이터 테이블 출력에서 자연어로 필터 조건을 지정할 수 있습니다. 화면 설명: 데이터 테이블 상단에 “Filter with natural language” 입력란이 있습니다. 자연어로 조건을 입력하면 테이블이 즉시 필터링됩니다.Custom Instructions 설정
Genie Code의 응답 스타일을 커스터마이징할 수 있습니다.| 설정 수준 | 적용 범위 | 설정 위치 |
|---|---|---|
| 사용자 수준 | 내 모든 워크스페이스 | Genie Code 패널 > 설정 > Custom Instructions |
| 워크스페이스 수준 | 해당 워크스페이스의 모든 사용자 | 관리자 설정 |
Custom Instructions 예시
대화 히스토리
이전 대화 내용을 확인하고 관리할 수 있습니다.| 기능 | 설명 |
|---|---|
| History | 이전 대화 스레드 목록 조회 |
| Resume | 이전 대화를 이어서 계속 |
| Delete | 개별 대화 스레드 삭제 |
| New Chat | 새로운 대화 시작 (컨텍스트 초기화) |
팁 주제가 크게 바뀌면 New Chat 으로 새 대화를 시작하세요. 이전 대화의 컨텍스트가 길어지면 오히려 응답 품질이 떨어질 수 있습니다.
피드백
응답 하단에 마우스를 올리면 Useful/Not useful 버튼이 표시됩니다.| 피드백 | 효과 |
|---|---|
| Useful(엄지 위) | 긍정 시그널 → 유사 응답 품질 유지 |
| Not useful(엄지 아래) | 부정 시그널 + 선택적 텍스트 피드백 → 서비스 개선에 반영 |
참고 적극적인 피드백이 Genie Code 서비스 전체의 품질 향상에 기여합니다. 특히 부정 피드백 시 구체적인 이유를 텍스트로 남기면 더 효과적입니다.
Genie Code 활용 효과를 극대화하는 워크플로
위에서 설명한 개별 기능들을 실전에서 어떻게 조합하는지, 전문가들이 실제로 사용하는 워크플로를 소개합니다.워크플로 1: 빠른 탐색적 분석 (15분 완성)
워크플로 2: 기존 코드 리팩토링 (30분 완성)
워크플로 3: 프로덕션 파이프라인 개발 (2시간 완성)
팁 핵심 원칙: Chat 모드로 설계와 검토, Agent 모드로 구현과 실행. 이 두 모드를 자유롭게 전환하며 사용하는 것이 Genie Code를 마스터하는 핵심입니다.