> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sifi.life/llms.txt
> Use this file to discover all available pages before exploring further.

# Custom Instructions

> 매번 "Delta로 저장해", "한국어로 해줘"를 반복하지 마세요. **한 번 설정하면 자동 적용됩니다.**

***

## Custom Instructions란?

Genie Code에게 \*\*"항상 이 규칙을 따라줘"\*\*라고 미리 알려주는 설정 파일입니다.

| 레벨         | 파일 위치                                            | 적용 범위 | 설정 주체 |
| ---------- | ------------------------------------------------ | ----- | ----- |
| **개인**     | `/Users/{username}/.assistant_instructions.md`   | 나만    | 본인    |
| **워크스페이스** | `Workspace/.assistant_workspace_instructions.md` | 팀 전체  | 관리자   |

* 워크스페이스 Instructions가 개인보다 우선
* 최대 **20,000자** (초과분은 무시됨)
* Agent Mode, Chat Mode, 인라인 제안, /fix에 모두 적용
* Quick Fix, Autocomplete에는 적용 안 됨

***

## 설정 방법

### 방법 1: Genie Code Settings에서 직접 편집

1. Genie Code 사이드 패널 열기
2. 하단 ⚙️ 아이콘 (Settings) 클릭
3. "Custom Instructions" 섹션에서 편집

> 💡 **화면 참고**: Settings → Custom Instructions 편집 화면

### 방법 2: 파일 직접 생성

Genie Code에게 만들어달라고 하면 됩니다:

```
내 Custom Instructions 파일을 만들어줘.
경로: /Users/{내 username}/.assistant_instructions.md
```

> 💡 **username 모르겠다면?** Genie Code에 이렇게 물어보세요:
>
> ```
> 내 Databricks username과 Custom Instructions 파일 경로를 알려줘.
> ```

***

## Custom Instructions 적용 전후 비교

Instructions 없이 먼저 테스트하고, 설정 후 같은 질문을 다시 해보면 차이를 확인할 수 있습니다.

### Step 1: Instructions 없이 테스트

새 노트북을 만들고 Genie Code에 아래 프롬프트를 입력하세요:

```
@smart_tv.bronze.viewing_logs에서 지역별 시청 시간 합계를 구하고 차트로 보여줘.
```

### 관찰 포인트 (적용 전)

다음 항목을 확인합니다:

* 답변이 한국어인가, 영어인가?
* PySpark를 사용하는가, pandas를 사용하는가?
* 변수명이 snake\_case인가, camelCase인가?
* 차트 제목/축 레이블이 한국어인가?
* LIMIT 절이 포함되어 있는가?
* 코드에 주석이 달려 있는가?

> 이 결과를 기억해두고, Custom Instructions 설정 후 **같은 질문**을 다시 해볼 것입니다.

### Step 2: Instructions 적용 후 비교

아래 권장 Instructions를 설정한 뒤, **새 대화**(+ 버튼)를 시작하고 **동일한 프롬프트**를 입력합니다.

### 관찰 포인트 (적용 후)

| 항목    | 적용 전         | 적용 후 (기대)       |
| ----- | ------------ | --------------- |
| 답변 언어 | 영어 가능        | ✅ 한국어           |
| 라이브러리 | pandas 가능    | ✅ PySpark       |
| 변수명   | camelCase 가능 | ✅ snake\_case   |
| LIMIT | 없을 수 있음      | ✅ LIMIT 1000 포함 |
| 코드 주석 | 없거나 영어       | ✅ 한국어 주석        |

***

## 워크샵용 권장 Custom Instructions

아래 내용을 그대로 복사해서 Custom Instructions에 넣으세요:

```markdown theme={null}
## 기본 규칙
- 한국어로 답변하되, 기술 용어는 영문 병기 (예: 파이프라인(Pipeline))
- 코드 주석은 한국어로 작성
- PySpark를 기본으로 사용 (pandas 대신)
- SQL은 Databricks SQL 문법 사용

## 네이밍 규칙
- 카탈로그: lge_smart_tv
- 스키마: bronze(원본), silver(정제), gold(집계)
- 테이블명: snake_case (예: daily_viewing_summary)
- 컬럼명: snake_case (예: total_viewing_min)

## 안전 규칙 (중요!)
- 기존 테이블을 DROP/DELETE/UPDATE 하지 말 것
- 결과는 CREATE OR REPLACE TABLE로 저장
- Delta 형식으로 저장
- 테스트 시 SELECT에 LIMIT 1000 적용
- 모든 테이블에 COMMENT 추가

## 코딩 스타일
- SQL 키워드 대문자 (SELECT, FROM, WHERE)
- 복잡한 쿼리는 CTE(WITH) 사용
- 날짜 파티셔닝 기본 적용 (event_date)
```

### 설정 확인 테스트

Custom Instructions를 붙여넣었다면, 아래 프롬프트로 잘 적용됐는지 확인하세요:

```
@smart_tv.bronze.devices에서 region별 디바이스 수를 세줘. 10건만 보여줘.
```

> **확인 포인트**:
>
> * 답변이 한국어로 나오는가? → "기본 규칙" 적용 확인
> * PySpark 코드를 사용하는가? (pandas가 아닌) → "기본 규칙" 적용 확인
> * `LIMIT` 절이 포함되어 있는가? → "안전 규칙" 적용 확인
> * 테이블이 snake\_case인가? → "네이밍 규칙" 적용 확인

***

## 팀(워크스페이스) Instructions 예시

관리자가 팀 전체에 적용할 규칙:

```markdown theme={null}
## 워크스페이스 공통 규칙

### 데이터 거버넌스
- production 카탈로그에 직접 쓰기 금지
- dev, staging 카탈로그에서 개발 후 프로모션
- 민감 데이터(PII) 컬럼은 마스킹 적용

### 코딩 표준
- MLflow 실험 로깅 필수 (모든 ML 작업)
- Delta Lake 포맷만 사용
- OPTIMIZE + ZORDER 정기 실행

### 비용 관리
- 개발 시 LIMIT 1000 적용
- 불필요한 FULL SCAN 지양
- 서버리스 컴퓨트 우선 사용
```

***

## 꿀팁

### Instructions에 넣지 말아야 할 것

| 넣으면 안 되는 것      | 이유                                           |
| --------------- | -------------------------------------------- |
| 너무 많은 규칙 (50개+) | 우선순위 혼란, 성능 저하                               |
| 모순되는 규칙         | Genie Code가 어느 것을 따를지 모름                     |
| 매우 구체적인 작업 지시   | Instructions는 "항상" 적용됨 — 작업별 지시는 프롬프트에       |
| 외부 URL 참조       | Genie Code는 Instructions 기반으로 외부 정보를 가져오지 않음 |

### 효과적인 Instructions 작성 규칙

1. **10\~15개 규칙이 최적** (너무 많으면 우선순위 혼란)
2. **구체적인 예시 포함** (예: "snake\_case 사용" + 예시 `daily_viewing_summary`)
3. **"하지 마" 규칙 반드시 포함** (DROP 금지 등)
4. **정기적으로 업데이트** (프로젝트 단계에 따라 변경)

***

## 다음 단계

* **[자주 하는 실수](common-mistakes)** — 시간 낭비를 피하는 10가지 안티패턴을 확인합니다.
