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

# AI 함수·Agent Bricks·템플릿

## 9. 비정형 데이터 AI 함수

> 🟢 모두 네이티브 SQL AI 함수(`ai_*`)로 실행. 서빙 엔드포인트 과금이 있으니 항상 `LIMIT`으로 소량 테스트 후 확대.

**필드 리턴 데이터 훑어보기** 🟢 — 모듈 6 · Part A

```
ccm_factory.bronze.field_returns에서 failure_symptom, analysis_result, root_cause_code를
10건만 보여줘. 어떤 자연어 텍스트가 들어있는지 확인하고 싶어.
```

**ai\_classify — 증상을 근본원인으로 분류** 🟢 — 모듈 6 · Part A

```
ccm_factory.bronze.field_returns의 failure_symptom(한국어 증상 텍스트)을
ai_classify로 다음 5개 근본원인 카테고리 중 하나로 분류해줘:
ALIGNMENT, ACTUATOR, BONDING, CONTAMINATION, SENSOR

- 먼저 LIMIT 20으로 테스트
- 결과 컬럼: rma_id, failure_symptom, 기존 root_cause_code, ai_predicted_cause
- 실제 사용할 SQL도 보여줘
```

**ai\_extract — 구조화 추출** 🟢 — 모듈 6 · Part A

```
@ccm_factory.bronze.field_returns.failure_symptom + analysis_result를 결합한 텍스트에서
ai_extract로 다음 3개 항목을 구조화 추출해줘 (LIMIT 20):
- symptom(증상), defect_location(불량 부위), suspected_cause(의심 원인)
결과를 표로 보여주고 SQL도 알려줘.
```

**ai\_summarize — 모델별 리턴 요약** 🟢 — 모듈 6 · Part A

```
모델(model_code)별로 최근 필드 리턴 증상들을 ai_summarize로 간결히 요약해줘(요약 길이는 단어 수 인자로 제어).
model_code, return_count, summary 컬럼으로. Global_A 고객 모델 위주로 LIMIT 10.
```

**AI 분류 vs 기존 코드 일치율 검증** 🟢 — 모듈 6 · Part A

```
방금 ai_classify로 예측한 ai_predicted_cause와 기존 root_cause_code의 일치율을 계산해줘.
- 전체 일치율(%)
- 카테고리별 혼동행렬(confusion matrix)
- 가장 자주 틀리는 카테고리 쌍
불일치가 많으면 원인(레이블 정의 모호 등)도 추정해줘.
```

**8D 리포트 샘플 PDF 생성** 🟢 — 모듈 6 · Part B

```
카메라 모듈 품질 8D 리포트 샘플 PDF 10건을 만들어서 ccm_factory.bronze.raw_files 볼륨의
8d_reports/ 폴더에 저장해줘.

각 리포트는 8D 구조(D1~D8)를 갖고, 한국어로 작성:
- 문제 정의(불량 현상, 발생 로트/모델)
- 봉쇄 조치, 근본 원인(예: AA 틸트 규격 초과, 렌즈 본딩 UV 부족)
- 시정/예방 조치
불량 유형은 ALIGNMENT/BONDING/CONTAMINATION/SENSOR/ACTUATOR로 다양하게.
```

**ai\_parse\_document — PDF 텍스트 추출** 🟢 — 모듈 6 · Part B

```
ccm_factory.bronze.raw_files 볼륨의 8d_reports/ 아래 PDF들을 ai_parse_document로 파싱해서
텍스트를 추출하고, ccm_factory.silver.parsed_8d_reports 테이블로 저장해줘.
컬럼: file_path, parsed_text, parsed_at. 먼저 1개로 테스트하고 결과 미리보기.
```

**ai\_extract — 8D 항목 구조화** 🟢 — 모듈 6 · Part B

```
silver.parsed_8d_reports의 parsed_text에서 ai_extract로 8D 핵심 항목을 구조화해줘:
- problem_definition(문제 정의)
- root_cause(근본 원인)
- corrective_action(시정 조치)
- affected_model(영향 모델)
결과를 ccm_factory.gold.quality_8d_structured 테이블로 저장. LIMIT으로 먼저 테스트.
```

**AOI 불량 이미지 목록 확인** 🟢 — 모듈 6 · Part C

```
ccm_factory.bronze.raw_files 볼륨의 aoi_defect_images/ 폴더에 있는 불량 이미지 목록을 보여줘.
(없으면) 강사가 공유한 AOI 불량 이미지 샘플을 이 폴더에 업로드하는 방법을 안내해줘.
```

**ai\_query (Vision) — 불량 이미지 분류** 🟢 — 모듈 6 · Part C

```
aoi_defect_images/ 의 이미지들을 ai_query에 Vision 모델로 넣어
불량 유형을 분류하고 한 줄 설명을 생성해줘.

- 분류 레이블: SOLDER_DEFECT, FOREIGN_MATERIAL, PLACEMENT_SHIFT, POLARITY_ERROR, SCRATCH, NORMAL
- 결과 컬럼: image_path, defect_type, description
- 먼저 이미지 3장으로 테스트하고 SQL도 보여줘
- 이 워크스페이스에서 ai_query로 이미지를 처리하는 정확한 구문과 사용 가능한 Vision 엔드포인트를 먼저 확인해줘
```

