445 lines
20 KiB
Markdown
445 lines
20 KiB
Markdown
|
|
# AI 인터뷰어 지식 기반 시스템 기획
|
||
|
|
|
||
|
|
> **작성일**: 2026-03-22
|
||
|
|
> **상태**: 기획 중
|
||
|
|
> **담당**: R&D실
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 1. 개요
|
||
|
|
|
||
|
|
### 1.1 목적
|
||
|
|
|
||
|
|
현재 AI 인터뷰어는 **질문 목록을 순서대로 물어보는** 수준이다. 이를 **SAM 시스템 전체를 학습한 AI 전문 컨설턴트**로 진화시킨다. AI가 SAM의 견적, BOM, 단가, 생산, 품질, 재고, 인사, 회계 등 모든 모듈의 데이터 구조와 비즈니스 로직을 이해하고, 그 지식을 바탕으로 고객사 현장에서 빠짐없이 정보를 수집한다.
|
||
|
|
|
||
|
|
### 1.2 현재 vs 목표
|
||
|
|
|
||
|
|
```
|
||
|
|
[현재] 질문 리스트 기반
|
||
|
|
┌─────────────────┐ ┌──────────┐ ┌──────────┐
|
||
|
|
│ 225개 고정 질문 │ ──→ │ AI가 읽음 │ ──→ │ 순서대로 │
|
||
|
|
│ (12개 도메인) │ │ │ │ 질문 │
|
||
|
|
└─────────────────┘ └──────────┘ └──────────┘
|
||
|
|
문제: AI가 SAM을 모름 → 답변의 적합성 판단 불가 → 후속 질문 품질 낮음
|
||
|
|
|
||
|
|
[목표] SAM 지식 기반
|
||
|
|
┌─────────────────┐ ┌──────────────────┐ ┌──────────────┐
|
||
|
|
│ SAM Knowledge │ │ AI가 SAM 전문가 │ │ 맥락 기반 │
|
||
|
|
│ Base (SKB) │ ──→ │ 로서 대화 │ ──→ │ 체계적 질문 │
|
||
|
|
│ 32개 도메인 학습 │ │ │ │ + 실시간 검증 │
|
||
|
|
└─────────────────┘ └──────────────────┘ └──────────────┘
|
||
|
|
효과: AI가 SAM을 안다 → 답변 즉시 검증 → 누락/모순 감지 → 설정 자동 매핑
|
||
|
|
```
|
||
|
|
|
||
|
|
### 1.3 핵심 원칙
|
||
|
|
|
||
|
|
```
|
||
|
|
✅ AI는 SAM의 모든 테이블, 필드, 비즈니스 규칙을 학습한 상태로 인터뷰한다
|
||
|
|
✅ 고객 답변을 실시간으로 SAM 설정에 매핑하며, 매핑 불가 시 추가 질문한다
|
||
|
|
✅ 인터뷰 결과는 SAM 테넌트 설정으로 직접 변환 가능한 형태로 저장된다
|
||
|
|
✅ 업종별 사전 지식 프리셋을 제공하여 인터뷰 시간을 단축한다
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 2. SAM Knowledge Base (SKB) 설계
|
||
|
|
|
||
|
|
### 2.1 SKB 구조
|
||
|
|
|
||
|
|
AI에게 주입하는 지식을 **3계층**으로 구조화한다:
|
||
|
|
|
||
|
|
```
|
||
|
|
Layer 1: 시스템 구조 지식 (SAM이 뭘 할 수 있는가)
|
||
|
|
├── 32개 도메인별 테이블/필드/관계
|
||
|
|
├── 비즈니스 플로우 (견적→수주→생산→출하→정산)
|
||
|
|
└── 멀티테넌트 구조 (tenant_id, 권한, 메뉴)
|
||
|
|
|
||
|
|
Layer 2: 도메인 전문 지식 (제조업이 어떻게 운영되는가)
|
||
|
|
├── 업종별 특성 (블라인드, 방화셔터, 금속가공, 식품 등)
|
||
|
|
├── 산업 표준 용어
|
||
|
|
└── 일반적인 공정/단가/품질 패턴
|
||
|
|
|
||
|
|
Layer 3: 매핑 규칙 (답변을 SAM 설정으로 어떻게 변환하는가)
|
||
|
|
├── 답변 → SAM 테이블 매핑 규칙
|
||
|
|
├── 데이터 변환 공식
|
||
|
|
└── 검증 규칙 (필수값, 범위, 참조 무결성)
|
||
|
|
```
|
||
|
|
|
||
|
|
### 2.2 Layer 1 — SAM 시스템 구조 지식
|
||
|
|
|
||
|
|
AI가 학습해야 할 SAM 모듈을 **비즈니스 플로우 순서**로 정리한다:
|
||
|
|
|
||
|
|
#### 2.2.1 기초 설정 모듈
|
||
|
|
|
||
|
|
| 모듈 | SAM 테이블 | AI가 알아야 할 것 | 인터뷰 시 수집 대상 |
|
||
|
|
|------|-----------|------------------|-------------------|
|
||
|
|
| **테넌트** | `tenants` | 회사 기본정보, 업종, 사업자번호 | 회사명, 업종, 사업장 수 |
|
||
|
|
| **부서** | `departments` | 계층 구조, 소속 인원 | 조직도, 부서별 역할 |
|
||
|
|
| **사용자/권한** | `users`, `roles`, `permissions` | 역할별 접근 범위 | 직급 체계, 메뉴 접근 권한 |
|
||
|
|
| **공통코드** | `common_codes`, `classifications` | 드롭다운 선택지 | 사용 중인 분류 코드 |
|
||
|
|
| **메뉴** | `menus` | 사용할 기능 범위 | 필요한 메뉴/기능 목록 |
|
||
|
|
|
||
|
|
#### 2.2.2 품목/설계 모듈
|
||
|
|
|
||
|
|
| 모듈 | SAM 테이블 | AI가 알아야 할 것 | 인터뷰 시 수집 대상 |
|
||
|
|
|------|-----------|------------------|-------------------|
|
||
|
|
| **품목분류** | `categories`, `category_fields` | 계층 구조, 동적 필드 | 제품군, 분류 기준 |
|
||
|
|
| **품목마스터** | `item_masters`, `item_fields` | 3계층 양식 (L1~L3) | 품목 속성, 규격 |
|
||
|
|
| **설계모델** | `models`, `model_versions` | 버전 관리, 상태 흐름 | 제품 모델 코드 체계 |
|
||
|
|
| **BOM** | `bom_templates`, `bom_template_items` | 완제품→부품 트리 | BOM 구조, 수량 공식 |
|
||
|
|
| **단가** | `price_histories` | 시간축 단가 관리 | 단가표, 변경 주기 |
|
||
|
|
|
||
|
|
#### 2.2.3 영업/견적 모듈
|
||
|
|
|
||
|
|
| 모듈 | SAM 테이블 | AI가 알아야 할 것 | 인터뷰 시 수집 대상 |
|
||
|
|
|------|-----------|------------------|-------------------|
|
||
|
|
| **거래처** | `clients` | 고객/공급업체 구분 | 거래처 목록, 등급 |
|
||
|
|
| **견적** | `quotes`, `quote_items` | 견적 흐름, 개정 관리 | 견적 양식, 항목 구조 |
|
||
|
|
| **수주** | `orders`, `order_items` | 견적→수주 변환 | 수주 프로세스 |
|
||
|
|
| **계산공식** | `quote_formulas` | 치수→BOM→단가 자동계산 | 오픈사이즈→제작사이즈 공식 |
|
||
|
|
|
||
|
|
#### 2.2.4 생산/품질 모듈
|
||
|
|
|
||
|
|
| 모듈 | SAM 테이블 | AI가 알아야 할 것 | 인터뷰 시 수집 대상 |
|
||
|
|
|------|-----------|------------------|-------------------|
|
||
|
|
| **작업지시** | `work_orders` | 생산 계획 → 실적 | 공정 흐름, 작업반 |
|
||
|
|
| **생산실적** | `production_results` | 실적 보고, 불량 | 실적 보고 방식 |
|
||
|
|
| **입고/검사** | `material_receipts`, `material_inspections` | 자재 입고 → 검사 | 검사 기준, 불량 유형 |
|
||
|
|
| **LOT 관리** | `lots`, `lot_sales` | LOT 추적, 이력 | LOT 체계, 추적 필요 범위 |
|
||
|
|
| **재고** | `stocks` | 안전재고, 실사 | 창고, 재고 관리 방식 |
|
||
|
|
|
||
|
|
#### 2.2.5 회계/인사 모듈
|
||
|
|
|
||
|
|
| 모듈 | SAM 테이블 | AI가 알아야 할 것 | 인터뷰 시 수집 대상 |
|
||
|
|
|------|-----------|------------------|-------------------|
|
||
|
|
| **매출/매입** | `sales`, `purchases` | 세금계산서 연동 | 매출/매입 처리 방식 |
|
||
|
|
| **입출금** | `deposits`, `withdrawals` | 은행 연동 | 결제 조건, 수금 관리 |
|
||
|
|
| **바로빌** | `barobill_members` | 전자세금계산서 | 바로빌 사용 여부 |
|
||
|
|
| **인사** | HR 관련 테이블 | 근태, 급여, 휴가 | 근무 형태, 급여 체계 |
|
||
|
|
| **결재** | `approvals`, `approval_steps` | 전자결재 흐름 | 결재선, 위임 규칙 |
|
||
|
|
|
||
|
|
### 2.3 Layer 2 — 업종별 도메인 지식 프리셋
|
||
|
|
|
||
|
|
고객사 업종을 선택하면, AI가 해당 업종의 일반적인 패턴을 미리 알고 있는 상태에서 시작한다:
|
||
|
|
|
||
|
|
| 업종 프리셋 | 핵심 특성 | 인터뷰 초점 |
|
||
|
|
|-----------|---------|-----------|
|
||
|
|
| **블라인드/스크린** | 치수 기반 견적, 방화인증, 설치유형 분기 | 공식 계산, 조건부 부품 선택 |
|
||
|
|
| **금속 가공** | 소재별 단가, 절단/절곡/용접 공정 | 공정 순서, LOSS율, 외주 |
|
||
|
|
| **기계 조립** | 다단계 BOM, 서브어셈블리 | BOM 레벨, 리드타임, 조립 순서 |
|
||
|
|
| **식품 제조** | 유통기한, 로트 추적, HACCP | LOT 관리, 검사 항목, 원산지 |
|
||
|
|
| **건설/시공** | 프로젝트 기반, 위치별 산출, 실행예산 | 공사 구분, 노무비, 간접경비 |
|
||
|
|
| **전자/반도체** | 부품 수급, PCB BOM, 검사 장비 | 대체품, 리비전, 검사 자동화 |
|
||
|
|
| **범용 제조** | 표준 MRP, 안전재고, 외주 관리 | 전체 균형 파악 |
|
||
|
|
|
||
|
|
### 2.4 Layer 3 — 답변→SAM 매핑 규칙
|
||
|
|
|
||
|
|
AI가 답변을 받으면 즉시 SAM 설정으로 매핑 가능한지 판단한다:
|
||
|
|
|
||
|
|
```
|
||
|
|
고객 답변: "제품은 방화스크린, 방화셔터, 일반 블라인드 3종류입니다"
|
||
|
|
|
||
|
|
AI 내부 매핑:
|
||
|
|
┌─────────────────────────────────────────────────────┐
|
||
|
|
│ 매핑 대상: categories 테이블 │
|
||
|
|
│ │
|
||
|
|
│ INSERT categories (name, type, parent_id) │
|
||
|
|
│ ├── ('방화스크린', 'PRODUCT', null) │
|
||
|
|
│ ├── ('방화셔터', 'PRODUCT', null) │
|
||
|
|
│ └── ('일반 블라인드', 'PRODUCT', null) │
|
||
|
|
│ │
|
||
|
|
│ 후속 질문 자동 생성: │
|
||
|
|
│ → "방화스크린의 하위 모델이 있나요?" │
|
||
|
|
│ → "방화스크린은 KC 인증 제품인가요?" │
|
||
|
|
│ → "세 제품의 BOM 구조가 비슷한가요, 완전히 다른가요?" │
|
||
|
|
│ │
|
||
|
|
│ 누락 감지: │
|
||
|
|
│ ⚠ category_fields 미정의 → 각 제품별 속성 질문 필요 │
|
||
|
|
│ ⚠ 분류 코드 체계 미수집 → 코드 명명 규칙 질문 필요 │
|
||
|
|
└─────────────────────────────────────────────────────┘
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 3. AI 인터뷰 프로세스 설계
|
||
|
|
|
||
|
|
### 3.1 전체 흐름
|
||
|
|
|
||
|
|
```
|
||
|
|
1단계: 사전 준비
|
||
|
|
├── 업종 프리셋 선택 (또는 자동 판별)
|
||
|
|
├── SKB Layer 1~3 시스템 프롬프트에 주입
|
||
|
|
└── 기존 인터뷰 데이터 로드 (이전 세션 이어하기)
|
||
|
|
|
||
|
|
2단계: 기초 인터뷰 (1~2시간)
|
||
|
|
├── 회사 개요 파악 (업종, 규모, 주요 제품)
|
||
|
|
├── 현재 시스템 파악 (기존 ERP, 엑셀, 수작업 범위)
|
||
|
|
├── 핵심 Pain Point 파악 (가장 불편한 점)
|
||
|
|
└── AI가 SAM 모듈 활성화 범위 자동 추천
|
||
|
|
|
||
|
|
3단계: 도메인별 심층 인터뷰 (도메인당 30분~1시간)
|
||
|
|
├── AI가 도메인 순서를 자동 결정 (의존성 기반)
|
||
|
|
│ 예: 품목분류 → BOM → 단가 → 견적 → 생산 순
|
||
|
|
├── 각 도메인에서:
|
||
|
|
│ ├── SAM 테이블 기준으로 필요한 데이터 체크리스트 자동 생성
|
||
|
|
│ ├── 답변 즉시 매핑 + 누락/모순 실시간 감지
|
||
|
|
│ ├── 파일 수집 (엑셀 단가표, BOM, 견적서 등)
|
||
|
|
│ └── 음성/사진 수집 (공정 설명, 현장 사진)
|
||
|
|
└── 도메인 간 크로스체크 (BOM 부품이 품목마스터에 있는지 등)
|
||
|
|
|
||
|
|
4단계: 검증 및 확정
|
||
|
|
├── AI가 수집된 전체 데이터 정합성 검증
|
||
|
|
├── 누락 항목 리스트 생성 → 보충 인터뷰
|
||
|
|
├── 고객 확인 (수집 결과 리뷰)
|
||
|
|
└── 최종 확정 → SAM 설정 자동 생성
|
||
|
|
```
|
||
|
|
|
||
|
|
### 3.2 AI 인터뷰 순서 (의존성 기반 자동 결정)
|
||
|
|
|
||
|
|
```
|
||
|
|
Phase A: 기초 (먼저 수집해야 나머지가 가능)
|
||
|
|
① 회사 개요 + 업종 특성
|
||
|
|
② 품목 분류 체계
|
||
|
|
③ 주요 제품 목록 + 코드 체계
|
||
|
|
|
||
|
|
Phase B: 설계/구조 (Phase A 완료 후)
|
||
|
|
④ BOM 구조 (← 품목 분류 필요)
|
||
|
|
⑤ 치수/변수 계산 (← 제품 목록 필요)
|
||
|
|
⑥ 부품 구성 상세 (← BOM 필요)
|
||
|
|
|
||
|
|
Phase C: 가격/수량 (Phase B 완료 후)
|
||
|
|
⑦ 단가 체계 (← 부품 목록 필요)
|
||
|
|
⑧ 수량 수식 (← BOM + 치수 필요)
|
||
|
|
⑨ 조건부 로직 (← 부품 + 단가 필요)
|
||
|
|
|
||
|
|
Phase D: 프로세스 (Phase A 이후 독립적)
|
||
|
|
⑩ 생산 공정 (← 제품/BOM 참조)
|
||
|
|
⑪ 품질 관리 (← 공정 참조)
|
||
|
|
⑫ 물류/재고 (← 품목 참조)
|
||
|
|
|
||
|
|
Phase E: 영업/관리 (언제든 가능)
|
||
|
|
⑬ 영업/고객
|
||
|
|
⑭ 견적서 양식 (← 단가+수량 완료 후 최적)
|
||
|
|
⑮ 회계/인사 (독립적)
|
||
|
|
⑯ 결재/문서 (독립적)
|
||
|
|
```
|
||
|
|
|
||
|
|
### 3.3 도메인 간 크로스체크 규칙
|
||
|
|
|
||
|
|
AI가 여러 도메인의 답변을 비교하여 모순/누락을 감지한다:
|
||
|
|
|
||
|
|
| 체크 규칙 | 비교 대상 | 감지 예시 |
|
||
|
|
|---------|---------|---------|
|
||
|
|
| BOM 부품 ⊂ 품목마스터 | bom_structure ↔ product_classification | "BOM에 '연기차단재'가 있는데 품목 분류에 없음" |
|
||
|
|
| 단가 품목 = BOM 품목 | pricing_structure ↔ bom_structure | "단가표에 '모터 500K'가 있는데 BOM에서 미사용" |
|
||
|
|
| 공식 변수 = 치수 변수 | quantity_formula ↔ dimension_formula | "수량 공식에 'H2'를 쓰는데 치수에서 미정의" |
|
||
|
|
| 공정 부품 ⊂ BOM 부품 | production_process ↔ bom_structure | "조립 공정에서 '브라켓'을 쓰는데 BOM에 없음" |
|
||
|
|
| 검사 항목 ⊂ 품목 | quality_control ↔ product_classification | "수입검사 대상에 없는 자재 발견" |
|
||
|
|
| 견적 항목 = 단가 항목 | quote_format ↔ pricing_structure | "견적서 '운반비'에 대한 단가 기준 미수집" |
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 4. SAM Knowledge Base 파일 구조
|
||
|
|
|
||
|
|
### 4.1 프롬프트 관리 체계
|
||
|
|
|
||
|
|
SKB를 코드로 관리하여 시스템 프롬프트에 동적으로 주입한다:
|
||
|
|
|
||
|
|
```
|
||
|
|
mng/config/
|
||
|
|
interview_knowledge/
|
||
|
|
system_prompt_base.md ← AI 역할 정의 + SAM 개요
|
||
|
|
modules/
|
||
|
|
01_tenant_setup.md ← 테넌트/부서/권한 지식
|
||
|
|
02_item_classification.md ← 품목분류 + 카테고리 지식
|
||
|
|
03_bom_design.md ← 설계/BOM/모델 지식
|
||
|
|
04_pricing.md ← 단가/원가 지식
|
||
|
|
05_quotation.md ← 견적/수주 지식
|
||
|
|
06_production.md ← 생산/공정 지식
|
||
|
|
07_quality.md ← 품질/검사 지식
|
||
|
|
08_inventory.md ← 재고/물류 지식
|
||
|
|
09_finance.md ← 매출/매입/회계 지식
|
||
|
|
10_hr.md ← 인사/급여 지식
|
||
|
|
11_approval.md ← 결재/문서 지식
|
||
|
|
12_barobill.md ← 바로빌/세금계산서 지식
|
||
|
|
presets/
|
||
|
|
blinds.md ← 블라인드/스크린 업종
|
||
|
|
metal_fabrication.md ← 금속가공 업종
|
||
|
|
machine_assembly.md ← 기계조립 업종
|
||
|
|
food_manufacturing.md ← 식품 제조 업종
|
||
|
|
construction.md ← 건설/시공 업종
|
||
|
|
general_manufacturing.md ← 범용 제조업
|
||
|
|
mapping_rules/
|
||
|
|
answer_to_table.md ← 답변→테이블 매핑 규칙
|
||
|
|
validation_rules.md ← 검증 규칙
|
||
|
|
cross_check_rules.md ← 도메인 간 크로스체크
|
||
|
|
```
|
||
|
|
|
||
|
|
### 4.2 프롬프트 주입 전략
|
||
|
|
|
||
|
|
전체 SKB를 한번에 넣으면 토큰 낭비이므로, **현재 도메인에 필요한 지식만 선별 주입**한다:
|
||
|
|
|
||
|
|
```
|
||
|
|
인터뷰 시작
|
||
|
|
↓
|
||
|
|
system_prompt_base.md (항상)
|
||
|
|
+ 업종 프리셋 (해당 시)
|
||
|
|
+ 현재 도메인 모듈 (예: 04_pricing.md)
|
||
|
|
+ 이전 도메인 수집 결과 요약 (크로스체크용)
|
||
|
|
+ 매핑 규칙 (answer_to_table.md 해당 부분)
|
||
|
|
↓
|
||
|
|
도메인 전환 시 → 프롬프트 교체
|
||
|
|
```
|
||
|
|
|
||
|
|
### 4.3 모듈 지식 파일 구조 (예시: 04_pricing.md)
|
||
|
|
|
||
|
|
```markdown
|
||
|
|
# SAM 단가 체계 지식
|
||
|
|
|
||
|
|
## SAM 테이블 구조
|
||
|
|
- price_histories: 품목별 시간축 단가 (effective_from, effective_to)
|
||
|
|
- pricing_rules: 계산 규칙 (면적기반, 중량기반, 수량기반)
|
||
|
|
- 관련: products, materials, categories
|
||
|
|
|
||
|
|
## 필수 수집 항목
|
||
|
|
□ 단가 관리 주체 (엑셀/ERP/구두)
|
||
|
|
□ 단가 변경 주기
|
||
|
|
□ 단가 구성요소 (재료비, 가공비, 관리비, 이윤)
|
||
|
|
□ 고객별/거래처별 차등 여부
|
||
|
|
□ LOSS율 적용 방식
|
||
|
|
□ 마진율 설정 방식
|
||
|
|
□ 환율 적용 품목 여부
|
||
|
|
□ 할인 정책
|
||
|
|
|
||
|
|
## 매핑 규칙
|
||
|
|
- "단가 변경 주기: 분기" → tenants.options.pricing_update_cycle = "quarterly"
|
||
|
|
- "면적 기반 단가 45,000원/㎡" → price_histories (unit=㎡, price=45000)
|
||
|
|
- "LOSS율 5%" → bom_template_items.waste_rate = 5.0
|
||
|
|
|
||
|
|
## 검증 규칙
|
||
|
|
- 단가가 0원인 품목이 BOM에 존재하면 경고
|
||
|
|
- 단가 변경 주기 미수집 시 → 반드시 재질문
|
||
|
|
- 마진율 + LOSS율 합계가 30% 초과 시 → 확인 질문
|
||
|
|
|
||
|
|
## 업종별 차이
|
||
|
|
- 블라인드: 면적/길이 기반 단가가 주력
|
||
|
|
- 금속가공: 중량 기반 + 가공비 별도
|
||
|
|
- 식품: 원재료 시세 연동, 환율 영향
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 5. 구현 계획
|
||
|
|
|
||
|
|
### 5.1 파일 구조
|
||
|
|
|
||
|
|
| 파일 | 역할 |
|
||
|
|
|------|------|
|
||
|
|
| `config/interview_knowledge/*.md` | SKB 지식 파일 (12개 모듈 + 프리셋 + 매핑) |
|
||
|
|
| `AiInterviewService.php` | 기존 서비스에 SKB 로딩 + 크로스체크 추가 |
|
||
|
|
| `InterviewKnowledgeLoader.php` | 도메인별 프롬프트 조립 서비스 |
|
||
|
|
| `InterviewCrossChecker.php` | 도메인 간 정합성 검증 서비스 |
|
||
|
|
| `InterviewQuestionMasterSeeder.php` | SAM 테이블 기반 질문 자동 생성 |
|
||
|
|
|
||
|
|
### 5.2 구현 단계
|
||
|
|
|
||
|
|
#### Step 1: SKB 지식 파일 작성 (12개 모듈)
|
||
|
|
|
||
|
|
SAM의 실제 테이블/필드/관계를 분석하여 각 모듈별 지식 파일을 작성한다. 각 파일에는:
|
||
|
|
- SAM 테이블 구조 (실제 컬럼 기반)
|
||
|
|
- 필수 수집 항목 체크리스트
|
||
|
|
- 답변→테이블 매핑 규칙
|
||
|
|
- 검증 규칙
|
||
|
|
- 업종별 차이
|
||
|
|
|
||
|
|
#### Step 2: 업종 프리셋 작성 (6개)
|
||
|
|
|
||
|
|
업종별 일반 패턴, SAM 활성화 모듈 추천, 인터뷰 우선순위를 정의한다.
|
||
|
|
|
||
|
|
#### Step 3: InterviewKnowledgeLoader 구현
|
||
|
|
|
||
|
|
```php
|
||
|
|
class InterviewKnowledgeLoader
|
||
|
|
{
|
||
|
|
// 현재 도메인에 필요한 지식만 선별 로딩
|
||
|
|
public function buildPrompt(string $domain, ?string $preset, array $previousResults): string
|
||
|
|
|
||
|
|
// 이전 도메인 결과를 요약하여 크로스체크 컨텍스트 생성
|
||
|
|
public function buildCrossCheckContext(int $projectId): string
|
||
|
|
|
||
|
|
// 업종 프리셋 로딩
|
||
|
|
public function loadPreset(string $presetCode): string
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
#### Step 4: InterviewCrossChecker 구현
|
||
|
|
|
||
|
|
```php
|
||
|
|
class InterviewCrossChecker
|
||
|
|
{
|
||
|
|
// 도메인 간 정합성 검증
|
||
|
|
public function validate(int $projectId): array
|
||
|
|
|
||
|
|
// BOM 부품이 품목마스터에 있는지 확인
|
||
|
|
public function checkBomVsItems(array $bomData, array $itemData): array
|
||
|
|
|
||
|
|
// 단가 품목이 BOM에 있는지 확인
|
||
|
|
public function checkPricingVsBom(array $pricingData, array $bomData): array
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
#### Step 5: AiInterviewService 개선
|
||
|
|
|
||
|
|
기존 `buildSystemPrompt()`을 `InterviewKnowledgeLoader`로 교체:
|
||
|
|
|
||
|
|
```php
|
||
|
|
// 변경 전
|
||
|
|
$systemPrompt = $this->buildSystemPrompt($domain, $category, $allQuestions);
|
||
|
|
|
||
|
|
// 변경 후
|
||
|
|
$loader = new InterviewKnowledgeLoader();
|
||
|
|
$systemPrompt = $loader->buildPrompt(
|
||
|
|
domain: $domain,
|
||
|
|
preset: $project->company_type, // 업종 프리셋
|
||
|
|
previousResults: $this->getPreviousDomainResults($projectId)
|
||
|
|
);
|
||
|
|
```
|
||
|
|
|
||
|
|
#### Step 6: 프로젝트 생성 시 업종 선택 UI 추가
|
||
|
|
|
||
|
|
프로젝트 생성 모달에 업종 프리셋 선택 드롭다운 추가.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 6. 기대 효과
|
||
|
|
|
||
|
|
### 6.1 정량적
|
||
|
|
|
||
|
|
| 지표 | 현재 | 목표 |
|
||
|
|
|------|:----:|:----:|
|
||
|
|
| 인터뷰 1회 소요 시간 | 3~4시간 | 1.5~2시간 |
|
||
|
|
| 누락 항목 발견율 | 수동 검토 | 95% 자동 감지 |
|
||
|
|
| SAM 설정 자동 매핑율 | 0% | 70% |
|
||
|
|
| 재방문 인터뷰 필요 횟수 | 2~3회 | 0~1회 |
|
||
|
|
|
||
|
|
### 6.2 정성적
|
||
|
|
|
||
|
|
- 신입 컨설턴트도 AI 인터뷰어와 함께 현장 방문하면 베테랑 수준의 정보 수집 가능
|
||
|
|
- 업종별 프리셋으로 고객이 "이런 것도 아시네요"라는 신뢰감 획득
|
||
|
|
- 인터뷰 결과가 바로 SAM 설정으로 변환되므로 구축 기간 단축
|
||
|
|
- 도메인 간 크로스체크로 "나중에 발견되는 빠진 정보" 방지
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 관련 문서
|
||
|
|
|
||
|
|
- [인터뷰 시나리오 초고도화 계획](../plans/interview-ultra-advance-plan.md) — Phase 1~4 구현 계획
|
||
|
|
- [외부 API Fake 서비스 정책](../dev/standards/fake-service-policy.md) — 데모 시연용 Fake 패턴
|
||
|
|
- [바로빌 시스템](barobill/README.md) — 바로빌 연동 구조
|
||
|
|
- [품목 정책](../rules/item-policy.md) — 품목 관리 비즈니스 규칙
|
||
|
|
- [단가 정책](../rules/pricing-policy.md) — 6 Depth 단가 체계
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
**최종 업데이트**: 2026-03-22
|