docs: [plans] 인터뷰 시나리오 초고도화 계획서 + INDEX 등록

This commit is contained in:
김보곤
2026-03-22 22:49:09 +09:00
parent a5542a762a
commit fc161f0224

View File

@@ -0,0 +1,223 @@
# 인터뷰 시나리오 초고도화 계획
> **작성일**: 2026-03-22
> **상태**: 개발 중
> **목표**: 현장의 모든 정보를 빠짐없이 수집하고, AI가 분석하여 SAM 설정을 자동 생성하는 완전한 시스템
---
## 1. 개요
### 1.1 현재 상태
- 8개 도메인, 약 80개 질문 (제조업 견적 중심)
- 체크리스트 방식 인터뷰 (수동)
- 첨부파일 업로드만 가능 (분석 없음)
- 음성/AI 기능 미구현
- 결과물 자동 생성 없음
### 1.2 목표 상태
```
현장 방문
AI 대화형 인터뷰 (음성+텍스트)
+ 사진/엑셀/PDF 현장 수집
+ AI 실시간 후속질문
AI 자동 분석
SAM 테넌트 설정 자동 생성
(BOM, 단가, 공식, 품목, 견적양식)
검증 및 배포
```
---
## 2. Phase 1 — 질문 깊이 강화
### 2.1 기존 8개 도메인 질문 확충
| 도메인 | 현재 질문수 | 목표 질문수 | 추가 영역 |
|--------|:---------:|:---------:|----------|
| 제품 분류 | ~11 | ~20 | 인증/규격 상세, 커스텀 옵션, 변형 모델 |
| BOM 구조 | ~10 | ~20 | 다단계 BOM, 대체품, 공정별 투입, 반제품 |
| 치수/변수 | ~10 | ~18 | 복합 공식, 조건부 마진, 허용오차 |
| 부품 구성 | ~11 | ~20 | 공급업체, 리드타임, 안전재고, 검사기준 |
| 단가 체계 | ~12 | ~22 | 원가 구성요소, 환율, 할인정책, 계약단가 |
| 수량 수식 | ~9 | ~16 | LOSS율 세분화, 최소발주, 포장단위 |
| 조건부 로직 | ~7 | ~15 | 다중 조건 조합, 예외 규칙, 우선순위 |
| 견적서 양식 | ~10 | ~18 | 다중 양식, 언어별, 고객맞춤, 첨부서류 |
### 2.2 신규 도메인 추가 (4개)
| 도메인 | 코드 | 질문수 | 핵심 수집 내용 |
|--------|------|:-----:|--------------|
| 생산 공정 | `production_process` | ~20 | 공정 흐름, 작업장, 설비, 작업시간, 납기 |
| 품질 관리 | `quality_control` | ~15 | 검사 기준, 불량 유형, 시정조치, 인증 요구 |
| 물류/재고 | `logistics_inventory` | ~15 | 입출고, 창고, 안전재고, 바코드, 운송 |
| 영업/고객 | `sales_customer` | ~15 | 거래처, 계약, 결제조건, A/S, CRM |
### 2.3 구현 방법
- `InterviewQuestionMasterSeeder` 전면 개편
- 기존 질문 유지 + 세부 질문 추가
- 신규 4개 도메인 카테고리/템플릿/질문 생성
- `depends_on` 조건부 질문 활성화
---
## 3. Phase 2 — AI 대화형 인터뷰 엔진
### 3.1 아키텍처
```
사용자 (인터뷰어)
↓ 텍스트/음성 입력
┌──────────────────────────────┐
│ AiInterviewController │
│ ↓ │
│ AiInterviewService │
│ ├─ 도메인 컨텍스트 로드 │
│ ├─ 이전 답변 분석 │
│ ├─ Gemini API 호출 │
│ │ ├─ 시스템 프롬프트 │
│ │ ├─ 도메인 질문 목록 │
│ │ ├─ 이전 대화 히스토리 │
│ │ └─ 현재 답변 │
│ ├─ AI 응답 파싱 │
│ │ ├─ 후속 질문 추출 │
│ │ ├─ 구조화 데이터 추출 │
│ │ └─ 누락 정보 감지 │
│ └─ 답변 저장 │
└──────────────────────────────┘
interview_ai_conversations (신규 테이블)
interview_answers (구조화 저장)
interview_knowledge (자동 추출)
```
### 3.2 새 테이블
**interview_ai_conversations**
```sql
id, tenant_id, interview_session_id,
role (system|user|assistant),
content (text), structured_data (json),
domain, tokens_used, model_used,
created_at
```
### 3.3 AI 인터뷰 흐름
```
1. 도메인 선택 (예: "BOM 구조")
2. AI가 첫 질문 생성 (도메인 맥락 + 마스터 질문 기반)
3. 사용자 답변 (텍스트 또는 음성→텍스트)
4. AI가 답변 분석:
a. 구조화 데이터 추출 → answer_data에 저장
b. 누락 정보 감지 → 후속 질문 생성
c. 모순/불명확 감지 → 확인 질문 생성
5. 도메인 완료도 판정 (모든 핵심 질문 커버 시)
6. 다음 도메인으로 자동 전환 또는 심화 질문
```
### 3.4 프롬프트 전략
- 시스템 프롬프트: 제조업 ERP/MES 컨설턴트 역할
- 도메인별 질문 목록을 컨텍스트로 제공
- 이전 답변 요약을 포함
- 구조화 데이터 추출 형식 지정 (JSON)
- 한국어 자연스러운 대화체
---
## 4. Phase 3 — 현장 데이터 수집 도구
### 4.1 음성 녹음 + STT
- Web Audio API (MediaRecorder)
- 녹음 파일 서버 업로드 (wav/webm)
- Google Speech-to-Text 또는 Whisper API 연동
- 변환된 텍스트를 AI 인터뷰에 입력으로 전달
### 4.2 사진 촬영/업로드
- 모바일 카메라 연동 (input[type=file] capture)
- 사진에 메모/태그 추가
- AI 이미지 분석 (Gemini Vision)
- 공정 흐름도 사진 → 공정 순서 추출
- 제품 사진 → 부품 목록 추출
- 엑셀 스크린샷 → 데이터 추출
### 4.3 엑셀/PDF 자동 파싱
- 엑셀: PhpSpreadsheet로 파싱
- 단가표 → 단가 구조 자동 추출
- BOM 표 → BOM 트리 자동 구성
- 견적서 양식 → 양식 구조 분석
- PDF: 텍스트 추출 + AI 분석
- 파싱 결과를 interview_knowledge에 자동 저장
---
## 5. Phase 4 — 결과물 자동화
### 5.1 자동 생성 대상
| 대상 | 소스 도메인 | 생성물 |
|------|-----------|--------|
| 품목 분류 | product_classification | categories, category_fields |
| BOM 구조 | bom_structure | bom_templates, bom_template_items |
| 계산 공식 | dimension_formula | model_parameters, formulas |
| 단가 테이블 | pricing_structure | price_histories, pricing_rules |
| 견적 양식 | quote_format | quote_templates |
| 공정 흐름 | production_process | processes, process_steps |
### 5.2 생성 파이프라인
```
interview_knowledge (검증된 지식)
TenantConfigGenerator
├─ CategoryGenerator → categories, fields
├─ BomGenerator → bom_templates, items
├─ FormulaGenerator → calculation rules
├─ PricingGenerator → price tables
├─ QuoteGenerator → quote templates
└─ ProcessGenerator → process definitions
생성된 설정 미리보기 (관리자 검토)
테넌트에 적용 (deploy)
```
### 5.3 검증 단계
- 생성된 설정을 미리보기로 표시
- 관리자가 수정/보완 가능
- 확정 후 테넌트에 일괄 적용
- 적용 이력 기록
---
## 6. 구현 순서
| 순서 | 작업 | 파일 |
|:----:|------|------|
| 1 | 마스터 질문 시더 전면 개편 | `InterviewQuestionMasterSeeder.php` |
| 2 | AI 대화 테이블 마이그레이션 | `create_interview_ai_conversations.php` |
| 3 | AI 인터뷰 Service | `AiInterviewService.php` |
| 4 | AI 인터뷰 Controller | `AiInterviewController.php` |
| 5 | AI 인터뷰 라우트 | `routes/web.php` |
| 6 | AI 인터뷰 UI (Blade) | `views/sales/interviews/ai-interview.blade.php` |
| 7 | 음성 녹음 컴포넌트 | JS + Controller |
| 8 | 파일 파싱 서비스 | `InterviewFileAnalysisService.php` |
| 9 | 결과물 생성 서비스 | `TenantConfigGeneratorService.php` |
| 10 | 결과물 미리보기 UI | Blade view |
---
**최종 업데이트**: 2026-03-22