> ## 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.

# 개요 & Knowledge Assistant

> **핵심 메시지**: "대시보드는 **보는 것**, Genie는 **묻는 것**, 에이전트는 **행동하는 것**"

> **이 모듈 한눈에**
>
> * **목적** — 지금까지 만든 데이터·지식을 묶어, 자연어로 묻고 답하는 통합 어시스턴트(Knowledge Assistant · Genie Agent · Supervisor)를 만듭니다.
> * **다루는 것** — KA 지식 소스(`silver.mfg_knowledge_base` + 06 산출물), Genie Space 3개(모듈 5), Vector Search 인덱스, Lakebase 세션 저장(선택).

### 이 모듈에서 사용하는 Databricks 기능

| 기능 | 설명 | 공식 문서 |
| - | - | - |
| **Agent Bricks** | AI 에이전트를 코드 없이 UI/API로 생성·관리하는 플랫폼. Knowledge Assistant(문서 Q\&A), Genie Agent(데이터 분석), Supervisor Agent(오케스트레이션)를 제공합니다. | [docs](https://docs.databricks.com/en/generative-ai/agent-bricks/index.html) |
| **Vector Search** | 텍스트를 벡터로 임베딩하여 **의미적으로 유사한 문서**를 검색합니다. Knowledge Assistant의 RAG 검색 엔진입니다. | [docs](https://docs.databricks.com/en/generative-ai/vector-search.html) |
| **Databricks Model Serving** | LLM·임베딩 모델을 API 엔드포인트로 서빙합니다. 에이전트의 추론 엔진입니다. | [docs](https://docs.databricks.com/en/machine-learning/model-serving/index.html) |
| **Lakebase** | Databricks 내장 PostgreSQL 호환 OLTP DB. 대화 이력·피드백 저장에 사용합니다. (선택) | [docs](https://docs.databricks.com/en/oltp/index.html) |
| **MLflow on Databricks** | 에이전트 응답 품질을 트레이싱·평가합니다. | [docs](https://docs.databricks.com/en/mlflow/index.html) |

## 개요

3가지 유형의 에이전트를 만들고, 하나의 **Supervisor Agent**로 통합합니다.

| 에이전트 | 역할 | 데이터 소스 | 사용 시나리오 |
| - | - | - | - |
| **Knowledge Assistant (KA)** | 제조 SOP·품질기준·설비 트러블슈팅 Q\&A | 문서 (Vector Search) | "AA 틸트 규격은?", "리플로우 피크온도 기준은?" |
| **Genie Agent** | 데이터 기반 분석 질의 | Gold 테이블 (Genie Space) | "이번 주 라인2 수율은?", "불량 파레토 Top5는?" |
| **Supervisor Agent** | 위 에이전트 오케스트레이션 | 위 에이전트들 | 질문 의도에 따라 적절한 에이전트로 라우팅 |

**Supervisor 라우팅 규칙**

| 사용자 질문 유형 | 라우팅 대상 | 예시 |
| - | - | - |
| 규격/기준/사용법/트러블슈팅 | **KA** (문서 기반) | "AA 공정 틸트 허용 규격이 얼마야?" |
| 데이터/통계/추이/비교 | **Genie Agent** (데이터 기반) | "라인2 이번 주 수율 추이는?" |
| 복합 (원인 분석 + 대응) | **KA + Genie 둘 다** | "라인2 MTF 불량이 급증했는데 원인과 대응 방법은?" |

***

## Part A: Knowledge Assistant (KA) — 제조 지식 챗봇

### 개념

Knowledge Assistant는 **비정형 문서**(SOP, 품질기준서, 설비 매뉴얼)를 Vector Search로 인덱싱하여, 질문에 관련 문서를 찾아 답변하는 RAG 기반 에이전트입니다.

> 💡 **왜 Vector Search인가?** SQL의 `LIKE '%틸트%'`는 정확히 "틸트"가 든 문서만 찾지만, Vector Search는 "광축 정렬 기울기 허용치"처럼 **의미가 비슷한 문서**도 찾아냅니다. 이것이 RAG(관련 문서를 먼저 검색 → LLM이 답변 생성)의 핵심입니다.

### Step 1: 지식 문서 준비

> [06. 비정형 AI 함수](06-ai-functions-unstructured)에서 SOP/매뉴얼 PDF를 파싱해 두었다면 그 결과를 활용합니다. 여기서는 KA용 지식 베이스 테이블을 직접 생성하는 경로를 제공합니다.

#### Genie Code 프롬프트: 제조 지식 베이스 생성

> 한 번에 90개를 다 만들라고 하지 말고, 빈 테이블부터 만든 뒤 카테고리별로 나눠 채웁니다.

**1단계 —** 빈 테이블 스키마부터.

```
카메라 모듈 제조 현장용 지식 베이스를 담을 Delta 테이블 @ccm_factory.silver.mfg_knowledge_base 를 만들어줘.
컬럼: doc_id STRING(고유 문서 ID), category STRING(카테고리), title STRING(제목/질문), content STRING(본문), tags `ARRAY<STRING>`(관련 태그), process_stage STRING(관련 공정: SMT/DISPENSE/REFLOW/ALIGN/AOI/FINAL/COMMON), last_updated DATE.
```

**2단계 —** 공정 SOP 20개부터 채우자.

```
그 테이블에 공정 SOP 문서 20개를 생성해서 넣어줘. content 는 500~1500자, 실제 제조 SOP 수준의 상세한 한국어로.
- SMT 실장 표준 작업 (노즐/피더 셋업, 실장 offset 관리 기준)
- 디스펜싱 도포량/압력 관리, UV 경화 조건 (LENS_BOND 경화량 규격)
- 리플로우 프로파일 설정 (존별 온도, 피크온도 240~250°C, TAL 관리)
- Active Alignment 정렬 절차 (focus/tilt/rotation, MTF 목표)
- AOI 검사 셋업, 최종 화질검사(MTF/데드픽셀/이물) 판정 기준
```

**3단계 —** 품질 기준 20개 추가.

```
같은 테이블에 품질 기준 문서 20개를 추가해줘.
- MTF SFR 규격 (모델별 target, 중심/코너 최소치)
- AA 틸트 허용 규격 (arcmin 기준), focus Z 허용 편차
- 데드픽셀/이물/얼룩 판정 기준, SNR/왜곡/주변광량비 규격
- Cpk 공정능력 관리 기준 (1.33 이상), SPC 관리한계
```

**4단계 —** 설비 트러블슈팅 20개 + 불량 대응 20개.

```
설비 트러블슈팅 20개와 불량 대응 20개를 추가해줘.
[설비 트러블슈팅] SMT 노즐 잼/픽업불량/인식불량 대응 · 디스펜서 니들 막힘·진공 누설 · 리플로우 온도 편차·컨베이어 이상 · AA 장비 정렬 실패(RETRY 반복) · 설비 진동/온도 이상 전조 시 점검 절차
[불량 대응] 불량코드별 원인/조치(PLACEMENT/BONDING/ALIGNMENT/CONTAMINATION/IMAGE_QUALITY) · 자재 로트 불량 격리/추적 절차 · REWORK/SCRAP 판정 기준 · 8D 리포트 작성 가이드
```

**5단계 —** 클린룸/환경 10개로 총 90개 완성.

```
마지막으로 클린룸/환경 관리 문서 10개를 추가해서 총 90개를 채워줘.
- 클린룸 등급/파티클 관리 기준, 온습도/차압 관리
- ESD 관리, 파티클 급증 시 대응
Delta 테이블로 저장하고, 실제 제조 현장 SOP 수준의 상세하고 정확한 한국어 콘텐츠로 작성해줘.
```

### Step 2: Vector Search 엔드포인트 생성 (미리 시작)

> ⚠️ Vector Search 엔드포인트/인덱스 생성은 **5\~10분** 소요됩니다. KA 생성 전에 먼저 시작하세요.

```
Vector Search 엔드포인트를 만들어줘.
- 이름: vs-endpoint-ccm
- 타입: Managed (Databricks 관리)
상태가 Online이 되면 알려줘.
```

### Step 3: Knowledge Assistant 생성

#### Genie Code 프롬프트

**1단계 —** KA 뼈대부터.

```
Knowledge Assistant "카메라 모듈 제조 가이드" 를 만들어줘.
설명: 카메라 모듈 제조 공정의 SOP, 품질 기준, 설비 트러블슈팅, 불량 대응에 대해 답변합니다.
```

**2단계 —** 지식 소스 연결 (07 지식베이스 + 06 산출물 함께).

> [06. 비정형 AI 함수](06-ai-functions-unstructured)에서 만든 8D 산출물(`silver.parsed_8d_reports`, `gold.quality_8d_structured`)을 여기서 **실제로 KA 지식 소스에 추가 연결**합니다. 그래야 06/07에서 서술한 "06 산출물이 KA 소스"가 사실이 됩니다.

```
지식 소스로 아래 3개 테이블을 연결해줘.
1. @ccm_factory.silver.mfg_knowledge_base — 임베딩 컬럼: content / 메타데이터: category, title, tags, process_stage
2. @ccm_factory.silver.parsed_8d_reports (06 산출물, 8D 리포트 파싱 원문) — 임베딩: 파싱 본문 텍스트 컬럼
3. @ccm_factory.gold.quality_8d_structured (06 산출물, 8D 구조화 분석) — 임베딩: 원인(root_cause)·조치(corrective_action) 텍스트 컬럼
```

**3단계 —** 사용 가능한 모델 엔드포인트부터 확인.

> LLM/임베딩 엔드포인트명은 워크스페이스마다 다를 수 있습니다. 하드코딩하지 말고 먼저 확인하세요.

```
이 워크스페이스에서 사용 가능한 Foundation Model 서빙 엔드포인트 목록을 보여줘.
특히 임베딩용(gte/bge 계열)과 LLM용(claude-sonnet-4, llama 계열)에서 최신으로 쓸 수 있는 엔드포인트명을 알려줘.
```

**4단계 —** 인덱스·모델 지정 (3단계에서 확인한 엔드포인트명 사용).

```
Vector Search 엔드포인트 vs-endpoint-ccm 에 인덱스 vs-index-mfg-knowledge 로 붙여줘.
임베딩 모델: databricks-gte-large-en / LLM 모델: databricks-claude-sonnet-4
(claude-sonnet-4 가 없으면 위에서 확인한 대체 엔드포인트, 예: databricks-meta-llama-3-3-70b-instruct 사용)
```

**5단계 —** System Prompt 설정.

```
System Prompt 를 이렇게 설정해줘:
"당신은 카메라 모듈 제조 공정 전문 어시스턴트입니다.
규칙:
1. 반드시 제공된 지식 문서에 기반하여 답변하세요.
2. 문서에 없는 내용은 '해당 정보를 지식 베이스에서 찾을 수 없습니다'라고 답하세요.
3. 한국어로 답변하되, 기술 용어는 영문 병기 (예: 광축 정렬(Active Alignment), 공정능력(Cpk))
4. 규격/수치를 답할 때는 단위와 관리 기준(상/하한)을 명확히 하세요.
5. 절차가 필요하면 번호 매기기를 사용하세요.
6. 안전/품질 주의사항이 있으면 반드시 언급하세요."
```

**6단계 —** 생성 후 바로 테스트.

```
생성 후 테스트 질문 3개를 실행해줘:
1. "Active Alignment 공정에서 틸트 허용 규격은 얼마인가요?"
2. "리플로우 피크 온도 관리 기준을 알려주세요"
3. "SMT 노즐 픽업 불량이 자주 발생할 때 어떻게 대응하나요?"
```

### KA 생성 확인

```
"카메라 모듈 제조 가이드" Knowledge Assistant가 정상 생성됐는지 확인해줘.
Vector Search 엔드포인트 상태와 인덱스 문서 수도 알려줘.
```

> ⚠️ 인덱싱은 **5\~10분** 소요됩니다.
>
> * 인덱스 상태가 "PROVISIONING"이면 "ONLINE"이 될 때까지 기다린 뒤 테스트하세요.
> * 인덱싱 전에 질문하면 "관련 문서를 찾을 수 없습니다"가 나옵니다.

### Step 4: KA 테스트 & 평가

**1단계 —** 평가 기준부터 합의.

```
"카메라 모듈 제조 가이드" KA 답변을 평가할 거야. 기준은 각 1~5점:
- 정확성: 규격/수치가 문서와 일치하는지
- 완전성: 질문에 충분히 답했는지
- 관련성: 검색된 문서가 질문과 관련있는지
- 가독성: 답변이 읽기 쉬운지
```

**2단계 —** 질문 10개 배치 실행.

```
다음 10개 질문을 KA 에 보내줘:
1. "MTF SFR 중심 규격은 모델마다 어떻게 다른가요?"
2. "데드픽셀 몇 개부터 불량으로 판정하나요?"
3. "디스펜싱 UV 경화량 규격은?"
4. "Cpk 관리 기준은 얼마인가요?"
5. "AA 장비가 RETRY를 반복하면 어떻게 하나요?"
6. "이물(particle) 불량이 발생하면 원인을 어떻게 찾나요?"
7. "리플로우 TAL이란 무엇이고 관리 기준은?"
8. "자재 로트 불량이 확인되면 어떤 절차를 따르나요?"
9. "클린룸 파티클이 급증하면 어떻게 대응하나요?"
10. "8D 리포트는 어떻게 작성하나요?"
```

**3단계 —** 채점 표로 정리.

```
각 질문의 4개 점수와 종합 평균을 표로 보여줘.
평균 4점 미만 질문은 mfg_knowledge_base 문서 보강 후보야.
```

***


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.