**배치 적용 — field\_return\_insights 생성** 🟢 — 모듈 6 · Part D

```
검증이 끝났으니 @ccm_factory.bronze.field_returns 전체(1만 건)에 ai_classify를 배치 적용해서
ccm_factory.gold.field_return_insights 테이블을 만들어줘.

컬럼:
- rma_id, serial_id, model_code, customer, return_date
- ai_predicted_cause (ai_classify 결과)
- extracted_symptom, extracted_location, suspected_cause (ai_extract 결과)
- root_cause_code (원본)

주의: 서빙 엔드포인트 과금이 발생하므로, 배치 실행 전 예상 호출 수를 알려주고
확인받은 뒤 진행해줘. field_returns에는 event_date가 없으니 event_date = DATE(return_date) 파생 컬럼을 추가한 뒤 event_date로 파티션, 모든 컬럼 COMMENT.
```

**배치 결과 활용 확인** 🟢 — 모듈 6 · Part D

```
gold.field_return_insights를 활용해서:
- ai_predicted_cause별 리턴 건수 Top 5
- 모델(model_code)별 최다 근본원인
- Global_A 고객의 최근 3개월 주요 불량 원인
을 보여줘. 이 결과가 대시보드나 Genie Space로 쓸 만한지도 코멘트해줘.
```

***

## 10. Agent Bricks (Knowledge Assistant · Supervisor)

> KA/Supervisor 생성은 🔵 **Agent Bricks** UI에서. 지식 문서 생성은 🟢 네이티브.

**제조 지식 베이스 생성** 🟢 — 모듈 7 · Part A

```
카메라 모듈 제조 현장용 지식 베이스 문서를 생성해줘. Delta 테이블로 만들어줘.

테이블: ccm_factory.silver.mfg_knowledge_base

컬럼:
- doc_id: STRING (고유 문서 ID)
- category: STRING (카테고리)
- title: STRING (제목/질문)
- content: STRING (본문, 500~1500자, 실제 제조 SOP 수준의 상세한 한국어)
- tags: `ARRAY<STRING>` (관련 태그)
- process_stage: STRING (관련 공정: SMT/DISPENSE/REFLOW/ALIGN/AOI/FINAL/COMMON)
- last_updated: DATE

카테고리별 문서 (총 90개):
1. 공정 SOP (20개): SMT 실장, 디스펜싱/UV 경화, 리플로우 프로파일, Active Alignment 정렬, AOI/최종 화질검사 판정 기준
2. 품질 기준 (20개): MTF SFR 규격, AA 틸트/focus 허용, 데드픽셀/이물/SNR 규격, Cpk 관리 기준
3. 설비 트러블슈팅 (20개): SMT 노즐 잼/픽업불량, 디스펜서 니들 막힘, 리플로우 온도 편차, AA RETRY 반복, 진동/온도 이상 전조
4. 불량 대응 (20개): 불량코드별 원인/조치, 자재 로트 격리/추적, REWORK/SCRAP 기준, 8D 작성 가이드
5. 클린룸/환경 관리 (10개): 파티클 관리, 온습도/차압, ESD, 파티클 급증 대응

Delta 테이블로 저장하고, 실제 제조 현장 SOP 수준의 상세하고 정확한 한국어 콘텐츠로 작성해줘.
```

**Vector Search 엔드포인트 생성** 🔵 — 모듈 7 · Part A

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

**Knowledge Assistant 생성** 🔵 — 모듈 7 · Part A

