Skip to main content
같은 Genie Code를 써도 프롬프트에 따라 결과가 3배 이상 차이납니다.

원칙 1: 작업마다 새 대화 (Context Isolation)

가장 중요한 습관. 하나의 대화에 여러 작업을 섞으면 환각이 발생합니다.
Genie Code는 대화 내에서 “결정 트리”를 구축합니다. 다른 맥락의 작업이 섞이면 이전 결정이 간섭합니다.
❌ 하나의 대화에서 계속:
"viewing_logs 분석해줘" → "파이프라인 만들어줘" → "대시보드도 만들어줘"

✅ 작업별 새 대화:
대화 1: "viewing_logs 분석해줘" 
대화 2 (새로 시작): "viewing_logs 정제하는 SDP 파이프라인을 만들어줘"
대화 3 (새로 시작): "@lge_smart_tv.gold.daily_viewing_summary로 대시보드 만들어줘"
📸 [스크린샷]: 채팅 패널 상단의 “New conversation” 버튼

원칙 2: 목표 + 제약 조건 (Goals + Constraints)

단계별로 시키지 마세요. 원하는 결과와 하지 말아야 할 것을 말하세요.
❌ 단계별 지시:
"1단계: viewing_logs를 읽어. 
 2단계: null을 제거해. 
 3단계: group by 해."

✅ 목표 + 제약:
"viewing_logs에서 일별/디바이스별 시청 통계를 집계하여 
 gold.daily_viewing_summary로 저장해줘.

 조건:
 - duration_sec ≤ 0 또는 > 86400인 레코드 제거
 - NULL program_title은 'Unknown'으로 대체
 - 기존 테이블 DROP하지 말 것
 - 테스트는 1,000행 LIMIT"
💡 왜? Genie Code는 시니어 엔지니어처럼 목표를 주면 알아서 최적의 방법을 찾습니다. 단계별 지시는 오히려 자율성을 제한합니다.

원칙 3: @테이블 명시적 참조 (Explicit Context)

@catalog.schema.table 문법으로 테이블을 참조하면 스키마를 자동으로 읽습니다.
❌ 모호한 참조:
"시청 로그 테이블을 분석해줘"

✅ 명시적 참조:
"@lge_smart_tv.bronze.viewing_logs에서 시간대별 시청 패턴을 분석해줘"
@를 입력하면 자동완성 드롭다운이 나타나서 오타 없이 정확한 테이블을 선택할 수 있습니다.
📸 [스크린샷]: @ 입력 시 나타나는 테이블 자동완성 드롭다운 📸 [스크린샷]: “Add context” 버튼으로 테이블, 노트북, 파이프라인 추가하는 화면

”Add context” 버튼 활용

프롬프트 입력창의 “Add context” 버튼으로 추가할 수 있는 것들:
리소스용도
테이블스키마/데이터 참조
노트북기존 코드 참조
파이프라인파이프라인 설정 참조
쿼리기존 SQL 참조
파일워크스페이스 파일 참조

실습: @ 문법 직접 확인해보기

@lge_smart_tv.bronze.devices 이 테이블의 스키마를 보여줘.
각 컬럼의 이름, 타입, 설명을 표로 정리해줘.
@를 입력하는 순간 자동완성 드롭다운이 나타납니다. 직접 타이핑하지 말고 반드시 드롭다운에서 선택하세요.

원칙 4: 구체적으로 (Be Specific)

모호한 프롬프트 → 모호한 결과. 5가지를 명시하세요.
명시 항목나쁜 예좋은 예
테이블”데이터를 분석해줘""@lge_smart_tv.gold.daily_viewing_summary를 분석해줘”
관점”분석해줘""지역별, 제품라인별 평균 시청 시간을 비교해줘”
시각화”차트 만들어줘""matplotlib 가로 막대 차트, 시청 시간 내림차순”
출력 형태”결과 보여줘""Delta 테이블로 저장, COMMENT 포함”
라이브러리(미지정)“PySpark 사용, pandas 말고”

대시보드 프롬프트 예시

❌ "좋은 대시보드 만들어줘"

✅ "@lge_smart_tv.gold.ad_campaign_kpi로 대시보드를 만들어줘.

   Row 1: KPI 카운터 4개 (총 노출수, 평균 CTR%, 평균 VCR%, 총 수익 USD)
   Row 2: 일별 노출/클릭 추이 (꺾은선), 광고 형식별 CTR 비교 (막대)
   Row 3: 상위 10 광고주 수익 랭킹 (가로 막대)
   
   필터: 날짜 범위, 광고 형식(ad_format)"

원칙 5: 안전 가드레일 명시 (Safety Guardrails)

Agent Mode는 강력합니다. 명시적으로 제한하지 않으면 기존 데이터를 삭제할 수도 있습니다.

매 프롬프트에 포함할 안전 규칙

조건:
- 기존 테이블을 DROP/DELETE/UPDATE 하지 마
- 결과는 새 테이블로 생성 (CREATE OR REPLACE)
- 테스트 시 LIMIT 1000
- 실행 전 Plan을 먼저 보여줘
💡 꿀팁: Custom Instructions에 이 안전 규칙을 넣어두면 매번 안 써도 됩니다. → Custom Instructions 가이드

실습: 안전 가드레일 테스트

안전 규칙이 잘 동작하는지 확인해보세요:
@lge_smart_tv.bronze.devices에서 region = 'KR'인 디바이스를 10건만 조회해줘.
결과를 보여주기만 하고, 절대 기존 테이블을 수정하지 마.
실행 후, Plan에서 SELECT 쿼리만 있는지 확인하세요. DROP이나 DELETE가 포함되어 있다면 Allow를 누르지 마세요.

다음 단계