```
Knowledge Assistant를 만들어줘.

설정:
- 이름: 카메라 모듈 제조 가이드
- 설명: 카메라 모듈 제조 공정의 SOP, 품질 기준, 설비 트러블슈팅, 불량 대응에 대해 답변합니다.
- 지식 소스 (3개):
  - @ccm_factory.silver.mfg_knowledge_base 테이블 (제조 SOP·품질기준·트러블슈팅·불량대응 지식)
    - 임베딩 대상 컬럼: content
    - 메타데이터 컬럼: category, title, tags, process_stage
  - @ccm_factory.silver.parsed_8d_reports 테이블 (06에서 파싱한 8D 리포트 원문)
    - 임베딩 대상 컬럼: parsed_text
  - @ccm_factory.gold.quality_8d_structured 테이블 (06에서 구조화한 8D 핵심 항목)
    - 임베딩 대상 컬럼: root_cause, corrective_action
- Vector Search 엔드포인트: vs-endpoint-ccm
- Vector Search 인덱스: vs-index-mfg-knowledge
- 임베딩 모델: databricks-gte-large-en
- LLM 모델: (워크스페이스에서 사용 가능한 최신 Claude/Llama 서빙 엔드포인트 확인 후 지정)
- System Prompt:
"당신은 카메라 모듈 제조 공정 전문 어시스턴트입니다.
1. 반드시 제공된 지식 문서에 기반하여 답변하세요.
2. 문서에 없는 내용은 '해당 정보를 지식 베이스에서 찾을 수 없습니다'라고 답하세요.
3. 한국어로 답변하되, 기술 용어는 영문 병기 (예: 광축 정렬(Active Alignment), 공정능력(Cpk))
4. 규격/수치를 답할 때는 단위와 관리 기준(상/하한)을 명확히 하세요.
5. 절차가 필요하면 번호 매기기를 사용하세요.
6. 안전/품질 주의사항이 있으면 반드시 언급하세요."

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

**KA 생성 확인** 🔵 — 모듈 7 · Part A

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

**KA 품질 평가** 🔵 — 모듈 7 · Part A

```
"카메라 모듈 제조 가이드" KA에 아래 10개 질문을 보내고 답변 품질을 평가해줘.
평가 기준(각 1~5점): 정확성 / 완전성 / 관련성 / 가독성.
테스트 질문: MTF SFR 중심 규격, 데드픽셀 판정 기준, UV 경화량 규격, Cpk 관리 기준, AA RETRY 대응,
이물 불량 원인 추적, 리플로우 TAL, 자재 로트 불량 절차, 클린룸 파티클 대응, 8D 작성.
각 질문의 4개 점수와 종합 평균을 표로 보여줘. 평균 4점 미만은 문서 보강 후보야.
```

**Supervisor Agent 생성 (KA + Genie Agent 통합)** 🔵 — 모듈 7 · Part C

```
Supervisor Agent를 만들어줘.
- 이름: 스마트팩토리 AI 어시스턴트
- 하위 에이전트: "카메라 모듈 제조 가이드"(KA) + "스마트팩토리 데이터 분석가"(Genie Agent)
- 라우팅 규칙:
  · 사용법/규격/트러블슈팅/절차 → KA
  · 수율/불량/OEE/추이/통계 → Genie Agent
  · 복합(데이터+가이드) → 둘 다 호출 후 통합
- 답변은 한국어(기술용어 영문 병기), 라우팅 결정은 노출하지 말고, 끝에 '🔍 관련 질문' 2~3개 제안
생성 후 단순→복합 순으로 5개 시나리오를 테스트해줘.
```

**Genie Agent 생성 확인** 🔵 — 모듈 7 · Part B

```
"스마트팩토리 데이터 분석가" Genie Agent가 정상 생성됐는지,
연결된 Genie Space 3개가 모두 인식되는지 확인해줘.
```

**Lakebase 세션 저장소 생성 (선택)** 🔵 — 모듈 7 · Part D

```
Lakebase 데이터베이스를 만들어줘.
- 데이터베이스 이름: ccm_agent_db, 카탈로그: ccm_factory
테이블:
1. chat_sessions(session_id UUID PK, user_name, line_context, started_at, ended_at, total_messages, satisfaction_score)
2. chat_messages(message_id UUID PK, session_id FK, role, content, agent_used, response_time_ms, created_at)
3. agent_feedback(feedback_id UUID PK, message_id FK, is_helpful, feedback_text, created_at)
```

**MLflow로 에이전트 품질 평가** 🔵 — 모듈 7 · Part E

```
"스마트팩토리 AI 어시스턴트"의 최근 대화들을 MLflow Tracing으로 확인하고,
라우팅 정확도와 응답 품질을 평가해줘. 개선이 필요한 질문 유형을 알려줘.
```

***

## 11. 검증 · 디버깅 · 재사용 범용 템플릿

여러 모듈에서 반복되는 범용 프롬프트입니다. 표/테이블명만 바꿔 어디서든 쓰세요. 모두 🟢 네이티브.

**방금 만든 결과 확인**

```
방금 만든 <테이블/오브젝트>의 row 수와 주요 컬럼 분포를 확인해줘.
```

**조건대로 만들어졌는지 교차검증** (AI 결과에 도전)

```
방금 생성한 <테이블>이 내가 요청한 조건과 일치하는지 교차 검증해줘.
<검증할 규칙>을 만족하는지 확인하고, 불일치가 있으면 건수와 함께 알려줘.
```

**에러 진단**

```
방금 발생한 이 에러를 진단해줘. 원인과 해결 방법을 알려주고, Serverless 제약이나 권한 문제인지도 확인해줘.
```

**참조 무결성/품질 빠른 점검**

```
<테이블>의 <FK 컬럼>이 <마스터 테이블>에 모두 존재하는지, NULL/중복/이상치가 있는지 요약해줘.
```

***

> **다시 강조:** 🔵 프롬프트는 각 제품 UI(Genie · Dashboards · Agent Bricks · Lakeflow)에서 만듭니다. 워크샵은 Genie Code 네이티브 기능과 Databricks UI만으로 완주할 수 있습니다.


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